現(xiàn)在單片機的應(yīng)用非常普遍,發(fā)展也很迅猛,學(xué)習(xí)和使用單片機的人員在不斷增加。雖然新型微控制器在不斷推出,但51單片機價格低廉、易學(xué)易用、性能成熟,在家電和工業(yè)控制中應(yīng)用很廣,而且學(xué)好了5l單片機,也就容易學(xué)好其他的新型微控制器,所以現(xiàn)在大中專院校學(xué)生還是以學(xué)習(xí)51單片機為主。為了幫助單片機的初學(xué)者快速入門和提高,我們總結(jié)教學(xué)和輔導(dǎo)學(xué)生參加技能大賽的經(jīng)驗和教訓(xùn),充分考慮初學(xué)者的認(rèn)知特點,編寫了本書。
本書具有以下特點:
、侔聪纫缀箅y的順序編排,符合初學(xué)者的特點。
、谥R和技能都圍繞著具體的應(yīng)用(開發(fā))示例展開,初學(xué)者能感受到學(xué)習(xí)單片機的應(yīng)用價值,能看到學(xué)習(xí)效果,體會到成功的喜悅,容易激發(fā)進一步學(xué)習(xí)、探索的積極性。
、蹫榱顺鯇W(xué)者閱讀輕松,本書針對可能對初學(xué)者造成閱讀障礙的內(nèi)容做了詳細(xì)的解釋。讀者可以選擇性地閱讀(若能看懂,則不需要看解釋)。
、苊空潞竺娓接械湫陀(xùn)練題。多數(shù)訓(xùn)練題很典型,應(yīng)用價值較高,如全自動洗衣機、微波爐、點焊機、生產(chǎn)線的控制等。有些訓(xùn)練題是省、市技能大賽的試題。讀者可先行自己獨立去做,若有障礙,可閱讀本書所附學(xué)習(xí)資料上的訓(xùn)練題參考程序。
、荼緯綄W(xué)習(xí)資料含一些常用的單片機開發(fā)工具軟件、本書部分程序代碼源文件(c文件)、本書訓(xùn)練題參考程序代碼、部分省級比賽和國家級比賽試題及參考程序代碼、YL236單片機實訓(xùn)考核裝置的模塊圖片及相應(yīng)介紹,以及篇幅所限而不能在書上表達的內(nèi)容(如多機通信、PID算法、無線模塊、模塊化編程等)。
、薇緯黜椖康某绦虼a都已在YL一236單片機實訓(xùn)考核裝置上驗證。讀者若沒有YL一236單片機實訓(xùn)考核裝置,也可以將任務(wù)書略作修改后在其他實驗板上做實驗,還可以用仿真軟件模擬做實驗(注:不同的單片機實驗板,思想和方法實質(zhì)是一樣的。并不是一定要某種實驗板才能學(xué)單片機或者才能參考某本書)。
⑦本書目錄較為詳細(xì),有利于需要選擇性閱讀的讀者查閱相關(guān)知識點。
本書由長陽職教中心何應(yīng)俊、曾祥云主編。參編人員有長陽職教中心熊維、柯燕、董玉芳、楊昌盛。
由于編者水平有限,書中錯、漏和不妥之處在所難免,請廣大讀者批評指正!
編者
前言
第1篇 入門篇
第1章 學(xué)習(xí)單片機的必備基礎(chǔ)
1.1單片機的基本概念
1.1.1初步了解單片機
1.1.2熟悉51單片機的引腳功能
1.1.3理解單片機的最小系統(tǒng)
1.2不同數(shù)制及相互轉(zhuǎn)換簡介
1.2.1十進制數(shù)
1.2.2二進制數(shù)
1.2.3十六進制數(shù)
1.2.4八進制數(shù)
1.2.5各種數(shù)制之間相互轉(zhuǎn)換的方法
1.3搭建51單片機開發(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章 花樣流水燈和電動機的控制
2.1花樣流水燈電路精講
2.1.1花樣流水燈電路原理圖
2.1.2單片機控制花樣流水燈工作原理簡介
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單片機C語言程序的基本結(jié)構(gòu)
2.2.6再論局部變量與全局變量
2.2.7C語言的算術(shù)運算符和算術(shù)表達式
2.2.8關(guān)系運算符和關(guān)系表達式
2.2.9自增減運算符
2.2.10單片機的幾個周期介紹
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使用移位運算符控制流水燈
2.5.1邏輯運算符和位運算符
2.5.2使用移位運算符控制流水燈的編程示例
2.6使用庫函數(shù)實現(xiàn)流水燈
2.6.1循環(huán)移位函數(shù)
2.6.2使用循環(huán)移位函數(shù)實現(xiàn)流水燈
2.7使用條件語句實現(xiàn)流水燈
2.7.1條件語句
2.7.2使用if語句實現(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)控制單片機
2.11.2輕觸按鍵控制單片機
2.12按鈕控制電動機的起動、停止、順序起動、正反轉(zhuǎn)、PWM調(diào)速
2.12.1按鈕控制直流電動機和交流電動機的起動和停止
2.12.2按鍵控制交流電動機的順序起動和正反轉(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單片機實訓(xùn)臺數(shù)碼管顯示電路
3.3.2數(shù)碼管動態(tài)顯示入門示例
3.4數(shù)碼管24h時鐘
3.4.1單片機的中斷系統(tǒng)
3.4.2定時器T0和T1工作方式1應(yīng)用示例
3.4.3獨立按鍵調(diào)時的數(shù)字鐘
3.5典型訓(xùn)練任務(wù)
第4章 綜合應(yīng)用之物料傳送機模擬裝置
4.1物料傳送機模擬裝置
4.1.1物料傳送機模擬裝置簡介
4.1.2硬件連接
4.1.3程序代碼示例
4.2典型訓(xùn)練任務(wù)
第2篇 提高篇
第5章 單片機的串行通信
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計算機端串口通信設(shè)置
5.2.2單片機端串口通信的設(shè)置
5.3單片機串口通信的基礎(chǔ)程序范例
5.4串口通信應(yīng)用示例(用串口校準(zhǔn)時間的數(shù)字鐘)
第6章 自動恒溫箱
6.1自動恒溫箱介紹
6.2LED點陣顯示屏的應(yīng)用
6.2.1LED點陣顯示屏基礎(chǔ)
6.2.2YL-236單片機實訓(xùn)臺LED點陣顯示屏
6.2.3LED點陣顯示屏的編程
6.3DS18B20溫度傳感器
6.3.1DS18B20簡介
6.3.2DS18B20的控制方法
6.3.3DS18B20的編程方法示例
6.4自動恒溫箱的實現(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的外形及特點
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電子溫度計及市電電壓監(jiān)測儀的程序代碼示例及分析
7.7知識鏈接D-A轉(zhuǎn)換芯片DAC0832及應(yīng)用
7.7.1DAC0832的內(nèi)部結(jié)構(gòu)和引腳功能
7.7.2YL?236實訓(xùn)臺D-A轉(zhuǎn)換模塊介紹
7.7.3ADC0832采用I/O方式編程示例
7.7.4ADC0832采用擴展地址方式編程示例
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單片機實訓(xùn)臺LCD12864模塊介紹
8.3.3LCD12864的讀寫時序和指令說明
8.3.4LCD12864的點陣結(jié)構(gòu)
8.3.5LCD12864的指令說明
8.3.6LCD12864字模的獲取
8.3.7LCD12864的應(yīng)用示例
8.4電子密碼鎖的實現(xiàn)
8.4.1硬件連接及編程思路和技巧
8.4.2程序代碼示例及講析
8.5拓展
8.5.1LCD12864的跨屏顯示
8.5.2帶字庫的LCD12864的顯示編程
8.6典型訓(xùn)練任務(wù)
第9章 步進電動機的控制
9.1步進電動機簡介
9.2步進電動機的參數(shù)
9.3YL-236實訓(xùn)臺的步進電動機模塊介紹
9.3.1步進電動機及驅(qū)動器
9.3.2步進電動機位移裝置與保護裝置
9.4步進電動機的控制示例
9.4.1步進電動機模塊游標(biāo)的歸零
9.4.2步進電動機的定位
9.5典型訓(xùn)練任務(wù)
第10章 單片機I/O口的擴展
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)驗
10.3.1端口復(fù)用的一些具體策略
10.3.2使用8255芯片時單片機及8255芯片的端口分配建議
第3篇 綜合應(yīng)用篇
第11章 方便面生產(chǎn)線控制系統(tǒng)模擬
11.1方便面模擬生產(chǎn)線任務(wù)書
11.2方便面模擬生產(chǎn)線的實現(xiàn)
11.2.1方便面模擬生產(chǎn)線硬件模塊接線和編程思路
11.2.2程序代碼示例
11.3模塊化編程
第12章 煤礦自動運輸車模擬控制系統(tǒng)
12.1煤礦自動運輸車模擬裝置系統(tǒng)說明
12.2煤礦自動運輸車模擬系統(tǒng)的實現(xiàn)
12.2.1煤礦自動運輸車模擬系統(tǒng)硬件接線
12.2.2煤礦自動運輸車模擬系統(tǒng)的程序代碼示例及解釋
附錄 C51中的關(guān)鍵字
9.1步進電動機簡介
步進電動機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),即當(dāng)步進電動機的驅(qū)動器接受一個脈沖信號時,它就驅(qū)動步進電動機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為步距角)。步進電動機的旋轉(zhuǎn)是以固定的角度一步一步運行的(所以稱為步進電動機)。我們可以通過控制脈沖的個數(shù)來控制電動機轉(zhuǎn)過的角度,從而達到精確定位的目的,還可以通過控制脈沖的頻率來控制步進電動機的轉(zhuǎn)速或加速度,從而達到柔和調(diào)速的目的。
步進電動機沒有積累誤差。一般步進電動機步距角的誤差為的3%~5%,且不積累。
步進電動機外表允許的最高溫度:步進電動機溫度過高會使電動機的磁性材料退磁,從而導(dǎo)致力矩下降乃至于失步,因此電動機外表允許的最高溫度應(yīng)取決于不同電動機磁性材料的退磁點。一般來講,磁性材料的退磁點都在130qC以上,有的甚至高達200~2以上,所以步進電動機外表溫度在80~90℃是正常的。
步進電動機的力矩會隨轉(zhuǎn)速的升高而下降:當(dāng)步進電動機轉(zhuǎn)動時,電動機各相繞組的電感將產(chǎn)生一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電動機隨頻率(或速度)的增大而相電流減小,從而導(dǎo)致力矩下降。
步進電動機低速時可以正常運轉(zhuǎn),但若速度高于一定的值就無法起動,并伴有嘯叫聲。
步進電動機有一個技術(shù)參數(shù):空載起動頻率,即步進電動機在空載情況下能夠正常起動的脈沖頻率,如果脈沖頻率高于該值,電動機不能正常起動,可能發(fā)生失步或堵轉(zhuǎn)。在有負(fù)載的情況下,起動頻率應(yīng)更低。如果要使電動機達到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即起動頻率較低,然后按一定加速度升到所希望的高頻(電動機轉(zhuǎn)速從低速升到高速)。
步進電動機是一種控制用的特種電動機,廣泛用于各種開環(huán)控制。目前常用的步進電動機種類見表9.1。
……