內容簡介
《單片機原理與接口技術教程》以MCS-51單片機為代表機型,詳細講述8位單片機的硬體結構、工作原理、指令系統和彙編語言程式設計;著重介紹單片機C語言程式設計技術,討論C語言對單片機硬體資源的操作和控制,並通過一系列簡單的實例,分析單片機套用系統中常用的並行輸入輸出接口、數碼管接口、LCD接口、串列接口、存儲器接口及外圍設備擴展等方面的設計要點。此外,《單片機原理與接口技術教程》重視通信類套用實踐技術,詳細介紹單片機串列通信接口擴展、通過串列接口控制GSM模組收發短訊息、通過RS-485匯流排實現多機通信、電話用戶線通信接口以及精簡TCP/IP協定棧的設計和實現。每部分內容均由實際項目總結提煉而來,並給出了完整的電路原理圖和測試代碼。
目錄
第1章 概論1
1.1 什麼是單片機1
1.2 單片機的發展過程及趨勢1
1.3 單片機的特點及套用場合4
1.4 單片機與嵌入式系統6
1.5 MCS-51系列單片機6
習題與思考7
第2章 MCS-51單片機的硬體結構及工作原理8
2.1 單片機的內部結構8
2.2 單片機的封裝及引腳功能說明10
2.2.1 單片機的封裝10
2.2.2 單片機的引腳功能說明10
2.3 單片機的微處理器13
2.3.1 運算器13
2.3.2 控制器14
2.3.3 振盪器、時鐘電路及時序15
2.4 單片機的復位19
2.4.1 單片機的復位功能19
2.4.2 常用的復位電路21
2.5 單片機的存儲系統22
2.5.1 單片機存儲系統結構22
2.5.2 程式存儲器24
2.5.3 數據存儲器24
2.5.4 特殊功能暫存器26
2.6 MCS-51單片機並行I/O連線埠結構及其功能28
2.6.1 並行I/O連線埠的內部結構28
2.6.2 並行I/O連線埠的讀-修改-回寫操作32
2.7 單片機外部匯流排擴展33
2.7.1 單片機外部匯流排擴展的結構33
2.7.2 地址空間的分配及解碼34
2.7.3 擴展外部程式存儲器的電路設計37
2.7.4 擴展外部數據存儲器的電路設計38
2.8 單片機定時器/計數器的結構及功能41
2.8.1 定時器/計數器的結構及工作原理41
2.8.2 定時器/計數器的控制與狀態暫存器42
2.8.3 MCS-51定時器/計數器0和1的工作方式44
2.8.4 MCS-51定時器/計數器2的工作方式47
2.9 串列通信51
2.9.1 串列通信概論51
2.9.2 串列通信匯流排標準及接口54
2.9.3 MCS-51串列接口的組成59
2.9.4 MCS-51串列接口的工作方式61
2.9.5 MCS-51串列接口波特率的設定64
2.10 中斷系統67
2.10.1 中斷系統的結構67
2.10.2 中斷回響72
2.10.3 中斷請求的撤銷74
習題與思考75
第3章 MCS-51單片機的指令系統78
3.1 指令系統概述78
3.1.1 指令的概念78
3.1.2 指令系統符號標識的說明80
3.2 定址方式81
3.2.1 立即定址82
3.2.2 暫存器定址83
3.2.3 間接定址83
3.2.4 直接定址84
3.2.5 變址定址85
3.2.6 相對定址85
3.2.7 位定址86
3.3 指令分類介紹87
3.3.1 數據傳送類指令87
3.3.2 算術運算類指令91
3.3.3 邏輯運算類指令95
3.3.4 控制轉移類指令97
3.3.5 布爾(位)處理類指令101
習題與思考104
第4章 MCS-51彙編語言程式設計106
4.1 彙編語言程式設計概述106
4.1.1 彙編語言程式設計的基本步驟與方法107
4.1.2 彙編語言設計常用偽指令簡介111
4.2 單片機彙編語言基礎程式設計舉例114
4.2.1 順序結構程式設計114
4.2.2 分支結構程式設計115
4.2.3 循環結構程式設計117
4.2.4 子程式設計120
4.3 彙編語言程式設計實例124
4.3.1 通過I/O連線埠驅動LED124
4.3.2 查詢方式的定時器套用125
4.3.3 中斷方式的定時器套用126
習題與思考127
第5章 單片機C語言程式設計129
5.1 C51的數據類型與基本運算130
5.1.1 C51的數據類型、變數及存儲模式130
5.1.2 運算符與表達式133
5.1.3 基本語句139
5.2 函式143
5.2.1 函式的定義143
5.2.2 函式的調用145
5.2.3 中斷服務函式與暫存器組選擇148
5.2.4 函式中變數的存儲方式149
5.3 數組與指針151
5.3.1 數組的定義和引用151
5.3.2 字元數組152
5.3.3 指針的概念152
5.3.4 數組的指針154
5.3.5 指針的地址計算155
5.4 結構與聯合156
5.4.1 結構變數的定義與引用156
5.4.2 結構變數的初值159
5.4.3 結構數組159
5.4.4 結構指針160
5.4.5 聯合變數的定義與引用160
5.5 預處理器162
5.5.1 宏定義163
5.5.2 檔案包含164
5.5.3 條件編譯165
5.6 C51程式實例166
5.6.1 數據的分析和處理166
5.6.2 串列口數據收發167
5.6.3 查詢方式的定時器套用168
5.6.4 中斷方式的定時器套用169
習題與思考170
第6章 輸入輸出接口及系統擴展設計172
6.1 鍵盤及其接口設計172
6.1.1 鍵盤的基本工作原理172
6.1.2 獨立式鍵盤接口設計173
6.1.3 行列式鍵盤接口設計177
6.2 LED顯示器及其接口設計180
6.2.1 數碼管顯示器的結構與工作原理181
6.2.2 數碼管的靜態顯示與動態顯示183
6.3 字元點陣LCD顯示模組的控制——模擬匯流排時序驅動187
6.3.11602字元點陣式LCM簡介188
6.3.21602字元點陣式LCM與單片機的接口192
6.4 圖形點陣LCD顯示模組的控制——擴展匯流排驅動194
6.4.1128×64圖形點陣液晶顯示模組簡介195
6.4.2128×64圖形點陣式LCM和單片機的接口197
6.5 並行輸入輸出接口的擴展205
6.5.1 通過串列口擴展並行輸入輸出接口205
6.5.2 通過系統匯流排擴展並行I/O連線埠208
6.6 單片機I/O連線埠模擬時序操作擴展設備209
6.6.1 I2C串列匯流排的基本特點209
6.6.2 I2C串列匯流排通信協定210
6.6.3 單片機系統I2C串列匯流排套用實例212
習題與思考217
第7章 單片機串列通信接口219
7.1 Hello,World!219
7.2 單片機串列口查詢方式通信221
7.2.1 設計思路分析221
7.2.2 串列口查詢方式通信程式實例222
7.3 單片機串列口中斷方式通信223
7.3.1 設計思路分析223
7.3.2 串列口中斷方式通信程式實例227
7.4 通過16C550擴展串列通信接口230
7.4.116C550簡介230
7.4.2 單片機控制16C550實現擴展串列口240
7.5 擴展串列口在GSM無線通信網路中的套用248
7.5.1 GSM網路概述248
7.5.2 GSM Modem模組簡介248
7.5.3 通過GSM Modem收發短訊息252
7.5.4 GSM Modem模組與單片機的接口及套用257
7.6 通過RS-485匯流排實現單片機的多機通信264
7.6.1 單片機和RS-485匯流排收發器的接口電路設計264
7.6.2 單片機主從式多機通信的原理266
7.6.3 單片機主從式多機通信實例267
習題與思考273
第8章 電話通信接口275
8.1 電話用戶線接口簡介275
8.1.1 用戶線接口的功能275
8.1.2 用戶線接口信號分析276
8.2 用戶線信號檢測及控制電路的設計276
8.2.1 振鈴信號檢測電路276
8.2.2 雙音多頻信號解碼電路278
8.2.3 電話接口電路281
8.2.4 繼電器控制電路281
8.3 電話遠程遙控系統的硬體電路設計283
8.3.1 CPU的選擇285
8.3.2 各部分電路的工作原理285
8.4 電話遠程遙控系統的軟體設計288
8.4.1 軟體系統分析288
8.4.2 系統軟體設計290
習題與思考295
第9章 乙太網通信接口297
9.1 TCP/IP協定的分層結構及數據處理297
9.1.1 TCP/IP協定的分層結構297
9.1.2 TCP/IP協定數據的處理299
9.2 相關協定報文的格式300
9.2.1 乙太網幀格式300
9.2.2 ARP報文格式301
9.2.3 IP報文格式301
9.2.4 ICMP報文格式303
9.2.5 UDP報文格式303
9.3 嵌入式精簡TCP/IP協定棧的結構及現實意義304
9.3.1 嵌入式精簡TCP/IP協定棧的總體結構304
9.3.2 嵌入式精簡TCP/IP協定棧的現實意義305
9.4 乙太網串列口數據轉換模組的硬體設計305
9.4.1 乙太網接口晶片RTL8019AS305
9.4.2 單片機系統接口電路設計310
9.5 乙太網串列口數據轉換模組的軟體設計314
9.5.1 串列口控制程式的設計314
9.5.2 RTL8019AS控制程式的設計314
9.5.3 精簡TCP/IP協定棧系統工作流程及代碼分析319
9.5.4 乙太網串列口數據轉換模組工作實測355
習題與思考356
參考文獻357
前言
20世紀70年代,單片機的誕生可視為計算機系統正式劃分為通用計算機系統和嵌入式系統的分水嶺。雖然單片機誕生至今已有30多年,近年各種新型的嵌入式微處理器也不斷湧現,但單片機在一塊晶片上集成了一個計算機系統的基本部件,採用單片機開發的嵌入式系統的體積、功耗、成本不斷降低,因此單片機仍具有極強的生命力和競爭力,占據著微控制器領域的主要市場份額。本書以MCS一51單片機為代表機型,詳細講述了單片機原理及常用的接口技術,並給出了多個綜合實例。