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