《單片機原理與應(yīng)用》強調(diào)實用性和可操作性,基本理論以必需、夠用為原則,著重介紹單片機實用性技術(shù)及實際應(yīng)用,采取由淺入深、循序漸進(jìn)、層次清楚、步驟詳盡的寫作方式,突出實踐技能和動手能力。《單片機原理與應(yīng)用》共8章,從單片機應(yīng)用開發(fā)的角度出發(fā),以Intel公司的MCS-51單片機為背景,介紹其內(nèi)部結(jié)構(gòu)組成、匯編語言程序設(shè)計、內(nèi)部功能部件、系統(tǒng)接口技術(shù)、系統(tǒng)擴展、開發(fā)環(huán)境和單片機應(yīng)用實例。列舉大量例題和應(yīng)用實例,每章末安排小結(jié)和大量可供選做的思考題與練習(xí)題,附錄中還提供集成電路引腳圖和ASCI碼表等資料,以幫助讀者拓展相關(guān)知識。幫助讀者獲得在檢測和控制領(lǐng)域開展單片機應(yīng)用的基本能力,使讀者能夠單一反三,很快地掌握單片機應(yīng)用系統(tǒng)的開發(fā)技術(shù)!秵纹瑱C原理與應(yīng)用》可作為高職高專及大專電氣電子類和機械類各專業(yè)的教材,也適用于自動控制和計算機類等專業(yè)?、函授和培訓(xùn)班等相關(guān)課程的教材,同時可供工程技術(shù)人員參考使用。
單片機由于具有體積小、性價比高、使用方便、系統(tǒng)設(shè)計靈活等特點,被廣泛應(yīng)用于工業(yè)控制、智能化儀表、家用電器等各個領(lǐng)域。目前許多高等職業(yè)學(xué)校的電子信息、電氣技術(shù)、機電一體化技術(shù)等專業(yè)均開設(shè)了“單片機原理與應(yīng)用”課程。通過對本課程的學(xué)習(xí),能使學(xué)習(xí)者掌握單片機原理與接口技術(shù)及程序設(shè)計方法,熟悉單片機的應(yīng)用及開發(fā)技術(shù)。
本書立足于高等職業(yè)教育人才培養(yǎng)目標(biāo),遵循適應(yīng)社會發(fā)展需要,突出應(yīng)用性,加強實踐能力培養(yǎng)的原則。在內(nèi)容安排上,我們選擇了具有代表性的80C51單片機為對象,介紹了單片機的結(jié)構(gòu)與原理、指令系統(tǒng)與程序設(shè)計、單片機的中斷系統(tǒng)、定時與計數(shù)原理、外圍接口技術(shù)應(yīng)用、單片機系統(tǒng)擴展和常用編譯軟件KeilC51,引入C51編程方式,豐富了單片機開發(fā)的手段。本書采用章節(jié)編寫模式,在介紹單片機結(jié)構(gòu)、指令等基礎(chǔ)上,從實際出發(fā),分析了很多典型實例,豐富了單片機的實際應(yīng)用和開發(fā)的相關(guān)內(nèi)容,在內(nèi)容上力求循序漸進(jìn)。本書在編寫過程中,充分考慮了高職學(xué)生的學(xué)習(xí)特點,注重應(yīng)用性和實施性。為了便于教學(xué)和自學(xué),在每章前有導(dǎo)讀類信息,章末安排有小結(jié)和可供選做的習(xí)題。
第1章 單片機概述
1.1 單片機的發(fā)展概況
1.1.1 單片機組成
1.1.2 單片機芯片技術(shù)的發(fā)展概況
1.2 單片機的特點及應(yīng)用
1.2.1 單片機的特點
1.2.2 單片機的應(yīng)用
1.3 單片機的常用系列
1.3.1 MCS一51單片機
1.3.2 其他單片機
本章小結(jié)
思考題與習(xí)題
第2章 MCS-51單片機的組成結(jié)構(gòu)
2.1 MCS-51單片機的結(jié)構(gòu)和引腳
2.1.1 MCS-51單片機的內(nèi)部結(jié)構(gòu)
2.1.2 MCS-51的引腳定義和功能
2.2 MCS-51單片機的存儲結(jié)構(gòu)
2.2.1 程序存儲器ROM
2.2.2 數(shù)據(jù)存儲器RAM
2.2.3 特殊功能寄存器
2.3 并行I/O
2.3.1 P0端口
2.3.2 P1端口
2.3.3 P2端口
2.3.4 P3端口
2.4 時鐘電路、復(fù)位電路及掉電處理
2.5 MCS-51單片機CPU時序、指令執(zhí)行過程
本章小結(jié)
思考題與習(xí)題
第3章 MCS-51單片機的指令系統(tǒng)
3.1 概述
3.1.1 匯編語言的指令格式
3.1.2 匯編語言的符號約定
3.2 尋址方式
3.3 指令系統(tǒng)
3.3.1 數(shù)據(jù)傳送類指令
3.3.2 算術(shù)運算類指令
3.3.3 邏輯運算類指令
3.3.4 控制轉(zhuǎn)移類指令
3.3.5 位操作類指令
本章小結(jié)
思考題與習(xí)題
第4章 匯編語言程序設(shè)計
4.1 概述
4.1.1 計算機常用的編程語言
4.1.2 匯編語言的格式
4.1.3 偽指令
4.2 程序的設(shè)計步驟與方法
4.2.1 順序程序
4.2.2 分支程序
4.2.3 查表程序
4.2.4 循環(huán)程序
4.2.5 邏輯操作程序
4.2.6 子程序設(shè)計
4.2.7 實用程序設(shè)計舉例
4.3 源程序匯編及模擬運行
4.3.1 源程序匯編
4.3.2 源程序的模擬運行
本章小結(jié)
思考題與習(xí)題
第5章 MCS-51單片機的中斷系統(tǒng)、定時器/計數(shù)器和串行口
5.1 中斷系統(tǒng)
5.1.1 中斷的基本概念
5.1.2 MCS-51單片機的中斷源及中斷優(yōu)先級
5.1.3 中斷控制及響應(yīng)過程
5.1.4 中斷技術(shù)的應(yīng)用舉例
5.2 MCS-51單片機的定時器/計數(shù)器
5.2.1 定時器/計數(shù)器的結(jié)構(gòu)
5.2.2 工作模式寄存器和控制寄存器
5.2.3 定時器的4種工作模式
5.2.4 定時器/計數(shù)器的應(yīng)用舉例
5.3 MCS-51單片機的串行通信接口
5.3.1 串行通信概述
5.3.2 串行口結(jié)構(gòu)及控制寄存器
5.3.3 串行口的工作方式
5.3.4 串行口的應(yīng)用設(shè)計舉例
本章小結(jié)
思考題與習(xí)題
第6章 MCS-51單片機系統(tǒng)的接口技術(shù)
6.1 MCS-51單片機的系統(tǒng)擴展概述
6.1.1 程序存儲器的擴展
6.1.2 數(shù)據(jù)存儲器的擴展
6.1.3 I/O口的擴展
6.1.4 綜合擴展技術(shù)應(yīng)用舉例
6.2 人機接口
6.2.1 LED數(shù)碼顯示器的接口與編程
6.2.2 LCD顯示器的接口與編程
6.2.3 鍵盤接口與編程
6.2.4 顯示器/鍵盤系統(tǒng)
6.3 MCS-51單片機與A/D、D/A的接口
6.3.1 D/A轉(zhuǎn)換接口技術(shù)
6.3.2 A/D轉(zhuǎn)換接口技術(shù)
6.4 MCS-51單片機與功率負(fù)載的接口
6.4.1 開關(guān)型功率接口及其應(yīng)用
6.4.2 步進(jìn)電機接口及其應(yīng)用
本章小結(jié)
思考題與習(xí)題
第7章 MCS-51開發(fā)環(huán)境(KeilC51)
7.1 Keil集成開發(fā)環(huán)境簡介
7.2 KeilC51編譯器的使用
7.2.1 KeilC51工具包的安裝
7.2.2 Keil工程文件的建立
7.2.3 工程的詳細(xì)設(shè)置
7.2.4 編譯、連接
7.2.5 文件的操作
7.3 Keil的調(diào)試命令、在線匯編與斷點設(shè)置
7.3.1 常用調(diào)試命令
7.3.2 在線匯編
7.3.3 斷點設(shè)置
7.4 Keil程序調(diào)試窗口
7.4.1 存儲器窗口
7.4.2 工程窗口寄存器頁
7.4.3 觀察窗口
7.4.4 程序調(diào)試窗口的應(yīng)用
7.5 Keil的輔助工具
7.6 Keil的應(yīng)用
7.7 C語言與MCS-51
7.8 模塊化程序開發(fā)過程
7.9 MCS-51的C語言編程應(yīng)用
本章小結(jié)
思考題與習(xí)題
第8章 MCS-51的應(yīng)用系統(tǒng)設(shè)計開發(fā)
8.1 單片機的開發(fā)裝置與開發(fā)步驟
8.2 單片機應(yīng)用系統(tǒng)的設(shè)計方法
8.2.1 總體設(shè)計
8.2.2 硬件設(shè)計
8.2.3 軟件設(shè)計
8.2.4 系統(tǒng)調(diào)試
8.3 系統(tǒng)應(yīng)用
8.3.1 警報器系統(tǒng)
8.3.2 “高層建筑警示燈”控制器系統(tǒng)
本章小結(jié)
思考題與習(xí)題
附錄1 常用集成電路引腳排列
附錄2 SCH(美國標(biāo)準(zhǔn)信息交換碼)表
參考文獻(xiàn)
覆蓋和共享是混合編程及連接/定位器中常采用的兩種存儲器管理技術(shù)。
1)覆蓋單片機片內(nèi)存儲空間有限,連接/定位器通常重新啟用程序不再用的位置。這就是說,若一個程序不再調(diào)用,也不被其他程序調(diào)用(甚至間接調(diào)用),那么在其他程序執(zhí)行完之前,這個程序不再運行。這個程序的變量可以放在與其他程序完全相同的RAM空間,很像可重用的寄存器,這種技術(shù)就是覆蓋。在匯編中通過手工完成的這些空間分配,在C中可以由連接器自動管理。當(dāng)有幾個不相關(guān)聯(lián)的程序時,使用連接器完成空間分配所占用的RAM單元比手工完成空間分配要少。
2)共享共享變量前要弄清不同模塊之間的變量關(guān)系。編譯一個模塊,而另一模塊還沒編寫時,編譯器必須給出另一模塊要使用的信息。連接/定位器給共享變量分配相同的地址,字節(jié)作為字節(jié),整數(shù)/字作為整數(shù)/字,數(shù)組作為數(shù)組,指針作為指針。匯編語言和C語言的共享不同。表7-8是二者的簡要規(guī)則。