圖書內容
本書以MCS-51單片機為對象,闡述了其結構和功能、指令系統、彙編語言和C51語言程式設計、中斷系統和定時/計數器、並行和串列存儲器擴展技術、串列通信接口、顯示器和鍵盤接口技術、數/模和模/數轉換器的接口技術,介紹了常用仿真軟體Proteus和Keil C51的Windows 集成開發環境μVision2的使用方法,並以典型例題為載體,將彙編語言和C51語言相對應地介紹了程式設計方法及單片機系統的設計方法。
本書以
C51語言為主,彙編語言為輔。書中所有例題均給出源程式及仿真運行結果。
目 錄
第0章 緒論 1
0.1 微型計算機系統組成及工作工程 1
0.1.1 微型計算機的組成 1
0.1.2 中央處理單元的組成 2
0.1.3 微型計算機的工作過程 4
0.2 單片機概述 8
0.2.1 單片機的特點 8
0.2.2 單片機的套用 8
0.2.3 單片機的發展歷史及未來方向 9
0.2.4 MCS-51系列單片機 10
0.2.5 主流的單片機類型 12
第1章 Proteus ISIS使用簡介 16
1.1 Proteus軟體組成 16
1.2 Proteus安裝環境及安裝步驟 17
1.3 啟動Proteus ISIS 20
1.4 選單介紹 21
1.4.1 主選單 21
1.4.2 標準工具列 22
1.4.3 繪圖工具列 23
1.4.4 仿真進程控制欄 24
1.5 基本操作 24
1.5.1 檔案打開關閉和環境設定 24
1.5.2 視窗操作常用方法 28
1.5.3 器件操作常用方法 29
1.5.4 與C51單片機有關的操作 30
1.5.5 其他操作 33
1.6 Proteus組件庫 33
1.7 電路原理圖設計方法 36
1.8 實例講解 37
第2章 Keil軟體使用說明 44
2.1 Keil工程的建立 44
2.2 工程的設定 49
2.3 編譯和連結 52
2.4 調試 53
2.4.1 常用調試命令 53
2.4.2 斷點設定 54
2.4.3 Keil程式調試視窗 55
第3章 MCS-51系列單片機的結構和工作原理 58
3.1 MCS-51單片機的內部組成和信號引腳 58
3.1.1 80C51單片機的內部組成 58
3.1.2 MCS-51系列單片機的引腳及功能 60
3.2 51子系列單片機的存儲器配置 62
3.2.1 程式存儲器 63
3.2.2 數據存儲器 64
3.3 並行I/O口P0~P3的結構 70
3.3.1 P0口 70
3.3.2 P1口 71
3.3.3 P2口 72
3.3.4 P3口 72
3.4 時鐘電路與時序 73
3.4.1 時鐘電路 73
3.4.2 時序定時單位 74
3.4.3 MCS-51典型指令時序 74
3.5 復位電路和低功耗工作方式 76
3.5.1 復位電路 76
3.5.2 掉電保護方式 77
3.5.3 低功耗工作方式 77
本章小結 79
思考題與習題 79
第4章 MCS-51單片機的指令系統 81
4.1 概述 81
4.1.1 指令和程式設計語言 81
4.1.2 彙編語言程式語句格式 82
4.1.3 運算元的類型 83
4.1.4 機器語言語句格式 83
4.1.5 偽指令 84
4.2 定址方式 87
4.2.1 符號注釋 88
4.2.2 定址方式 88
4.3 MCS-51單片機的指令系統 93
4.3.1 數據傳送類指令 93
4.3.2 算術運算類指令 97
4.3.3 邏輯運算及移位類指令 102
4.3.4 控制轉移類指令 104
4.3.5 位操作類指令 108
本章小結 111
思考題與習題 111
第5章 MCS-51的彙編語言程式設計 114
5.1 順序程式設計 114
5.2 循環程式設計 115
5.3 分支程式設計 117
5.4 子程式設計 119
本章小結 120
思考題與習題 121
第6章 單片機的C51語言編程 122
6.1 C51源程式的基本結構和常用的頭檔案 122
6.1.1 C51源程式的基本結構 122
6.1.2 C51中常用的頭檔案 123
6.2 C51的基本數據類型、數據存儲類型和存儲模式 125
6.2.1 C51的基本數據類型 125
6.2.2 C51數據的存儲類型 126
6.2.3 C51數據的存儲模式 126
6.2.4 變數聲明舉例 127
6.3 C51的運算符 128
6.4 C51的函式 129
6.4.1 函式的分類 130
6.4.2 函式的定義 130
6.4.3 函式的調用 130
6.4.4 對被調用函式的說明 131
6.5 單片機的C51語言編程 131
6.6 C51和彙編語言的混合編程 135
本章小結 137
思考題與習題 138
第7章 MCS-51單片機中斷系統與定時/計數器 139
7.1 中斷概述 139
7.1.1 數據的輸入/輸出傳送方式 139
7.1.2 中斷的基本概念 140
7.2 51子系列單片機的中斷系統結構及中斷控制 141
7.2.1 中斷源 142
7.2.2 中斷控制 143
7.2.3 中斷矢量地址 145
7.2.4 中斷回響過程及中斷回響時間 146
7.3 中斷的彙編語言程式和C51語言程式設計舉例 147
7.3.1 彙編語言中斷程式的設計 148
7.3.2 C51中斷程式的編寫 150
7.4 51子系列單片機定時/計數器的結構和暫存器 152
7.4.1 定時和計數的概念 152
7.4.2 51子系列單片機定時/計數器的結構 153
7.4.3 定時/計數器的暫存器 154
7.5 定時/計數器的工作方式及套用 155
7.5.1 工作方式0 155
7.5.2 工作方式1 157
7.5.3 工作方式2 160
7.5.4 工作方式3 161
7.5.5 門控位的套用舉例 162
7.5.6 定時/計數器在音樂輸出方面的套用 164
本章小結 167
思考題與習題 167
第8章 存儲器的擴展 169
8.1 單片機的擴展結構 169
8.1.1 單片機的擴展結構 169
8.1.2 單片機擴展的實現 170
8.2 並行存儲器的擴展 171
8.2.1 並行程式存儲器的擴展 171
8.2.2 並行數據存儲器的擴展 177
8.2.3 並行程式存儲器和數據存儲器的混合擴展 180
8.3 I2C匯流排及串列E2PROM的擴展 182
8.3.1 I2C匯流排概述 182
8.3.2 基於I2C匯流排的串列E2PROM的擴展 185
本章小結 189
思考題與習題 190
第9章 MCS-51單片機串列接口 191
9.1 串列通信概述 191
9.1.1 異步通信和同步通信 191
9.1.2 串列通信的線路傳輸方式 192
9.1.3 波特率 193
9.1.4 信號的調製與解調 194
9.2 MCS-51單片機串列口 194
9.2.1 串列口結構及工作原理 194
9.2.2 與串列口相關的特殊功能暫存器 195
9.2.3 波特率的設計 197
9.2.4 串列通信工作方式 199
9.2.5 串列口的套用舉例 200
9.2.6 串列口方式2和方式3的套用 207
9.3 RS-232C標準接口匯流排及串列通信硬體設計 208
9.3.1 RS-232C標準接口匯流排 208
9.3.2 信號電氣特性與電平轉換 209
9.3.3 RS-232C的套用 211
9.3.4 單片機與單片機及單片機與計算機之間的串列通信接口電路 212
9.4 單片機之間的點對點串列異步通信 213
9.4.1 通信協定 213
9.4.2 通信程式舉例 213
9.5 單片機與PC機之間的通信 222
9.5.1 PC機串口調試助手的介紹 222
9.5.2 單片機與PC機通信的舉例 223
本章小結 227
思考題與習題 227
第10章 單片機並行I/O接口擴展 229
10.1 I/O口擴展概述 229
10.1.1 I/O接口電路應具有的功能 229
10.1.2 I/O接口的基本結構 230
10.1.3 I/O口的操作 230
10.2 簡單並行I/O接口擴展 231
10.2.1 擴展並行輸入口 231
10.2.2 擴展並行輸出口 232
10.3 可程式並行接口晶片Intel 8155 234
10.3.1 8155的結構和引腳 234
10.3.2 I/O口及其工作方式 236
10.3.3 I/O口的工作方式 237
10.3.4 8155的定時/計數器 238
10.3.5 MCS-51單片機與8155的連線 239
10.4 LED/LCD顯示接口設計 241
10.4.1 LED顯示器 241
10.4.2 LCD顯示器 246
10.5 鍵盤接口技術 251
10.5.1 鍵盤結構及閉合鍵的識別方法 251
10.5.2 行列式鍵盤編程舉例 256
本章小結 259
思考題與習題 260
第11章 A/D與D/A轉換器及接口技術 262
11.1 D/A轉換器及接口技術 262
11.1.1 D/A轉換器的特性 262
11.1.2 並行D/A轉換器DAC0832簡介 263
11.1.3 DAC0832與單片機的接口及編程 265
11.1.4 12位並行D/A轉換器DAC1210 270
11.2 並行A/D轉換器及接口技術 273
11.2.1 A/D轉換器的主要參數 273
11.2.2 A/D轉換器ADC0808和ADC0809 274
11.2.3 MCS-51與ADC0809接口設計 276
11.2.4 12位並行A/D轉換器AD574 282
11.3 8位串列D/A和A/D轉換器及其與MCS-51單片機的接口 286
11.3.1 串列D/A轉換器MAX517簡介 286
11.3.2 串列A/D轉換器TLC548及與MCS-51單片機的接口 290
本章小結 293
思考題與習題 294
第12章 單片機套用系統設計與調試 295
12.1 單片機系統開發與開發工具 295
12.1.1 單片機套用系統的構成和設計內容 295
12.1.2 套用系統的設計步驟和原則 296
12.1.3 單片機套用系統的開發工具 297
12.1.4 單片機套用系統的調試 298
12.2 功率擴展與隔離技術 299
12.2.1 功率擴展 299
12.2.2 隔離技術 300
12.3 單片機套用系統的抗干擾技術 301
12.3.1 干擾的來源 301
12.3.2 硬體抗干擾技術 302
12.3.3 軟體抗干擾技術 304
12.3.4 “看門狗”技術 305
本章小結 307
附錄A MCS-51系列單片機指令表 308
附錄B ASCII碼字元表 313
附錄C 單片機中常用詞語英漢對照 314
參考文獻 318