全書共分為10章,以AT89S51單片機為核心,以單片機應用系統(tǒng)設計為主,詳細介紹了單片機系統(tǒng)與外設接口的設計及編程技術(shù)。內(nèi)容安排上,先講解了鍵盤、LED段碼和點陣顯示、液晶顯示、IC卡模塊、模數(shù)/數(shù)模轉(zhuǎn)換等基礎,最后綜合講解系統(tǒng)設計的流程和步驟及常用軟硬件抗干擾技術(shù)等。原理性實例采用匯編語言和C51編程,旨在使讀者能夠理解編程思路,掌握兩種語言的編程方法,為學習其他型號的單片機打下良好基礎;應用型、綜合型實例全部采用C51編程,使程序的可讀性和可移植較好。
韓雁,畢業(yè)于上海交通大學,常州工學院計算機信息工程學院副教授,江蘇省計算機協(xié)會會員,常州工學院科協(xié)會員。
第1章 緒論11.1 單片機基礎知識11.1.1 單片機的結(jié)構(gòu)和特點11.1.2 單片機的發(fā)展21.1.3 單片機芯片技術(shù)的發(fā)展趨勢21.2 單片機應用41.2.1 單片機應用方向41.2.2 單片機應用系統(tǒng)的分類51.3 51系列單片機61.3.1 MCS-51系列單片機61.3.2 AT89系列單片機71.3.3 各種衍生品種的51單片機81.4 其他系列單片機101.5 其他嵌入式處理器簡介12習題113第2章 AT89S51單片機的結(jié)構(gòu)與組成142.1 AT89S51單片機的內(nèi)部結(jié)構(gòu)及信號引腳142.1.1 AT89S51單片機結(jié)構(gòu)142.1.2 信號引腳162.1.3 中央處理器CPU172.1.4 存儲器192.1.5 I/O口及相應的特殊功能寄存器242.2 時鐘電路與CPU時序272.2.1 時鐘電路272.2.2 CPU時序272.3 AT89S51單片機的復位292.4 AT89S51單片機的節(jié)電方式302.4.1 空閑方式312.4.2 掉電方式312.5 Flash的串行編程和三級加密32習題234第3章 指令與匯編語言程序設計353.1 指令系統(tǒng)概述353.1.1 MCS-51匯編指令的格式363.1.2 指令中的符號標識及注釋符363.2 尋址方式373.2.1 寄存器尋址373.2.2 直接尋址373.2.3 寄存器間接尋址383.2.4 立即尋址393.2.5 變址尋址393.2.6 相對尋址393.2.7 位尋址403.2.8 MCS-51尋址方式小結(jié)403.3 MCS-51指令說明413.3.1 數(shù)據(jù)傳送指令413.3.2 算術(shù)操作指令453.3.3 邏輯操作及移位類指令493.3.4 控制轉(zhuǎn)移指令523.3.5 位操作類指令573.3.6 訪問I/O口指令的使用說明583.4 MCS-51偽指令593.5 MCS-51匯編語言程序設計613.5.1 順序結(jié)構(gòu)程序設計613.5.2 分支程序設計623.5.3 循環(huán)程序設計633.5.4 子程序設計66習題369第4章 C51程序設計724.1 Keil C51編程語言724.1.1 Keil C51的函數(shù)和程序結(jié)構(gòu)724.1.2 C51和標準C的函數(shù)差別744.2 C51的數(shù)據(jù)類型、運算符、表達式764.2.1 C51的基本數(shù)據(jù)類型764.2.2 C51變量、常量、指針774.2.3 C51的復雜數(shù)據(jù)類型814.2.4 C51的運算符和表達式834.3 C51的程序流控制語句864.4 編譯預處理命令884.4.1 宏定義884.4.2 條件編譯884.4.3 文件包含894.4.4 數(shù)據(jù)類型的重新定義904.5 C51的編程技巧904.6 Keil C51庫函數(shù)原型列表914.7 C51編程實例944.7.1 基本的輸入/輸出944.7.2 C51軟件延時95習題496第5章 AT89S51中斷系統(tǒng)975.1 中斷概述975.2 AT89S51中斷系統(tǒng)985.2.1 AT89S51中斷源985.2.2 AT89S51中斷控制1005.2.3 中斷響應1015.3 中斷系統(tǒng)的編程1025.3.1中斷服務程序的結(jié)構(gòu)1025.3.2 C51中斷函數(shù)1025.3.3 中斷應用舉例1035.4 外部中斷源的擴展1075.4.1 用定時器T0、T1作為外部中斷擴展1075.4.2 用中斷與查詢相結(jié)合的方法擴展外部中斷107習題5108第6章 AT89S51/S52單片機的定時器/計數(shù)器1096.1 定時器的內(nèi)部結(jié)構(gòu)1096.1.1 方式寄存器TMOD1106.1.2 控制寄存器TCON1116.1.3 定時器的工作方式1116.2 定時器應用舉例1136.2.1 定時控制、脈寬檢測1136.2.2 電壓/頻率轉(zhuǎn)換1176.3 定時器/計數(shù)器T21186.3.1 T2的狀態(tài)控制寄存器T2CON1196.3.2 T2的工作方式1196.4 監(jiān)視定時器1236.4.1 WDT的原理1236.4.2 AT89S51內(nèi)部的WDT1236.4.3 AT89S51掉電和空閑狀態(tài)時的WDT1236.4.4 WDT的軟件技術(shù)124習題6124第7章 AT89S51的串行通信及其應用1267.1 概述1267.1.1 串行通信的字符格式1267.1.2 串行通信的數(shù)據(jù)通路形式1277.1.3 串行通信的傳輸速率1277.1.4 串行通信的總線標準與接口1287.2 51單片機的串行通信接口1327.2.1 通用的異步接收/發(fā)送器UART1327.2.2 串行口的控制寄存器1337.2.3 串行接口的工作方式1347.2.4 波特率設計1367.3 串行通信應用舉例1387.3.1 方式0應用設計鍵盤顯示接口1387.3.2 雙機、多機通信應用1397.3.3 單片機與微機的串行通信1497.3.4 單片機在GSM無線通信網(wǎng)絡中的應用1527.4 CAN總線串行通信技術(shù)1577.4.1 CAN總線系統(tǒng)構(gòu)成1587.4.2 CAN總線的報文類型與幀結(jié)構(gòu)1597.4.3 CAN的總線技術(shù)1647.4.4 CAN控制器SJA10001657.4.5 CAN總線收發(fā)器82C501727.4.6 CAN 總線系統(tǒng)智能節(jié)點173習題7175第8章 51單片機系統(tǒng)擴展技術(shù)1768.1 并行總線擴展技術(shù)1778.1.1 并行總線技術(shù)1778.1.2 存儲器的并行擴展1788.1.3 I/O接口的并行擴展1848.2 串行總線擴展技術(shù)1908.2.1 I2C串行總線1908.2.2 SPI總線1968.2.3 1-Wire 單總線201習題8208第9章 單片機與外設接口技術(shù)2109.1 鍵盤接口技術(shù)2109.1.1 鍵盤的基本工作原理2109.1.2 鍵盤工作方式2129.2 顯示器接口技術(shù)2159.2.1 LED顯示器2159.2.2 LCD點陣液晶顯示器及其接口2229.3 D/A轉(zhuǎn)換接口技術(shù)2289.3.1 后向通道概述2289.3.2 D/A轉(zhuǎn)換器的技術(shù)指標2299.3.3 12位電壓輸出型串行D/A轉(zhuǎn)換器TLV56162309.3.4 電壓/電流轉(zhuǎn)換電路設計2329.4 A/D轉(zhuǎn)換接口技術(shù)2329.4.1 前向通道概述2329.4.2 A/D轉(zhuǎn)換器工作原理及分類2339.4.3 串行A/D轉(zhuǎn)換器TLC1542的應用2349.4.4 8位A/D及D/A轉(zhuǎn)換器PCF85912369.5 紅外遙控2399.5.1 紅外遙控系統(tǒng)2399.5.2 遙控發(fā)射器及其編碼2399.5.3 遙控信號接收240習題9242第10章 系統(tǒng)設計及抗干擾技術(shù)24310.1 單片機應用系統(tǒng)的開發(fā)過程24310.1.1 技術(shù)方案論證24310.1.2 硬件系統(tǒng)的設計24410.1.3 應用軟件的設計24510.1.4 硬件、軟件系統(tǒng)的調(diào)試24510.1.5 程序的固化24510.2 單片機硬件系統(tǒng)的設計24510.2.1 元件的選取24510.2.2 硬件電路的設計原則24610.2.3 單片機資源的分配24610.2.4 印制電路板的設計24710.3 單片機軟件系統(tǒng)的設計24810.3.1 任務的確定24810.3.2 軟件結(jié)構(gòu)的設計24810.4 單片機系統(tǒng)抗干擾技術(shù)24810.4.1 硬件抗干擾措施24810.4.2 軟件抗干擾措施250第11章 Keil C51軟件的使用25311.1 工程文件的建立及設置25311.1.1 工程文件的建立和編譯、連接25311.1.2 設置工程文件的屬性25611.2 程序調(diào)試25911.2.1 常用調(diào)試命令25911.2.2 在線匯編26011.2.3 斷點設置26111.3 Keil程序調(diào)試窗口26111.3.1 存儲器窗口26111.3.2 觀察窗口26211.3.3 工程窗口寄存器頁26211.3.4 外圍接口窗口263附錄A MCS-51指令表264附錄B ASCII碼表269