全書分為11章,內容包括單片機的基本概念、MCS-51系列單片機內部結構、指令系統和匯編語言程序設計、Keil C51語法及程序設計、MCS-51系列單片機內部硬件資源及應用、系統功能的擴展、鍵盤與顯示接口、A/D與D/A轉換接口、單片機的其他接口、綜合應用實例、單片機應用系統設計等。第1章至第4章主要介紹MCS-51單片機的內部結構、指令系統和C51 結構。從第5章開始介紹MCS-51系列單片機的接口及應用。本書除了在第1-9章中給出許多的相關實例,還專門組織了第10、11章,給出了大量的設計性實例和系統設計實例。書中的實例一般采用匯編與C語言編程對照的方式編寫,但在第10、11章較復雜的實例中只采用C語言編程。力求通過應用實例,使讀者既可以在學習中進行類比編程,又可以開闊思路,提高實際編程效率和工作能力。
目 錄
第1章 基礎知識 1
1.1 信息在計算機中的表示方法 1
1.1.1 數在計算機內的表示 1
1.1.2 字符在計算機內的表示 5
1.2 單片機的基本概念和特點 5
1.2.1 基本概念 5
1.2.2 單片機的主要特點 6
1.3 單片機的發(fā)展概況及應用領域 7
1.3.1 發(fā)展概況 7
1.3.2 單片機的應用 10
1.4 單片機主要類型介紹及分類 10
1.4.1 常用系列單片機產品及性能簡介 10
1.4.2 MCS-51系列單片機分類 12
1.4.3 AT89系列單片機分類 14
1.4.4 其他公司的51系列單片機 15
本章小結 15
習題1 16
第2章 MCS-51系列單片機的內部結構和引腳 17
2.1 MCS-51系列單片機內部結構和引腳說明 17
2.1.1 MCS-51系列單片機內部結構框圖 18
2.1.2 MCS-51系列單片機外部引腳說明 21
2.2 MCS-51系列單片機存儲器 23
2.2.1 程序存儲器 24
2.2.2 數據存儲器 25
2.3 MCS-51系列單片機并行I/O接口 28
2.3.1 P0口結構及功能 29
2.3.2 P1口結構及功能 30
2.3.3 P2口結構及功能 30
2.3.4 P3口結構及功能 31
2.4 MCS-51系列單片機的時鐘電路與時序 32
2.4.1 時鐘電路 32
2.4.2 CPU時序 32
2.4.3 MCS-51系列單片機的復位電路 34
2.4.4 MCS-51系列單片機的掉電和節(jié)電方式 35
本章小結 37
習題2 37
第3章 MCS-51系列單片機指令系統和匯編語言程序設計 39
3.1 指令系統基本概念 39
3.1.1 指令基本格式 39
3.1.2 指令分類 40
3.1.3 指令描述符號介紹 40
3.2 MCS-51系列單片機的尋址方式 41
3.3 MCS-51系列單片機的指令系統 43
3.3.1 數據傳送類指令 44
3.3.2 算術運算類指令 50
3.3.3 邏輯運算及移位指令 56
3.3.4 位操作類指令 59
3.3.5 控制轉移類指令 62
3.4 匯編程序設計示例 67
3.4.1 匯編程序偽指令 68
3.4.2 順序程序 69
3.4.3 分支程序 71
3.4.4 循環(huán)程序 73
3.4.5 查表程序 78
3.4.6 散轉程序 79
3.4.7 子程序 80
本章小結 83
習題3 83
第4章 Keil C51語法及程序設計 88
4.1 C 語言與MCS-51系列單片機 88
4.1.1 C語言的特點及程序結構 88
4.1.2 C語言與MCS-51系列單片機 90
4.2 C51程序結構及數據類型 91
4.2.1 C51程序結構 91
4.2.2 C51的數據類型 91
4.3 C51的存儲種類及存儲區(qū) 94
4.3.1 常量 94
4.3.2 變量 95
4.3.3 C51存儲模式 98
4.3.4 絕對地址訪問 99
4.4 C51構造數據類型 101
4.4.1 數組 101
4.4.2 指針 103
4.4.3 結構 106
4.4.4 聯合 109
4.4.5 枚舉 111
4.5 C51運算符與表達式 111
4.5.1 賦值運算 111
4.5.2 算術運算符 112
4.5.3 關系運算符 112
4.5.4 邏輯運算符 112
4.5.5 位運算符 113
4.5.6 復合賦值運算符 113
4.5.7 逗號運算符 114
4.5.8 條件運算符 114
4.5.9 指針與地址運算符 114
4.6 表達式語句及復合語句 115
4.6.1 表達式語句 115
4.6.2 復合語句 116
4.7 C51的輸入/輸出 116
4.7.1 格式輸出函數printf() 117
4.7.2 格式輸入函數scanf() 117
4.8 C51程序基本結構與相關語句 118
4.8.1 C51的基本結構 118
4.8.2 if語句 120
4.8.3 switch/case語句 120
4.8.4 while語句 121
4.8.5 do…while語句 122
4.8.6 for語句 123
4.8.7 循環(huán)的嵌套 123
4.8.8 break和continue語句 124
4.8.9 return語句 125
4.9 函數 125
4.9.1 函數的定義 125
4.9.2 函數的調用與聲明 128
4.9.3 函數的嵌套與遞歸 130
4.10 匯編語言與C語言混合編程 131
本章小結 136
習題4 136
第5章 MCS-51系列單片機內部硬件資源及應用 138
5.1 MCS-51系列單片機的并行I/O接口 138
5.1.1 端口輸入/輸出操作 138
5.1.2 I/O接口的位操作指令 139
5.1.3 并行口應用舉例 139
5.2 中斷系統 141
5.2.1 中斷的基本概念 141
5.2.2 MCS-51系列單片機的中斷系統 141
5.2.3 MCS-51系列單片機中斷系統的應用 146
5.3 MCS-51系列單片機的定時/計數器 150
5.3.1 定時/計數器的結構與工作原理 150
5.3.2 定時/計數器的工作方式 152
5.3.3 定時/計數器的應用 154
5.4 MCS-51系列單片機的串行口及串行通信 159
5.4.1 串行通信的基本概念 160
5.4.2 MCS-51系列單片機的串行口及控制寄存器 162
5.4.3 MCS-51系列單片機串行通信工作方式 164
5.4.4 串行口應用舉例 166
本章小結 176
習題5 177
第6章 MCS-51系列單片機系統功能的擴展 178
6.1 單片機最小應用系統 178
6.2 存儲器的擴展 179
6.2.1 程序存儲器的擴展 180
6.2.2 數據存儲器的擴展 182
6.2.3 存儲器綜合擴展舉例 183
6.3 I/O接口擴展 184
6.3.1 簡單I/O接口擴展 185
6.3.2 用串行口擴展并行I/O接口 186
6.3.3 可編程I/O接口擴展 187
本章小結 192
習題6 192
第7章 MCS-51系列單片機鍵盤與顯示器接口 193
7.1 MCS-51系列單片機與鍵盤的接口 193
7.1.1 鍵盤的工作原理與掃描方式 193
7.1.2 獨立式按鍵及接口 195
7.1.3 矩陣式鍵盤及接口 198
7.2 MCS-51系列單片機與LED數碼管顯示接口 203
7.2.1 LED數碼管的結構與原理 203
7.2.2 LED數碼管顯示方式 205
7.2.3 LED數碼管顯示接口典型應用電路 206
7.3 鍵盤、LED數碼管組合接口 213
本章小結 217
習題7 218
第8章 MCS-51系列單片機 與A/D、D/A轉換器接口 219
8.1 MCS-51系列單片機與A/D轉換器接口 219
8.1.1 A/D轉換器ADC0809簡介 220
8.1.2 ADC 0809與MCS-51系列單片機的接口 221
8.1.3 AD574轉換器與51系列單片機的接口 224
8.2 MCS-51系列單片機與D/A轉換接口 226
8.2.1 D/A轉換器DAC0832簡介 227
8.2.2 DAC0832與51型單片機的接口實例 229
本章小結 232
習題8 233
第9章 MCS-51系列單片機的其他接口 234
9.1 LCD顯示模塊與MCS-51系列單片機的接口 234
9.1.1 字符點陣式液晶顯示器 234
9.1.2 RT-1602C液晶顯示模塊與單片機的接口 239
9.1.3 圖形點陣式液晶顯示器LCD12864簡介 243
9.2 時鐘日歷芯片與MCS-51系列單片機的接口 248
9.2.1 串行時鐘日歷芯片DS1302簡介 248
9.2.2 DS1302與單片機接口 250
9.3 I2C總線芯片與MCS-51系列單片機的接口 254
9.3.1 I2C總線簡介 254
9.2.2 I2C總線EEPROM芯片與單片機接口 256
本章小結 261
習題9 261
第10章 綜合實例 262
10.1 流水燈的設計 262
10.2 簡易報警發(fā)生器設計 264
10.3 外部負脈沖寬度測量電路 266
10.4 “航標燈”控制程序設計 267
10.5 99s跑碼表設計 269
10.6 獨立式按鍵的應用 272
10.7 帶數碼顯示的A/D轉換電路 274
10.8 直流電機控制 276
10.9 步進電動機控制設計 280
習題10 282
第11章 單片機應用系統設計 283
11.1 單片機應用系統的基本結構 283
11.1.1 單片機應用系統的硬件組成 283
11.1.2 硬件系統設計原則 284
11.1.3 單片機應用系統的軟件設計 285
11.2 數字電子鐘/日歷系統設計實例 286
11.2.1 電子時鐘/日歷系統要求與設計方案 286
11.3 單片機遙控系統的應用設計 291
11.3.1 系統要求與設計方案 291
11.3.2 系統硬件電路的設計 291
11.3.3 系統程序設計 296
11.3.4 調試及性能分析 300
11.3.5 控制源程序清單 300
附錄A MCS-51系列單片機指令表 309
附錄B ASCII碼 313
參考文獻