圖書簡介
全書分10章,主要包括單片機概述、內部結構、指令系統與定址方式、彙編語言程式設計、計時器/計數器、中斷系統、串列通信、外部系統擴展、輸入輸出及接口技術、單片機系統開發和套用實例。
本書在參考國內外大量資料的基礎上,並結合編者多年的教學和科研實踐編寫而成。在編寫過程中,既做到內容全面、敘述清楚,又注重最新的單片機套用技術,並且在第8章和第9章中介紹當前流行的SPI、IIC、1-Wire等串列匯流排的工作原理、接口技術及其套用。
本書理論體系完整,內容翔實,語言通俗易懂,實例實用性和針對性強,既適合作為高等院校信息工程、計算機套用、自動化、電氣工程和機電等專業的教材,又可供有關技術培訓及工程技術人員自學參考之用。
前言
隨著科技的發展,微型計算機特別是單片機的發展十分迅速,其檔次不斷提高,功能越來越強。由於單片機集成度高、體積小、控制功能強、可靠性高、性價比高等優點,使其廣泛套用於工業測控、智慧型儀器儀表、民用電子產品等領域中。
單片機的廣泛套用,使其科技地位日益提高。廣大師生及科技工作者不斷掀起了學習、開發、套用單片機的熱潮。
目前,單片機系列繁多,上百種機型,有8位、16位、32位的單片機,但是8位單片機仍是主流產品。本書以當前流行的P89C5x系列單片機為主線,將傳統技術與最新前沿技術結合起來,系統介紹了單片機工作原理、接口技術及其套用。
全書共分10章,第1章為單片機概述及P89C5x系列簡介;第2章為P89C5x單片機內部結構,詳細介紹了它的內部結構、工作原理、時序及flash編程與加密;第3章介紹了單片機彙編指令及7種定址方式;第4章通過實例介紹單片機彙編語言程式設計;第5章、第6章、第7章分別介紹單片機的計時器/計數器、中斷系統及串列通信等技術;第8章主要介紹了SPI、IIC、SMBus、1-Wire串列匯流排的工作原理及擴展方法;第9章以串列擴展方式為主,介紹了LED、LCD、D/A、A/D、實時時鐘、語音接口、溫度測量等串列輸入輸出接口的原理及套用方法;第10章列舉了幾個單片機實用開發實例。前9章均配有大量的習題,以幫助讀者複習鞏固及提高所學知識。
本書可作為套用型本科、高職高專等高等院校的電子工程、計算機套用、通信工程、自動控制及相關專業的教材,也可供從事單片機開發與套用工程的技術人員參考。
參加本書編寫的有陳忠平、曹巧媛、曹琳琳、劉瓊、申曉龍等。全書由李剛民教授主審,趙萬毅教授、王景芳教授審校。在本書的編寫過程中還得到了湖南三一重工王漢其、侯玉寶、劉同法、胡彥倫等眾位高工、老師的大力支持及幫助,在此向他們表示衷心的感謝。同時對在編寫過程中參
考的多部單片機原理及相關著作的作者表示深深的謝意!
由於編寫時間倉促、編者水平有限,書中難免有錯誤及不妥之處,懇請讀者批評指正。若有好的建議請與我們聯繫,
編 者
2007年1月於長沙嶽麓山
目錄
第1章 緒論 1
1.1 概述 1
1.2?單片微型計算機 1
1.2.1 單片機的發展簡史及最新發展狀況 2
1.2.2 單片機的特點、分類及套用 5
1.3 P89系列單片機簡介 7
1.3.1 P89C5x系列單片機性能 7
1.3.2 P89C5x系列單片機外形封裝 8
1.3.3 P89C5x單片機套用系統結構 9
1.4 單片機的學習方法及系統開發啟示 9
1.4.1 學習單片機應具備的知識與能力 10
1.4.2 單片機學習的方法引導 10
1.4.3 單片機的學習要點 10
1.4.4 單片機系統的開發步驟 11
小結 12
習題 12
第2章 P89C5x單片機內部結構 13
2.1 P89C5x單片機的組成 13
2.1.1 單片機的引腳及功能 13
2.1.2 P89C5x單片機內部結構 15
2.2 P89C5x單片機存儲器結構 19
2.2.1 程式存儲器 20
2.2.2 數據存儲器 21
2.2.3 特殊功能暫存器 22
2.3 P89C5x單片機I/O連線埠 25
2.3.1 P0連線埠結構及其操作 25
2.3.2 P1連線埠結構及其操作 26
2.3.3 P2連線埠結構及其操作 27
2.3.4 P3連線埠結構及其操作 28
2.3.5 I/O連線埠的套用特性 29
2.4?單片機工作方式及時序 30
2.4.1 復位方式 30
2.4.2 程式執行方式 32
2.4.3 低功耗方式 32
2.4.4 線上仿真 35
2.4.5 振盪器與時鐘電路 35
2.4.6 可程式時鐘輸出 36
2.4.7 機器周期和指令周期 36
2.5 單片機flash存儲器的編程及加密方法 37
2.5.1 flash存儲器的編程 37
2.5.2 單片機的加密方法 37
小結 38
習題 38
第3章 單片機指令系統與定址方式 40
3.1 概述 40
3.2 定址方式 41
3.2.1 立即定址方式 42
3.2.2 直接定址方式 42
3.2.3 暫存器定址方式 42
3.2.4 暫存器間接定址方式 42
3.2.5 基址加變址間接定址方式 43
3.2.6 相對定址 44
3.2.7 位定址方式 44
3.3 指令系統 44
3.3.1 指令分類 44
3.3.2 數據傳送類 45
3.3.3 算術運算類指令 51
3.3.4 邏輯運算類 57
3.3.5 控制轉移類 60
3.3.6 位操作類傳送指令 65
3.4 偽指令 67
小結 69
習題 69
第4章 彙編語言程式設計 72
4.1 概述 72
4.2 順序程式設計 73
4.3 分支程式設計 74
4.4 循環程式設計 77
4.5 子程式設計和參數傳遞 80
4.6 查表類程式設計 82
4.7 軟體延時程式設計 83
4.8 輸入輸出類程式設計 84
小結 88
習題 88
第5章 P89C5x的計時器/計數器 89
5.1 計時器/計數器的內部結構及工作原理 89
5.1.1 計時器/計數器的內部結構 89
5.1.2 計時器/計數器的工作原理 89
5.1.3 計時器/計數器的控制暫存器 90
5.2 T0和T1的工作方式與套用 94
5.2.1 方式0及其套用 94
5.2.2 方式1及其套用 96
5.2.3 方式2及其套用 98
5.2.4 方式3及其套用 101
5.3 T2計時器/計數器的工作方式與套用 103
5.3.1 捕獲方式及其套用 103
5.3.2 自動重裝方式及其套用 106
5.3.3 波特率發生器方式及其套用 108
5.4 計時器/計數器的綜合套用 110
小結 112
習題 112
第6章 中斷系統 113
6.1 中斷技術概述 113
6.1.1 中斷技術的優點 114
6.1.2 中斷處理流程 114
6.2 中斷系統 117
6.2.1 中斷系統的結構 117
6.2.2 中斷源及矢量地址 118
6.2.3 中斷控制 119
6.3 外部中斷源的擴展 122
6.3.1 利用計時器擴充外部中斷源 122
6.3.2 中斷和軟體查詢相結合擴充外部中斷源 123
6.3.3 矢量中斷擴充外部中斷源 124
6.4 中斷系統的套用 127
小結 131
習題 131
第7章 串列數據通信 132
7.1 串列數據通信基礎 132
7.1.1 串列通信的分類 132
7.1.2 串列通信的數據通路形式 134
7.1.3 RS-232-C匯流排標準 135
7.1.4 串列連線埠晶片 137
7.2 P89C5x的串列連線埠及控制暫存器 138
7.2.1 串列連線埠的內部結構 138
7.2.2 通信過程 139
7.2.3 串列通信控制暫存器 139
7.3 串列通信工作方式及波特率 141
7.3.1 串列通信的工作方式 141
7.3.2 串列連線埠的通信波特率 142
7.4 串列連線埠工作方式的套用 144
7.4.1 方式0的套用 144
7.4.2 方式1的套用 147
7.4.3 方式2和方式3的套用 152
小結 163
習題 163
第8章 外部系統的擴展 165
8.1 並行擴展匯流排 165
8.1.1 並行擴展匯流排方法 165
8.1.2 地址解碼方法 166
8.1.3 匯流排驅動 166
8.2 串列匯流排擴展 167
8.2.1 SPI匯流排 167
8.2.2 MICROWIRE匯流排 171
8.2.3 IIC匯流排 172
8.2.4 SMBus匯流排 177
8.2.5 單匯流排 179
8.3 並行存儲器的擴展 183
8.3.1 程式存儲器的擴展 183
8.3.2 數據存儲器的擴展 186
8.4 串列EEPROM的擴展 189
8.4.1 二線制IIC EEPROM AT24CXX系列的擴展 189
8.4.2 三線制SPI EEPROM AT25010/020/040系列的擴展 195
小結 197
習題 197
第9章 輸入輸出及接口技術 199
9.1 鍵盤 199
9.1.1 鍵盤的工作原理 199
9.1.2 獨立式鍵盤和矩陣式鍵盤 200
9.1.3 串列I/O連線埠擴充鍵盤 200
9.2 LED顯示器 203
9.2.1 LED顯示器的結構及分類 203
9.2.2 LED顯示器的顯示方式 204
9.2.3 MAX7219串列輸入輸出共陰極顯示驅動器 205
9.2.4 LED點陣顯示器 210
9.3 LCD顯示器 211
9.3.1 LCD液晶顯示器的基本知識 211
9.3.2 欄位式LCD顯示器 214
9.3.3 點陣字元式LCD顯示器 215
9.4 數模轉換器接口及套用 218
9.4.1 數模轉換器的原理及分類 218
9.4.2 10位串列D/A轉換器TLC5615 219
9.4.3 TLC5615的套用 221
9.5 模數轉換器接口及套用 222
9.5.1 模數轉換器的分類 222
9.5.2 11路12位串列A/D轉換器TLC2543 223
9.5.3 TLC2543與單片機的連線及套用 225
9.6 PCF8563實時時鐘日曆 227
9.6.1 PCF8563外部封裝及引腳功能 227
9.6.2 PCF8563晶片內部結構 228
9.6.3 16個8位暫存器的功能及其控制 229
9.6.4 PCF8563與單片機的連線 231
9.7 語音接口 234
9.7.1 ISD4004的外部封裝及引腳功能 235
9.7.2 ISD4004的內部結構 236
9.7.3 ISD4004串列SPI傳輸接口 236
9.7.4 操作指令及工作過程 237
9.7.5 ISD4004的套用 237
9.8 溫度測量 242
9.8.1 DS18B20封裝形式及引腳功能 242
9.8.2 DS18B20內部結構 242
9.8.3 DS18B20測溫原理 244
9.8.4 DS18B20的ROM命令 245
9.8.5 DS18B20與單片機的連線及其套用 246
小結 249
習題 249
第10章 單片機系統開發和套用實例 250
10.1??Vision2使用簡介 250
10.1.1 啟動?Vision2 250
10.1.2 創建套用 250
10.1.3 調試程式 254
10.2 單片機演奏音樂的設計 254
10.2.1 單片機產生音調的基礎知識 255
10.2.2 音樂軟體的設計 257
10.2.3 歌曲的設計 258
10.3 交通信號燈模擬控制 261
10.3.1 交通信號燈模擬控制原理 261
10.3.2 單片機模擬控制交通燈程式設計 262
10.4 步進電動機控制 265
10.4.1 步進電動機的工作原理及分配形式 265
10.4.2 步進電動機的單片機控制 266
10.4.3 鍵盤控制步進電動機正反轉及轉數的設計 267
10.5 紅外線遙控彩燈的設計 271
10.5.1 紅外線遙控原理 271
10.5.2 紅外線遙控彩燈硬體電路設計 273
10.5.3 紅外線遙控彩燈軟體設計 274
附錄A 單片機指令表 281
附錄B ASCII碼錶 286
附錄C Philips單片機選型指南 288
附錄D 常用積體電路引腳圖 290
參考文獻 295