單片機原理與介面技術
第4版
《單片機原理與介面技術(第4版)》是2014年6月電子工業出版社出版的圖書,作者是曹天漢。
本書為單片機技術教學和實用而編寫。從2003年至今已出版使用10年,期間,2006年通過修訂出版第2版,並被評為普通高等教育“十一五”國家級規劃教材,200年再次出版第3版,增加C51語言的內容,升級為雙語教材。隨著教學過程中經驗和反饋,此次修訂帶前幾次修訂的基礎上,進一步修正個別文字上錯、漏,刪除一些不必要的內容,並對部分章節和程序做了修改,特別是對軟體實訓和硬體實訓的內容作了龐大的更新。本書修訂后仍分四大部分共12章。第一部分共2章,介紹單片機及單片機晶元的基本硬體結構;第二部分共4章,系統地敘述了匯語言指令系統及程序設計的基礎、單片機C語言基礎、C51程序的基本結構與設計和C51的構造數據類型;第三部分共4章,介紹了單片機片內的標準外圍單元:并行輸入/輸出口、中斷系統、定時器/計數器和串列口的組成及應用方法;第四部分共2章,通過各種應用實例闡述了單片機的并行擴展技術和串列擴展技術。
第1部分 單片機及其基本組成(1)
第1章 單片機概述(1)
1.1 單片機(1)
1.2 單片機系統(3)
習題1 (4)
第2章 MCS-51單片機的基本組成(5)
2.1 概述(5)
2.1.1 MCS-51單片機的內部結構框圖(5)
2.1.2 MCS-51單片機的引腳及片外匯流排結構(6)
2.2 中央處理器CPU (8)
2.3 振蕩器和時鐘電路(8)
2.3.1 電路組成(8)
2.3.2 時序與時序定時單位(9)
2.4 MCS-51單片機的內部存儲器(10)
2.4.1 MCS-51單片機系統的存儲器結構及地址空間(10)
2.4.2 MCS-51單片機的內部數據存儲器(12)
2.4.3 特殊功能寄存器(14)
2.4.4 堆棧及其存儲特性(16)
2.4.5 內部程序存儲器(18)
2.5 MCS-51單片機的複位(18)
2.6 單片機的幾種工作方式(19)
習題2 (21)
第2部分 MCS-51單片機的指令系統及程序設計(22)
第3章 MCS-51單片機的彙編語言指令系統(22)
3.1 指令格式及常用符號(22)
3.1.1 指令的彙編語言格式(22)
3.1.2 指令編碼的格式(23)
3.1.3 指令中常用的符號(24)
3.1.4 指令執行的基本過程(25)
3.2 指令中的定址方式(26)
3.3 數據傳送指令(29)
3.3.1 在單片機片內RAM中傳送數據的指令(29)
3.3.2 讀寫外部RAM的指令(33)
3.3.3 讀程序存儲器的指令(34)
3.4 算術運算類指令(35)
3.4.1 加法指令(35)
3.4.2 減法指令(37)
3.4.3 乘法指令(39)
3.4.4 除法指令(39)
3.5 邏輯運算與移位類指令(39)
3.6 控制轉移類指令(41)
3.6.1 無條件轉移指令(42)
3.6.2 條件轉移指令(44)
3.6.3 調用與返回指令(46)
3.6.4 空操作指令(48)
3.7 位操作類指令(48)
3.8 MCS-51彙編語言的偽指令(50)
習題3 (53)
軟體實訓1 (55)
第4章 單片機C語言基礎(59)
4.1 單片機C語言概述(59)
4.1.1 C語言的特點(59)
4.1.2 單片機C語言—C51 (60)
4.2 單片機C51語言基本語法(60)
4.2.1 C51的運算量(60)
4.2.2 C51的數據類型(62)
4.2.3 C51的存儲種類和存儲器類型(69)
4.2.4 C51的運算符和表達式(72)
習題4 (81)
第5章 MCS-51單片機程序設計(83)
5.1 程序設計的基本方法(83)
5.1.1 程序設計的步驟(83)
5.1.2 源程序的編輯、編譯和彙編(85)
5.2 程序的基本形式與設計舉例(88)
5.2.1 彙編語言程序的基本結構與設計舉例(88)
5.2.2 C51程序的基本結構與設計舉例(97)
習題5 (119)
第6章 C51的構造類型數據(121)
6.1 數組(121)
6.1.1 數組的引入(121)
6.1.2 一維數組(122)
6.1.3 二維數組(125)
6.1.4 字元數組(127)
6.1.5 數組的存儲空間(128)
6.2 指針(129)
6.2.1 指針的基本概念(129)
6.2.2 指針的定義(130)
6.2.3 指針變數的引用(131)
6.2.4 指針變數的運算(133)
6.2.5 指針變數作為函數的參數(134)
6.2.6 數組的指針(134)
6.2.7 函數型指針(135)
6.2.8 指針數組(137)
6.3 結構體(137)
6.3.1 結構的定義(137)
6.3.2 結構類型變數的引用和初始化(139)
6.3.3 結構類型數組(140)
6.3.4 結構類型指針(141)
6.4 聯合體(142)
6.5 枚舉(143)
6.6 typedef語句(145)
6.7 預處理(146)
6.7.1 宏定義(146)
6.7.2 文件包含(148)
6.7.3 條件編譯(148)
習題6 (149)
軟體實訓2 (150)
第3部分 MCS-51單片機的基本功能單元(157)
第7章 MCS-51單片機的并行輸入/輸出埠(157)
7.1 埠功能概述(157)
7.2 埠的內部結構與運作(158)
7.2.1 P0口(158)
7.2.2 P1口(160)
7.2.3 P2口(160)
7.2.4 P3口(162)
7.3 應用舉例(163)
習題7 (165)
第8章 MCS-51單片機的中斷系統(166)
8.1 中斷的基本概念(166)
8.2 中斷機構及操作(167)
8.2.1 中斷源(167)
8.2.2 中斷請求標誌(168)
8.2.3 中斷的控制(169)
8.3 中斷處理過程(170)
8.4 中斷程序的編寫(173)
8.4.1 彙編語言編寫中斷程序(173)
8.4.2 C51編寫中斷程序(176)
習題8 (178)
第9章 MCS-51單片機的定時/計數器(179)
9.1 定時/計數器的結構和工作原理(179)
9.2 定時/計數器的控制(181)
9.3 定時/計數器的工作方式(182)
9.3.1 工作方式0 (182)
9.3.2 工作方式1 (184)
9.3.3 工作方式2 (187)
9.3.4 工作方式3 (188)
習題9 (189)
第10章 MCS-51單片機的串列口(191)
10.1 數據通信基礎知識(191)
10.1.1 數據通信的概念(191)
10.1.2 通信協議(191)
10.1.3 數據傳輸模式(193)
10.1.4 雙工通信方式(194)
10.1.5 串列通信介面電路(194)
10.1.6 串列通信匯流排標準(195)
10.2 MCS-51單片機的串列口結構與工作原理(198)
10.2.1 串列口結構(198)
10.2.2 串列口的工作原理(200)
10.3 串列口的控制寄存器(200)
10.3.1 串列口控制寄存器SCON (200)
10.3.2 電源控制寄存器PCON (202)
10.3.3 中斷允許控制寄存器IE (202)
10.4 串列口的工作方式(202)
10.4.1 工作方式0 (202)
10.4.2 工作方式1 (206)
10.4.3 工作方式2 (208)
10.4.4 工作方式3 (210)
10.4.5 串列通信編程的程序流程(212)
10.5 單片機與PC的通信(216)
習題10 (218)
硬體實訓1 (218)
第4部分 單片機的擴展技術(224)
第11章 MCS-51單片機的并行擴展技術(224)
11.1 單片機并行擴展的匯流排結構及編址技術(224)
11.1.1 并行擴展系統結構(224)
11.1.2 并行擴展匯流排的構造(225)
11.1.3 編址技術(226)
11.2 存儲器的并行擴展(228)
11.2.1 片外存儲器的訪問過程(228)
11.2.2 存儲器并行擴展實例(229)
11.3 單片機應用系統中并行I/O埠的擴展(234)
11.3.1 并行輸入/輸出口的簡單擴展(235)
11.3.2 單片機應用系統的可編程并行I/O晶元的擴展(238)
11.4 并行A/D和D/A轉換器及其與單片機的介面(252)
11.4.1 A/D轉換器及其與單片機的介面(253)
11.4.2 D/A轉換器及其與單片機的介面(257)
11.5 單片機與LED顯示器及鍵盤介面(262)
11.5.1 單片機與LED顯示器的介面(262)
11.5.2 單片機與鍵盤的介面(269)
11.5.3 8279鍵盤/顯示器介面晶元(275)
11.6 單片機與液晶顯示器LCD介面(285)
11.6.1 ICM7211的結構與引腳(286)
11.6.2 ICM7211應用舉例(288)
11.7 單片機與印表機介面(289)
11.7.1 微型印表機簡介(289)
11.7.2 印表機與單片機介面(290)
習題11 (292)
第12章 MCS-51單片機的串列擴展技術(293)
12.1 I2C匯流排介面技術(293)
12.1.1 I2C匯流排介面(293)
12.1.2 I2C匯流排的軟體模擬(297)
12.2 SPI串列外設介面(303)
12.2.1 SPI匯流排的組成(303)
12.2.2 SPI匯流排的軟體模擬(304)
12.2.3 SPI匯流排介面應用實例(305)
12.3 MCS-51單片機串列口工作方式0串列擴展介面(311)
12.3.1 單片機串列口工作方式0串列擴展介面組成(311)
12.3.2 串列工作方式0串列擴展介面實例(311)
習題12 (312)
硬體實訓2 (313)
參考文獻(328)