現(xiàn)在單片機(jī)的應(yīng)用非常普遍,發(fā)展也很迅猛,學(xué)習(xí)和使用單片機(jī)的人員在不斷增加。雖然新型微控制器在不斷推出,但51單片機(jī)價格低廉、易學(xué)易用、性能成熟,在家電和工業(yè)控制中應(yīng)用很廣,而且學(xué)好了5l單片機(jī),也就容易學(xué)好其他的新型微控制器,所以現(xiàn)在大中專院校學(xué)生還是以學(xué)習(xí)51單片機(jī)為主。為了幫助單片機(jī)的初學(xué)者快速入門和提高,我們總結(jié)教學(xué)和輔導(dǎo)學(xué)生參加技能大賽的經(jīng)驗(yàn)和教訓(xùn),充分考慮初學(xué)者的認(rèn)知特點(diǎn),編寫了本書。
本書具有以下特點(diǎn):
、侔聪纫缀箅y的順序編排,符合初學(xué)者的特點(diǎn)。
、谥R和技能都圍繞著具體的應(yīng)用(開發(fā))示例展開,初學(xué)者能感受到學(xué)習(xí)單片機(jī)的應(yīng)用價值,能看到學(xué)習(xí)效果,體會到成功的喜悅,容易激發(fā)進(jìn)一步學(xué)習(xí)、探索的積極性。
、蹫榱顺鯇W(xué)者閱讀輕松,本書針對可能對初學(xué)者造成閱讀障礙的內(nèi)容做了詳細(xì)的解釋。讀者可以選擇性地閱讀(若能看懂,則不需要看解釋)。
、苊空潞竺娓接械湫陀(xùn)練題。多數(shù)訓(xùn)練題很典型,應(yīng)用價值較高,如全自動洗衣機(jī)、微波爐、點(diǎn)焊機(jī)、生產(chǎn)線的控制等。有些訓(xùn)練題是省、市技能大賽的試題。讀者可先行自己獨(dú)立去做,若有障礙,可閱讀本書所附學(xué)習(xí)資料上的訓(xùn)練題參考程序。
、荼緯綄W(xué)習(xí)資料含一些常用的單片機(jī)開發(fā)工具軟件、本書部分程序代碼源文件(c文件)、本書訓(xùn)練題參考程序代碼、部分省級比賽和國家級比賽試題及參考程序代碼、YL236單片機(jī)實(shí)訓(xùn)考核裝置的模塊圖片及相應(yīng)介紹,以及篇幅所限而不能在書上表達(dá)的內(nèi)容(如多機(jī)通信、PID算法、無線模塊、模塊化編程等)。
、薇緯黜(xiàng)目的程序代碼都已在YL一236單片機(jī)實(shí)訓(xùn)考核裝置上驗(yàn)證。讀者若沒有YL一236單片機(jī)實(shí)訓(xùn)考核裝置,也可以將任務(wù)書略作修改后在其他實(shí)驗(yàn)板上做實(shí)驗(yàn),還可以用仿真軟件模擬做實(shí)驗(yàn)(注:不同的單片機(jī)實(shí)驗(yàn)板,思想和方法實(shí)質(zhì)是一樣的。并不是一定要某種實(shí)驗(yàn)板才能學(xué)單片機(jī)或者才能參考某本書)。
、弑緯夸涊^為詳細(xì),有利于需要選擇性閱讀的讀者查閱相關(guān)知識點(diǎn)。
本書由長陽職教中心何應(yīng)俊、曾祥云主編。參編人員有長陽職教中心熊維、柯燕、董玉芳、楊昌盛。
由于編者水平有限,書中錯、漏和不妥之處在所難免,請廣大讀者批評指正!
編者
前言
第1篇 入門篇
第1章 學(xué)習(xí)單片機(jī)的必備基礎(chǔ)
1.1單片機(jī)的基本概念
1.1.1初步了解單片機(jī)
1.1.2熟悉51單片機(jī)的引腳功能
1.1.3理解單片機(jī)的最小系統(tǒng)
1.2不同數(shù)制及相互轉(zhuǎn)換簡介
1.2.1十進(jìn)制數(shù)
1.2.2二進(jìn)制數(shù)
1.2.3十六進(jìn)制數(shù)
1.2.4八進(jìn)制數(shù)
1.2.5各種數(shù)制之間相互轉(zhuǎn)換的方法
1.3搭建51單片機(jī)開發(fā)環(huán)境
1.3.1硬件開發(fā)系統(tǒng)
1.3.2搭建軟件開發(fā)環(huán)境(Keil μVision)
1.3.3Keil μVision4的最基本應(yīng)用--第一個C51工程
第2章 花樣流水燈和電動機(jī)的控制
2.1花樣流水燈電路精講
2.1.1花樣流水燈電路原理圖
2.1.2單片機(jī)控制花樣流水燈工作原理簡介
2.2相關(guān)的C51語言知識精講
2.2.1數(shù)據(jù)類型概述
2.2.2常量和變量
2.2.3標(biāo)識符和關(guān)鍵字
2.2.4C51的函數(shù)簡介
2.2.5單片機(jī)C語言程序的基本結(jié)構(gòu)
2.2.6再論局部變量與全局變量
2.2.7C語言的算術(shù)運(yùn)算符和算術(shù)表達(dá)式
2.2.8關(guān)系運(yùn)算符和關(guān)系表達(dá)式
2.2.9自增減運(yùn)算符
2.2.10單片機(jī)的幾個周期介紹
2.2.11while循環(huán)語句和for循環(huán)語句
2.2.12不帶參數(shù)和帶參數(shù)函數(shù)的寫法和調(diào)用
2.3"位操作"控制流水燈
2.3.1編程思路
2.3.2參考程序
2.3.3部分程序代碼詳解
2.4字節(jié)控制(即并行I/O口控制)流水燈
2.4.1編程思路
2.4.2參考程序
2.5使用移位運(yùn)算符控制流水燈
2.5.1邏輯運(yùn)算符和位運(yùn)算符
2.5.2使用移位運(yùn)算符控制流水燈的編程示例
2.6使用庫函數(shù)實(shí)現(xiàn)流水燈
2.6.1循環(huán)移位函數(shù)
2.6.2使用循環(huán)移位函數(shù)實(shí)現(xiàn)流水燈
2.7使用條件語句實(shí)現(xiàn)流水燈
2.7.1條件語句
2.7.2使用if語句實(shí)現(xiàn)流水燈
2.8使用swtich語句控制流水燈
2.8.1switch語句介紹
2.8.2使用swtich語句控制流水燈
2.9使用數(shù)組控制流水燈
2.9.1C51的數(shù)組
2.9.2使用數(shù)組控制流水燈
2.10使用指針控制流水燈
2.10.1指針的概念和用法
2.10.2使用指針控制流水燈
2.11開關(guān)與燈的靈活控制
2.11.1鈕子開關(guān)控制單片機(jī)
2.11.2輕觸按鍵控制單片機(jī)
2.12按鈕控制電動機(jī)的起動、停止、順序起動、正反轉(zhuǎn)、PWM調(diào)速
2.12.1按鈕控制直流電動機(jī)和交流電動機(jī)的起動和停止
2.12.2按鍵控制交流電動機(jī)的順序起動和正反轉(zhuǎn)
2.13典型訓(xùn)練任務(wù)
第3章 數(shù)碼管數(shù)字鐘
3.1數(shù)碼管的顯示原理
3.2數(shù)碼管的靜態(tài)顯示
3.3數(shù)碼管的動態(tài)顯示
3.3.1YL-236單片機(jī)實(shí)訓(xùn)臺數(shù)碼管顯示電路
3.3.2數(shù)碼管動態(tài)顯示入門示例
3.4數(shù)碼管24h時鐘
3.4.1單片機(jī)的中斷系統(tǒng)
3.4.2定時器T0和T1工作方式1應(yīng)用示例
3.4.3獨(dú)立按鍵調(diào)時的數(shù)字鐘
3.5典型訓(xùn)練任務(wù)
第4章 綜合應(yīng)用之物料傳送機(jī)模擬裝置
4.1物料傳送機(jī)模擬裝置
4.1.1物料傳送機(jī)模擬裝置簡介
4.1.2硬件連接
4.1.3程序代碼示例
4.2典型訓(xùn)練任務(wù)
第2篇 提高篇
第5章 單片機(jī)的串行通信
5.1串行通信的基礎(chǔ)知識
5.1.1串行通信標(biāo)準(zhǔn)和串行通信接口
5.1.2波特率
5.1.3同步通信與異步通信簡介
5.1.4硬件連接
5.1.5讀寫串行口數(shù)據(jù)
5.1.6串行控制與狀態(tài)寄存器
5.1.7串行口的工作方式
5.2串口通信設(shè)置
5.2.1計(jì)算機(jī)端串口通信設(shè)置
5.2.2單片機(jī)端串口通信的設(shè)置
5.3單片機(jī)串口通信的基礎(chǔ)程序范例
5.4串口通信應(yīng)用示例(用串口校準(zhǔn)時間的數(shù)字鐘)
第6章 自動恒溫箱
6.1自動恒溫箱介紹
6.2LED點(diǎn)陣顯示屏的應(yīng)用
6.2.1LED點(diǎn)陣顯示屏基礎(chǔ)
6.2.2YL-236單片機(jī)實(shí)訓(xùn)臺LED點(diǎn)陣顯示屏
6.2.3LED點(diǎn)陣顯示屏的編程
6.3DS18B20溫度傳感器
6.3.1DS18B20簡介
6.3.2DS18B20的控制方法
6.3.3DS18B20的編程方法示例
6.4自動恒溫箱的實(shí)現(xiàn)
6.5典型訓(xùn)練任務(wù)
第7章 溫度及市電電壓監(jiān)測儀
7.1溫度及市電電壓監(jiān)測儀介紹
7.2A-D轉(zhuǎn)換
7.2.1A-D和D-A轉(zhuǎn)換簡介
7.2.2典型A-D轉(zhuǎn)換芯片ADC0809介紹
7.2.3ADC0809應(yīng)用示例(I/O口方式編程)
7.3LM35溫度傳感器的認(rèn)識和使用
7.3.1LM35的外形及特點(diǎn)
7.3.2LM35的典型應(yīng)用電路分析
7.3.3LM35的應(yīng)用電路連接及溫度轉(zhuǎn)換編程
7.4LCD1602液晶顯示器的認(rèn)識和使用
7.4.1LCD1602液晶顯示器引腳功能
7.4.2LCD1602模塊內(nèi)部結(jié)構(gòu)和工作原理
7.4.3LCD1602的時序
7.4.4LCD1602指令說明
7.4.5LCD1602的編程
7.5電壓源介紹
7.6電子溫度計(jì)及市電電壓監(jiān)測儀的程序代碼示例及分析
7.7知識鏈接D-A轉(zhuǎn)換芯片DAC0832及應(yīng)用
7.7.1DAC0832的內(nèi)部結(jié)構(gòu)和引腳功能
7.7.2YL?236實(shí)訓(xùn)臺D-A轉(zhuǎn)換模塊介紹
7.7.3ADC0832采用I/O方式編程示例
7.7.4ADC0832采用擴(kuò)展地址方式編程示例
7.8典型訓(xùn)練任務(wù)
第8章 電子密碼鎖(液晶顯示器、矩陣鍵盤的綜合應(yīng)用)
8.1電子密碼鎖簡介
8.2矩陣鍵盤的應(yīng)用方法
8.2.1矩陣鍵盤的結(jié)構(gòu)
8.2.2矩陣鍵盤的編程方法--掃描法和利用二維數(shù)組存儲鍵值
8.3LCD12864
8.3.1LCD12864的引腳說明
8.3.2YL-236單片機(jī)實(shí)訓(xùn)臺LCD12864模塊介紹
8.3.3LCD12864的讀寫時序和指令說明
8.3.4LCD12864的點(diǎn)陣結(jié)構(gòu)
8.3.5LCD12864的指令說明
8.3.6LCD12864字模的獲取
8.3.7LCD12864的應(yīng)用示例
8.4電子密碼鎖的實(shí)現(xiàn)
8.4.1硬件連接及編程思路和技巧
8.4.2程序代碼示例及講析
8.5拓展
8.5.1LCD12864的跨屏顯示
8.5.2帶字庫的LCD12864的顯示編程
8.6典型訓(xùn)練任務(wù)
第9章 步進(jìn)電動機(jī)的控制
9.1步進(jìn)電動機(jī)簡介
9.2步進(jìn)電動機(jī)的參數(shù)
9.3YL-236實(shí)訓(xùn)臺的步進(jìn)電動機(jī)模塊介紹
9.3.1步進(jìn)電動機(jī)及驅(qū)動器
9.3.2步進(jìn)電動機(jī)位移裝置與保護(hù)裝置
9.4步進(jìn)電動機(jī)的控制示例
9.4.1步進(jìn)電動機(jī)模塊游標(biāo)的歸零
9.4.2步進(jìn)電動機(jī)的定位
9.5典型訓(xùn)練任務(wù)
第10章 單片機(jī)I/O口的擴(kuò)展
10.18255芯片的認(rèn)識及應(yīng)用
10.1.18255芯片的認(rèn)識
10.1.28255芯片的典型應(yīng)用示例
10.274LS245芯片及其應(yīng)用
10.3端口復(fù)用的一些經(jīng)驗(yàn)
10.3.1端口復(fù)用的一些具體策略
10.3.2使用8255芯片時單片機(jī)及8255芯片的端口分配建議
第3篇 綜合應(yīng)用篇
第11章 方便面生產(chǎn)線控制系統(tǒng)模擬
11.1方便面模擬生產(chǎn)線任務(wù)書
11.2方便面模擬生產(chǎn)線的實(shí)現(xiàn)
11.2.1方便面模擬生產(chǎn)線硬件模塊接線和編程思路
11.2.2程序代碼示例
11.3模塊化編程
第12章 煤礦自動運(yùn)輸車模擬控制系統(tǒng)
12.1煤礦自動運(yùn)輸車模擬裝置系統(tǒng)說明
12.2煤礦自動運(yùn)輸車模擬系統(tǒng)的實(shí)現(xiàn)
12.2.1煤礦自動運(yùn)輸車模擬系統(tǒng)硬件接線
12.2.2煤礦自動運(yùn)輸車模擬系統(tǒng)的程序代碼示例及解釋
附錄 C51中的關(guān)鍵字