本書循序漸進地介紹了MCS-51系列單片機的硬件結構、指令系統、匯編語言程序設計、中斷系統、定時/計數器、串行口及串行通信、常用I/O接口、D/A與A/D轉換器、總線擴展及單片機應用系統設計與調試等內容。
本教材突出工程特色,以工程教育為理念,圍繞培養應用創新型工程人才這一目標,著重學生獨立研究能力、動手能力和解決實際問題能力的培養,將測控技術與儀器專業工程人才培養模式和教學內容的改革成果體現在教材中,通過科學規范的工程人才教材建設促進專業建設和工程人才培養質量的提高。本書注重與工程實踐的聯系,每章均有相關工程應用案例及產品介紹。同時,采用二維碼技術對相關知識點進行擴充,可以通過掃描二維碼,打開對知識點的更多輔助介紹,包括相關文字介紹、圖片展示或動畫演示。
全書共11章。第1章是單片機技術概述;第2章介紹了MCS-51單片機硬件系統的結構;第3章介紹了MCS-51單片機的指令系統;第4章介紹了MCS-51單片機匯編語言程序設計方法;第5章介紹了MCS-51單片機的中斷系統及其應用方法;第6章介紹了MCS-51單片機定時/計數器的原理及使用方法;第7章介紹了MCS-51單片機的串行口及串行通信技術;第8章介紹了MCS-51單片機常用I/O接口的設計方法;第9章介紹了MCS-51單片機中實現D/A與A/D轉換的接口及編程方法;第10章介紹了MCS-51單片機實現串行總線擴展的技術;第11章介紹了MCS-51單片機應用系統設計與調試的方法。
本書第1章由付華、肖艷軍執筆;第2~4章、第7章由徐耀松執筆;第5、6章由高姬執筆;第8、9章由孫凌宇執筆;第10、11章由王雨虹執筆。肖艷軍對全書內容進行了充實。全書的寫作思路由付華教授提出,由付華、徐耀松、肖艷軍和孫凌宇統稿。此外,李猛、任仁、陶艷風、代巍、湯月、司南楠、陳東、謝鴻、郭玉雯、梁漪、于田、孟繁東、曹坦坦、李海霞、劉雨竹、曹慶春、邱微等也參加了本書的編寫。在此,向對本書的完成給予了熱情幫助的同行們表示感謝。
由于作者水平有限,加上時間倉促,書中的錯誤和不妥之處,敬請讀者批評指正。
編者
2016年5月
收起全部↑
付華,遼寧工程大學教授。中國煤炭工業信息與自動化專業委員會委員,遼寧省儀器學科教學指導委員會委員。主持完成國家863項目、國家自然科學基金項目、教育部博士點基金、博士后基金、遼寧省科技攻關項目、遼寧省重大科技項目、省創新團隊項目、優秀人才項目等40余項,主持完遼寧省教改項目、省十一五、十二五教學科研項目多項。
第1章 單片機概述 (1)
1.1 單片機簡介 (1)
1.1.1 單片機的概念 (1)
1.1.2 單片機的特點 (1)
1.1.3 單片機的應用 (2)
1.2 單片機的發展概況 (3)
1.2.1 單片機的發展歷史 (3)
1.2.2 單片機的發展趨勢 (3)
1.3 51系列單片機 (5)
1.3.1 MCS-51系列單片機 (5)
1.3.2 AT89C5x(AT89S5x)系列單片機 (6)
1.3.3 其他的51單片機 (8)
1.4 AVR系列單片機與PIC系列單片機 (9)
1.4.1 AVR系列單片機 (9)
1.4.2 PIC系列單片機 (10)
1.5 各類嵌入式處理器簡介 (11)
1.5.1 嵌入式微控制器(單片機) (11)
1.5.2 嵌入式DSP處理器 (12)
1.5.3 嵌入式微處理器 (12)
1.5.4 嵌入式片上系統SOC (13)
1.6 Freescale(飛思卡爾)16位微控制器 (14)
1.6.1 HCS12系列單片機 (14)
1.6.2 HCS12X系列單片機 (14)
1.6.3 MC9S12XS128性能 (15)
1.7 STC單片機 (15)
第2章 MCS-51單片機的硬件結構 (16)
2.1 MCS-51單片機的基本組成 (16)
2.2 MCS-51單片機的引腳及其功能 (17)
2.2.1 MCS-51單片機的引腳封裝 (17)
2.2.2 輸入/輸出端口 (18)
2.3 MCS-51單片機的CPU及其時序 (21)
2.3.1 運算器 (22)
2.3.2 控制器 (23)
2.3.3 工作寄存器和特殊功能寄存器 (24)
2.4 MCS-51單片機存儲器的結構 (26)
2.4.1 程序存儲器空間 (26)
2.4.2 數據存儲器空間 (26)
2.5 時鐘電路與時序 (28)
2.5.1 時鐘電路 (28)
2.5.2 機器周期、指令周期與指令時序 (29)
2.6 復位和復位電路 (31)
2.6.1 復位 (31)
2.6.2 復位電路 (32)
2.7 單片機的工作方式 (33)
2.7.1 程序執行方式 (33)
2.7.2 節電工作方式 (33)
習題 (35)
第3章 MCS-51單片機的指令系統 (36)
3.1 指令格式 (36)
3.2 指令系統的尋址方式 (37)
3.3 指令系統分類介紹 (39)
3.3.1 數據傳送類指令 (39)
3.3.2 算術運算類指令 (45)
3.3.3 邏輯操作類指令 (51)
3.3.4 控制轉移類指令 (55)
3.3.5 位操作類指令 (61)
習題 (66)
第4章 MCS-51單片機匯編語言程序設計 (69)
4.1 匯編語言程序設計概述 (69)
4.1.1 匯編語言語句和格式 (69)
4.1.2 匯編語言程序的設計步驟 (70)
4.1.3 偽指令 (71)
4.1.4 常用的程序設計結構 (73)
4.2 匯編語言源程序的匯編 (83)
習題 (84)
第5章 MCS-51單片機的中斷系統 (86)
5.1 單片機中斷技術概述 (86)
5.2 單片機中斷系統結構及中斷控制 (87)
5.2.1 中斷源 (87)
5.2.2 中斷標志寄存器 (88)
5.2.3 中斷使能寄存器IE (89)
5.2.4 中斷優先級寄存器IP (90)
5.3 中斷響應及中斷處理過程 (92)
5.3.1 中斷響應 (92)
5.3.2 中斷處理 (93)
5.3.3 中斷返回 (93)
5.3.4 中斷服務程序 (93)
5.4 多外部中斷源系統設計 (95)
習題 (97)
第6章 MCS-51單片機的定時/計數器 (98)
6.1 定時/計數器的結構 (98)
6.1.1 工作方式控制寄存器TMOD (99)
6.1.2 定時/計數器控制寄存器TCON (99)
6.2 定時/計數器的4種工作方式 (100)
6.2.1 方式0及應用 (100)
6.2.2 方式1及應用 (101)
6.2.3 方式2及應用 (104)
6.2.4 方式3及應用 (107)
6.3 綜合應用舉例 (110)
習題 (112)
第7章 MCS-51單片機的串行口及串行通信技術 (113)
7.1 數據通信的基本概念 (113)
7.2 串行口的結構 (115)
7.3 串行口的4種工作方式 (117)
7.3.1 方式0 (117)
7.3.2 方式1 (118)
7.3.3 方式2和方式3 (119)
7.4 多機通信的工作原理 (120)
7.5 波特率的計算方法 (121)
7.6 串行口的編程和應用 (122)
7.6.1 單片機與單片機的通信 (123)
7.6.2 單片機與PC的通信 (136)
習題 (139)
第8章 MCS-51單片機常用I/O接口的設計 (140)
8.1 I/O接口擴展概述 (140)
8.1.1 I/O接口的功能 (140)
8.1.2 I/O端口的編址 (141)
8.1.3 I/O數據的傳送方式 (141)
8.1.4 I/O接口電路 (142)
8.2 MCS-51單片機與可編程并行I/O芯片82C55的接口設計 (142)
8.2.1 82C55芯片簡介 (142)
8.2.2 工作方式選擇控制字及端口PC置位/復位控制字 (144)
8.2.3 82C55的3種工作方式 (145)
8.2.4 MCS-51單片機和82C55的接口設計 (148)
8.3 用MCS-51單片機的串行口擴展并行口 (150)
8.3.1 用74LS165擴展并行輸入口 (150)
8.3.2 用74LS164擴展并行輸出口 (151)
8.4 LED顯示器的顯示原理 (152)
8.4.1 LED顯示器的結構 (152)
8.4.2 LED顯示器工作原理 (153)
8.5 鍵盤接口原理 (154)
8.5.1 鍵盤輸入應解決的問題 (154)
8.5.2 鍵盤接口的工作原理 (155)
8.5.3 鍵盤的工作方式 (157)
8.5.4 鍵盤/顯示器接口設計實例 (157)
8.6 MCS-51單片機與液晶顯示器(LCD)的接口 (159)
8.6.1 LCD顯示器的分類 (160)
8.6.2 點陣字符型液晶顯示模塊介紹 (160)
8.6.3 MCS-51單片機與LCD的接口及軟件編程 (162)
本章小結 (163)
習題 (164)
第9章 MCS-51單片機與D/A、A/D轉換器的接口 (165)
9.1 MCS-51單片機與D/A轉換器的接口 (165)
9.1.1 D/A轉換器概述 (165)
9.1.2 MCS-51單片機與8位DAC0832的接口設計 (166)
9.1.3 MCS-51單片機與12位D/A轉換器AD667的接口設計 (170)
9.2 MCS-51單片機與A/D轉換器的接口 (175)
9.2.1 A/D轉換器概述 (175)
9.2.2 MCS-51單片機與逐次比較型A/D轉換器ADC0809的接口設計 (176)
9.2.3 MCS-51單片機與雙積分型A/D轉換器MC14433的接口設計 (180)
9.2.4 12位串行A/D芯片AD7893與單片機的接口及編程 (183)
本章小結 (185)
習題 (185)
第10章 單片機的串行總線擴展技術 (186)
10.1 單總線接口簡介 (186)
10.1.1 概述 (186)
10.1.2 硬件結構及配置 (187)
10.1.3 命令序列 (187)
10.1.4 信號方式 (188)
10.1.5 數字溫度傳感器DS18B20的接口技術 (189)
10.2 SPI總線擴展技術 (192)
10.2.1 SPI總線概述 (192)
10.2.2 串行輸入A/D芯片TLC2543接口技術 (194)
10.3 I2C總線串行擴展技術 (197)
10.3.1 I2C總線概述 (197)
10.3.2 I2C總線協議 (198)
10.4 MCS-51單片機擴展I2C總線器件的接口設計 (200)
10.4.1 AT24C02與單片機的接口技術 (201)
10.4.2 I2C總線數據傳送的模擬 (202)
10.4.3 I2C總線模擬通用子程序 (204)
習題 (207)
第11章 MCS-51單片機應用系統的設計方法 (208)
11.1 單片機應用系統的設計步驟 (208)
11.2 單片機應用系統硬件設計 (211)
11.2.1 硬件系統一般結構 (211)
11.2.2 硬件系統的設計原則 (212)
11.2.3 硬件設計需要考慮的問題 (213)
11.2.4 地址空間分配與總線驅動 (215)
11.2.5 硬件設計與實現方法 (218)
11.3 應用系統的軟件設計 (218)
11.3.1 應用軟件設計的特點 (218)
11.3.2 軟件設計考慮的問題 (219)
11.3.3 合理的資源分配 (219)
11.4 系統抗干擾設計 (220)
11.4.1 軟件濾波 (220)
11.4.2 指令冗余及軟件陷阱 (224)
11.4.3 開關量輸入/輸出軟件抗干擾設計 (227)
11.4.4 看門狗技術 (227)
11.4.5 模擬電路和數字電路的隔離 (229)
11.4.6 接地方法 (230)
11.5 單片機應用系統的仿真與調試 (231)
11.5.1 單片機應用系統的仿真 (231)
11.5.2 單片機應用系統的調試 (232)
11.5.3 單片機應用系統的編程、下載與運行 (233)
11.6 單片機應用系統的設計實例―單片機溫度控制系統 (233)
11.6.1 硬件電路設計 (233)
11.6.2 系統軟件設計 (237)
習題 (245)
參考文獻 (246)