本書詳細介紹了MCS-51單片機的硬件結構、指令系統(tǒng)和外部擴展電路的設計及匯編語言程序設計。對編寫的程序作了詳細的注釋,從第6章開始,以中斷程序的編寫為主,加強了定時中斷編程的分析與設計思路的說明,單片機外部擴展接口電路的編址和擴展綜合電路的設計介紹。介紹了單片機C語言基本知識,C51編寫的程序基本上是與第6章~第12章的例題一一對應。介紹了常用的I2C和SPI串行總線接口設計,單片機應用系統(tǒng)綜合設計舉例,并在附錄中詳細介紹了常用單片機開發(fā)環(huán)境——uVision2集成開發(fā)環(huán)境的使用。本書突出了選取內容的實用性,書中的舉例大多來自于工程實踐和教學實踐,內容豐富。本書適應于未開設《微機原理及接口技術》課程或已開設該課程的工科院校本科生單片機課程的教學用書,也可以作為從事單片機研發(fā)、應用等工作的專業(yè)技術人員的參考用書。
適讀人群 :本科電氣信息類專業(yè)學生
1)對編寫的程序作了詳細注釋,便于自學與理解。
2)針對C51語言編程容易解決的算法問題,減少了算術運算等程序的舉例。
3)中斷技術的應用是微處理器應用系統(tǒng)的基本技能,無論是應用C51還是匯編語言編程,對于初學者都是難點,本書加強了中斷技術應用舉例,尤其是定時中斷編程的分析與思路的形成說明,從第6章開始,以中斷程序的編寫為主,提高讀者掌握工程實用技術的技能。
4)加強了單片機擴展外部接口電路的編址和擴展綜合電路設計的描述,無論是增強型8051單片機還是應用C51語言編程,它們都是設計微處理器應用系統(tǒng)必須掌握的基本技能之一。
5)第13章的例題和應用C51編寫的程序基本上是與第6~12章的例題一一對應,便于讀者對照C51和匯編程序的異同點,尤其是編程思路的共同點。
微型計算機自20世紀70年代誕生以來,得以迅速地發(fā)展、普及和應用。隨著增強型8051單片機和嵌入式微處理器技術的飛速發(fā)展,以及單片機C語言應用的普及,單片機應用領域越來越廣泛。由于MCS-51單片機與增強型8051單片機和嵌入式微處理器的基本原理和編程方法基本一致,而MCS-51單片機的基本原理和應用技術易學易懂,所以學習和掌握MCS-51單片機是學習與應用增強型8051單片機和嵌入式微處理器技術的基礎。
本書在詳細闡述單片機原理及結構的基礎上,考慮到目前教學改革要求減少課內課時,增加課外學習和實踐的時間,以及增強型8051單片機和單片機C51語言的普遍應用等因素,編寫時重點做了如下的思考:
1)對編寫的程序作了詳細注釋,便于自學與理解。
2)針對C51語言編程容易解決的算法問題,減少了算術運算等程序的舉例。
3)中斷技術的應用是微處理器應用系統(tǒng)的基本技能,無論是應用C51還是匯編語言編程,對于初學者都是難點,本書加強了中斷技術應用舉例,尤其是定時中斷編程的分析與思路的形成說明,從第6章開始,以中斷程序的編寫為主,提高讀者掌握工程實用技術的技能。
4)加強了單片機擴展外部接口電路的編址和擴展綜合電路設計的描述,無論是增強型8051單片機還是應用C51語言編程,它們都是設計微處理器應用系統(tǒng)必須掌握的基本技能之一。
5)第13章的例題和應用C51編寫的程序基本上是與第6~12章的例題一一對應,便于讀者對照C51和匯編程序的異同點,尤其是編程思路的共同點。
本書引入了工程設計中常應用的總線及接口技術(如I2C、SPI等)、單片機的C51程序設計以及KeilC51開發(fā)環(huán)境等內容,對提高讀者應用單片機技術的工程實踐綜合能力、加強C語言的應用能力具有較高的實際應用價值。
全書共14章。第1章介紹了微型計算機的基本組成與工作原理,以及單片機技術的發(fā)展;第2~7章詳細介紹了MCS-51單片機的硬件結構、指令系統(tǒng)和匯編程序設計、片內各部件的功能和編程應用;第8~11章介紹了各種類型的外部擴展部件的接口電路及編程設計,如存儲器、I/O接口、鍵盤及顯示、A-D和D-A轉換等;第12章介紹了I2C總線、SPI總線在內的串行總線接口的時序和接口驅動程序;第13章介紹了單片機C51語言及其編程方法;第14章從實際應用出發(fā)詳細介紹了單片機應用系統(tǒng)的開發(fā)過程、單片機應用系統(tǒng)的可靠性設計及單片機應用系統(tǒng)綜合設計舉例。最后,在附錄中,詳細介紹了單片機開發(fā)環(huán)境——uVision2集成開發(fā)環(huán)境的使用及用戶程序的調試過程。
本書的參考學時為40~64學時。教師可根據(jù)實際情況,對書中的內容進行取舍。
本書由廣西科技大學蔡啟仲擔任主編,并完成第1章、附錄A的編寫以及全書的統(tǒng)稿工作;柯寶中、欽州學院包敬海擔任副主編,柯寶中完成第8章和第12章的編寫,并參與全書的統(tǒng)稿工作,包敬海完成第2章和第4章的編寫工作。此外,參加本書編寫工作的還有陳文輝、劉清正、劉瑞琪、藍會立和梁喜幸。其中,陳文輝完成第13章和附錄B的編寫,并參與全書的統(tǒng)稿工作;劉清正完成第5章、第6章和第7章的編寫工作;劉瑞琪完成第3章和第11章的編寫工作;藍會立完成第9章和第10章的編寫工作;廣西科技大學鹿山學院梁喜幸完成第14章的編寫工作。
書中錯誤及疏漏之處在所難免,敬請讀者批評指正。
編者
前言
第1章緒論
11計算機中常用的編碼
12微型計算機的分類與組成
121微型計算機系統(tǒng)的分類
122微型計算機系統(tǒng)的組成
13微型計算機的基本工作原理
14單片機的基本概念
141單片機的特點
142單片機的發(fā)展概況
143單片機的應用
144常用的系列單片機
習題
第2章51單片機的硬件結構
2151單片機的內部結構與引腳功能
21151單片機的基本組成
21251單片機的引腳功能
2251單片機的CPU
221運算部件
222控制部件和振蕩器
223CPU時序
23存儲器結構
231程序存儲器
232數(shù)據(jù)存儲器
233特殊功能寄存器(SFR)
234位尋址空間
24并行輸入/輸出端口
241P0端口
242P1端口
243P2端口
244P3端口
245端口電路小結
2551單片機復位操作與復位電路
251復位操作與復位狀態(tài)
252復位電路
253時鐘電路
254“看門狗”技術
2651單片機的低功耗運行方式
261方式設定
262空閑工作方式
263掉電工作方式
習題
第3章51單片機的指令系統(tǒng)
3151單片機的匯編指令
311一個簡單的程序示例
312指令格式
313指令類型
314常用符號說明
3251單片機指令的尋址方式
3351單片機的指令集
331數(shù)據(jù)傳送類指令
332算術運算類指令
333邏輯運算及移位類指令
334控制轉移類指令
335位操作類指令
習題
第4章匯編語言程序設計
41單片機匯編語言程序設計概述
411機器語言、匯編語言和C語言
412匯編語言的特點
42偽指令
43匯編語言程序的基本結構形式
431順序程序
432分支程序
433循環(huán)程序
434位操作程序
44匯編語言程序設計舉例
441順序程序設計
442分支程序設計
443循環(huán)程序設計
444子程序設計
習題
第5章51單片機定時器/計數(shù)器
5151單片機定時器/計數(shù)器的結構
511定時器/計數(shù)器的核心原型
512定時器/計數(shù)器的組成
513定時器/計數(shù)器的工作方式寄存器TMOD
514控制寄存器TCON
52定時器/計數(shù)器的工作方式
521方式1
522方式2
523方式3
524方式0
53定時器/計數(shù)器的應用
531方式1的應用舉例
532方式2的應用舉例
533方式3的應用舉例
53451單片機外部輸入的計數(shù)脈沖信號的要求
習題
第6章中斷系統(tǒng)
61中斷系統(tǒng)概念
611中斷技術
612中斷技術的主要功能特點
613中斷技術的優(yōu)點
6251單片機的中斷系統(tǒng)及其管理
621中斷系統(tǒng)的結構
622中斷源
623中斷請求標志
624中斷控制
6351單片機的中斷響應
631中斷響應的條件
632中斷響應的時間
633中斷請求的撤銷
64中斷系統(tǒng)的編程
641中斷服務程序編程的基本步驟
642外部中斷源的編程
643定時器/計數(shù)器中斷方法的編程
習題
第7章串行通信及應用
71數(shù)據(jù)通信的基本概念
711根據(jù)通信方式分類
712根據(jù)同步方式分類
713根據(jù)數(shù)據(jù)傳輸方向分類
7251單片機串行口
721串行口的結構
722串行口控制寄存器SCON
723電源控制寄存器PCON
73串行口工作方式
731方式0
732方式1
733方式2和方式3
74單片機串行口波特率
741波特率與字符傳輸速率
742波特率的計算
75串行口的應用
751串行口擴展并行I/O口
752雙單片機異步串行通信
753多機通信
754RS-232總線及接口電路
習題
第8章51單片機的系統(tǒng)擴展
81三總線與地址編碼
81151單片機應用系統(tǒng)總線
81251單片機系統(tǒng)總線的構成
813單片機系統(tǒng)總線驅動能力擴展
81451單片機系統(tǒng)擴展外部部件的地址空間分配
82程序存儲器的擴展及應用
821常用EPROM芯片介紹
822EPROM芯片的工作方式
823程序存儲器的擴展
824程序存儲器的讀控制與時序
83數(shù)據(jù)存儲器的擴展及應用
831常用的靜態(tài)數(shù)據(jù)存儲器芯片介紹
832RAM芯片的工作方式
833數(shù)據(jù)存儲器的擴展
834數(shù)據(jù)存儲器的讀寫控制與時序
84程序存儲器和數(shù)據(jù)存儲器的綜合擴展
習題
第9章51單片機擴展I/O接口的設計
91并行I/O接口電路與編址
92可編程8255并行I/O接口芯片的擴展
9218255芯片介紹
9228255的工作方式
9238255與51單片機的接口及應用
93可編程8155并行I/O接口芯片的擴展
9318155芯片介紹
9328155的I/O端口的工作方式
9338155與51單片機的接口及應用
習題
第10章A-D和D-A轉換器的接口
101D-A轉換器接口
1011D-A轉換器原理
101251單片機與DAC0832的接口與編程
101351單片機與DAC1208的接口與編程
102A-D轉換器接口
1021A-D轉換器原理
102251單片機與ADC0809的接口
102351單片機與AD574的接口
習題
第11章51單片機與鍵盤、顯示器接口設計
111鍵盤接口電路
1111獨立式鍵盤
1112矩陣式鍵盤
112LED顯示接口電路
1121LED顯示器
1122LED并行顯示技術
113鍵盤、LED顯示器、A-D和D-A的綜合應用
114LCD顯示接口電路
1141LCD顯示器件
1142單片機與液晶顯示模塊接口電路與驅動
習題
第12章單片機的串行總線接口技術
121I2C總線接口
1211I2C總線概述
1212串行EEPROM概述
121324C02引腳功能
1214工作方式
1215器件尋址、寫操作和讀操作
121624C02芯片與51單片機的接口電路及編程
1217ZLG7290接口電路及編程
122SPI總線接口
1221SPI總線概述及主要特點
122212位串行A-D TLC2543介紹
1223TLC2543與51單片機的接口設計
123單總線串行擴展
習題
第13章51單片機的C51程序設計
131C51編程概述
1311Keil C51開發(fā)工具
1312Keil C51程序開發(fā)過程
1313C51程序結構
132C51的數(shù)據(jù)類型及存儲類型
1321C51的基本數(shù)據(jù)類型
1322C51的數(shù)據(jù)存儲類型和存儲模式
1323單片機特殊功能寄存器(SFR)及其C51定義
133C51函數(shù)
1331函數(shù)的分類與定義
1332函數(shù)的調用
1333中斷服務函數(shù)和寄存器組定義
134C51庫函數(shù)
135C51程序設計舉例
135151單片機內部資源的C51編程
135251單片機擴展資源的C51編程
習題
第14章單片機應用系統(tǒng)的開發(fā)與舉例
141單片機應用系統(tǒng)的開發(fā)過程
1411需求分析與可行性論證
1412硬件電路設計原則
1413軟件設計原則
1414軟硬件測試與程序固化
142單片機應用系統(tǒng)的開發(fā)工具
143應用系統(tǒng)的可靠性設計
1431主要干擾源
1432硬件可靠性設計
1433軟件可靠性設計
144單片機應用系統(tǒng)設計舉例
1441單片機應用系統(tǒng)并行擴展芯片的基本接口電路
1442直流電動機轉速控制系統(tǒng)的設計
1443單片機應用系統(tǒng)串行總線接口芯片的擴展應用系統(tǒng)設計
附錄
附錄A51單片機指令集
附錄BμVision2集成開發(fā)環(huán)境使用
參考文獻