內容簡介
本書以AT89系列單片機為代表機型,全面、詳細地介紹了AT89系列單片機的硬體、軟體及套用技術。全書共分11章,第1、2章介紹了單片機的硬體設計基礎,包括單片機概述和AT89系列單片機的硬體體系結構與原理;第3~5章介紹了單片機的軟體設計基礎,包括指令系統、彙編語言程式設計、c51語言程式設計、C51與彙編語言的混合編程、KeilμVision2開發平台的使用及使用ProteusISIS進行單片機套用系統虛擬仿真的方法;第6章介紹了AT89系列單片機的內部資源及編程,包括中斷系統、定時/計數器和串列通信;第7、8章介紹了AT89系列單片機存儲器和外圍接口擴展技術;第9章介紹了SPI、I2c和1.wire等串列匯流排接口技術、常用的串列接口外圍晶片,並通過大量實例介紹了串列匯流排接口技術的套用;第10、11章介紹了單片機套用系統設計方法和設計實例。《單片機原理與套用及C51編程技術》選材新穎,內容豐富,講解由淺入深、循序漸進,編排順序合理,可讀性好,實用性強,並有豐富的例題及習題。
目錄
前言
第1 章 單片機概述 1
1 1 單片機的概念及主要特點 1
1. 2 單片機的分類及發展趨勢 1
1. 2. 1 單片機發展現狀 1
1. 2. 2 單片機的發展趨勢 2
1. 3 常見的主流單片機 3
1. 3. 1 目前流行的51 核心單片機 3
1. 3. 2 目前流行的非51 核心的單片機 8
1. 4 單片機的套用領域 9
習題1 10
第2 章 AT89 系列單片機的硬體體系
結構 11
2. 1 AT89 系列單片機概述 11
2. 1. 1 AT89 系列單片機簡介 11
2. 1. 2 AT89 系列單片機的主要性能 11
2. 1. 3 AT89 系列單片機的主要品種 11
2. 1. 4 AT89 系列單片機的型號編碼 13
2. 2 AT89 系列單片機的結構原理 13
2. 2. 1 AT89 系列單片機的基本組成 13
2. 2. 2 AT89 系列單片機的內部框圖 14
2. 2. 3 AT89 系列單片機的CPU 14
2. 3 AT89 系列單片機的存儲器結構 17
2. 3. 1 AT89 系列單片機的程式存儲器 17
2. 3. 2 AT89 系列單片機的數據存儲器 19
2. 4 AT89 系列單片機的引腳功能 26
2. 4. 1 外部引腳 26
2. 4. 2 片外匯流排結構 28
2. 5 AT89 系列單片機的I/ O 接口 28
2. 5. 1 P0 口 28
2. 5. 2 P1 口 29
2. 5. 3 P2 口 30
2. 5. 4 P3 口 30
2. 6 AT89S 系列單片機內部看門狗定
時器 31
2. 6. 1 看門狗定時器簡介 31
2. 6. 2 看門狗定時器的使用 31
2. 7 AT89 系列單片機的復位工作方式 32
2. 8 AT89 系列單片機的低功耗方式 33
2. 8. 1 空閒工作方式 33
2. 8. 2 掉電工作方式 34
2. 9 AT89 系列單片機的時序 34
2. 9. 1 幾個基本時序單位 34
2. 9. 2 CPU 取指令和執行指令時序 35
習題2 36
第3 章 單片機的指令系統及彙編語言
程式設計 38
3. 1 51 系列單片機指令系統概述 38
3. 2 51 系列單片機的定址方式 38
3. 2. 1 立即定址 39
3. 2. 2 暫存器定址 39
3. 2. 3 直接定址 39
3. 2. 4 暫存器間接定址 39
3. 2. 5 相對定址 40
3. 2. 6 變址定址 40
3. 2. 7 位定址 41
3. 3 51 系列單片機指令系統 41
3. 3. 1 數據傳送指令 41
3. 3. 2 算術運算指令 44
3. 3. 3 邏輯操作指令 47
3. 3. 4 控制轉移指令 49
3. 3. 5 位操作指令 55
3. 4 51 系列單片機彙編語言的語句格式 56
3. 5 51 系列單片機彙編程式常用偽指令 57
3. 5. 1 定義起始地址偽指令 57
3. 5. 2 定義彙編結束偽指令 57
3. 5. 3 標號賦值偽指令 58
3. 5. 4 位元組定義偽指令 58
3. 5. 5 字定義偽指令 58
3. 5. 6 存儲區定義偽指令 59
3. 5. 7 位定義偽指令 59
3. 5. 8 內部RAM 地址賦值偽指令 59
3. 5. 9 外部RAM 地址賦值偽指令 59
3. 6 51 系列單片機彙編程式設計方法 60
3. 6. 1 順序結構程式設計 60
3. 6. 2 分支結構程式設計 61
3. 6. 3 循環結構程式設計 61
3. 6. 4 查表程式設計 62
3. 6. 5 子程式設計 64
習題3 66
第4 章 C51 程式設計 67
4. 1 C51 程式設計基礎 67
4. 1. 1 C51 語言特點和程式結構 67
4. 1. 2 C51 的字元集、標識符與關
鍵字 68
4. 2 C51 數據類型 69
4. 2. 1 字元型 70
4. 2. 2 整型 70
4. 2. 3 長整型 70
4. 2. 4 浮點型 70
4. 2. 5 位型 71
4. 2. 6 暫存器型 71
4. 3 C51 運算量 71
4. 3. 1 常量 71
4. 3. 2 變數 73
4. 3. 3 C51 擴展數據類型的變數定義 75
4. 3. 4 C51 絕對地址訪問 77
4. 3. 5 儲存模式 78
4. 4 C51 運算符和表達式 79
4. 4. 1 算術運算符與算術表達式 79
4. 4. 2 邏輯運算符與邏輯表達式 79
4. 4. 3 關係運算符與關係表達式 80
4. 4. 4 位操作運算符與位表達式 80
4. 4. 5 賦值運算符與賦值表達式 81
4. 4. 6 逗號運算符與逗號表達式 82
4. 5 C51 語句 82
4. 5. 1 if 語句 82
4. 5. 2 switch 語句 83
4. 5. 3 while 語句 84
4. 5. 4 do ̄while 語句 84
4. 5. 5 for 語句 85
4. 5. 6 goto 語句、break 語句和continue
語句 85
4. 5. 7 return 語句 87
4. 6 C51 語言中的數組、指針、結構和
聯合 87
4. 6. 1 數組 87
4. 6. 2 指針 88
4. 6. 3 結構 89
4. 6. 4 聯合 90
4. 6. 5 枚舉 91
4. 7 函式、庫函式和預處理命令 91
4. 7. 1 函式的定義 92
4. 7. 2 函式的調用和聲明 93
4. 7. 3 中斷函式 93
4. 7. 4 庫函式 95
4. 7. 5 預處理命令 97
4. 8 C51 程式設計 98
4. 8. 1 數值運算程式設計 98
4. 8. 2 硬體接口程式設計 100
4. 9 C51 語言和彙編語言混合編程 101
4. 9. 1 在C51 語言中嵌入彙編語言 101
4. 9. 2 C51 語言和彙編語言程式參數的
傳遞 103
4. 9. 3 帶參數傳遞的彙編語言調用程式
實例 104
習題4 105
第5 章 單片機套用系統的開發環境及
仿真軟體簡介 106
5. 1 Keil C51 μVision2 集成開發環境 106
5. 1. 1 Keil C51 μVision2 的工作環境 106
5. 1. 2 工程的創建 108
5. 1. 3 工程的設定 109
5. 1. 4 工程的調試運行 110
5. 1. 5 存儲空間資源的查看和修改 112
5. 1. 6 變數的查看和修改 113
5. 2 單片機硬體仿真開發工具Proteus 114
5. 2. 1 Proteus ISIS 的功能簡介 114
5. 2. 2 Proteus ISIS 的用戶界面 114
5. 2. 3 Proteus ISIS 的單片機系統仿真 116
5. 2. 4 Proteus ISIS 與Keil C51 的聯合
使用 119
習題5 121
第6 章 AT89 系列單片機的內部資源
及套用 122
6. 1 AT89 系列單片機的並行口及其
套用 122
6. 2 AT89 系列單片機的中斷系統 124
6. 2. 1 中斷的基本概念 124
Ⅵ
6. 2. 2 AT89 系列單片機的中斷系統 125
6. 2. 3 外部事件中斷及套用 130
6. 3 AT89 系列單片機定時/計數器 136
6. 3. 1 定時/ 計數器的一般結構和工作
原理 137
6. 3. 2 定時/ 計數器T0、T1 的功能和使用
方法 137
6. 3. 3 定時/ 計數器的初始化編程及
套用 145
6. 3. 4 AT89S 系列單片機看門狗定時器
的編程方法 150
6. 4 AT89 系列單片機的串列接口及串列
通信 151
6. 4. 1 串列口的基本通信方式 151
6. 4. 2 單片機串列口及控制暫存器 152
6. 4. 3 單片機串列通信工作方式 153
6. 4. 4 單片機串列口的初始化編程及
波特率設定 155
6. 4. 5 RS ̄232C 串列口標準 157
6. 4. 6 RS ̄422、RS ̄485 標準串列匯流排
接口 160
6. 4. 7 串列通信套用舉例 161
習題6 173
第7 章 AT89 系列單片機的存儲器
擴展技術 174
7. 1 匯流排擴展及地址分配 174
7. 1. 1 系統匯流排 174
7. 1. 2 匯流排擴展 175
7. 1. 3 地址分配 175
7. 2 AT89 系列單片機外部存儲器的
擴展 178
7. 2. 1 外部存儲器擴展的方法 178
7. 2. 2 程式存儲器的擴展 178
7. 2. 3 數據存儲器的擴展 180
7. 2. 4 程式存儲器和數據存儲器的綜合
擴展 182
習題7 184
第8 章 AT89 系列單片機的接口擴展
技術 186
8. 1 I/ O 接口的擴展技術 186
8. 1. 1 I/ O 接口的功能 186
8. 1. 2 I/ O 連線埠的編址 186
8. 1. 3 I/ O 接口數據的傳送方式 187
8. 1. 4 簡單I/ O 接口的擴展 188
8. 1. 5 可程式序8255A 的並行I/ O
擴展 189
8. 2 LED 顯示器及其與單片機的接口
技術 196
8. 2. 1 LED 顯示器的結構與原理 196
8. 2. 2 LED 顯示器的解碼方式 197
8. 2. 3 LED 顯示器的顯示方式 197
8. 2. 4 LED 顯示器與單片機的接口 198
8. 3 鍵盤及其與單片機的接口技術 201
8. 3. 1 鍵盤的工作原理 201
8. 3. 2 獨立式按鍵與單片機的接口 202
8. 3. 3 矩陣式鍵盤與單片機的接口 204
8. 4 LCD顯示器及其與單片機的接口技術 210
8. 4. 1 LCD 顯示器的分類 210
8. 4. 2 LCD 模組的引腳 210
8. 4. 3 暫存器選擇、顯示器地址及字元
發生器 211
8. 4. 4 LCM 控制指令 213
8. 4. 5 AT89 單片機與LCD 模組的
接口 213
8. 5 A/ D、D/ A 轉換器及其與單片機
的接口技術 215
8. 5. 1 模/數(A/ D) 轉換接口 215
8. 5. 2 數/模(D/ A) 轉換接口 220
習題8 225
第9 章 串列匯流排接口技術 226
9. 1 SPI 串列匯流排接口技術 226
9. 1. 1 SPI 串列匯流排簡介 226
9. 1. 2 SPI 串列接口A/ D 轉換器TLC549
及其軟硬體設計 226
9. 1. 3 SPI 串列接口D/ A 轉換器TLC5615
及其軟硬體設計 231
9. 2 I2C 匯流排接口技術 236
9. 2. 1 I2C 匯流排簡介 236
9. 2. 2 用I/ O 口模擬I2 C 匯流排操作子
程式 238
9. 2. 3 24Cxx 系列E2 PROM 晶片及其與
單片機的接口 245
9. 2. 4 數碼管動態顯示驅動、鍵盤掃描
管理晶片ZLG7290B 及與單片機
接口 248
Ⅶ
9. 3 單匯流排(1 ̄Wire) 接口技術 260
9. 3. 1 1 ̄Wire 簡介 260
9. 3. 2 DS18B20 簡介 260
9. 3. 3 DS18B20 的讀寫時序 262
9. 3. 4 DS18B20 的操作流程及指令
說明 266
9. 3. 5 電子溫度計的設計 267
習題9 272
第10 章 單片機套用系統設計方法 274
10. 1 單片機典型套用系統組成 274
10. 2 單片機典型套用系統開發過程 274
10. 2. 1 確定任務 274
10. 2. 2 總體設計 275
10. 2. 3 系統硬體設計 276
10. 2. 4 系統軟體設計 278
10. 2. 5 軟硬體系統在線上調試 280
10. 2. 6 性能測定 281
10. 2. 7 生成正式產品 281
習題10 282
第11 章 單片機套用系統設計實例 283
11. 1 簡易數字頻率計的設計 283
11. 1. 1 設計要求 283
11. 1. 2 總體方案 283
11. 1. 3 系統硬體設計 283
11. 1. 4 系統軟體設計 284
11. 2 壓力測量系統的設計 289
11. 2. 1 設計要求 289
11. 2. 2 總體方案 289
11. 2. 3 系統硬體設計 290
11. 2. 4 系統軟體設計 292
習題11 297
附錄A 51 系列單片機指令表 298
附錄B C51 常見的庫函式 303
參考文獻 310