全書分為11章,內(nèi)容包括單片機的基本概念、MCS-51系列單片機內(nèi)部結(jié)構(gòu)、指令系統(tǒng)和匯編語言程序設(shè)計、Keil C51語法及程序設(shè)計、MCS-51系列單片機內(nèi)部硬件資源及應(yīng)用、系統(tǒng)功能的擴展、鍵盤與顯示接口、A/D與D/A轉(zhuǎn)換接口、單片機的其他接口、綜合應(yīng)用實例、單片機應(yīng)用系統(tǒng)設(shè)計等。第1章至第4章主要介紹MCS-51單片機的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)和C51 結(jié)構(gòu)。從第5章開始介紹MCS-51系列單片機的接口及應(yīng)用。本書除了在第1-9章中給出許多的相關(guān)實例,還專門組織了第10、11章,給出了大量的設(shè)計性實例和系統(tǒng)設(shè)計實例。書中的實例一般采用匯編與C語言編程對照的方式編寫,但在第10、11章較復雜的實例中只采用C語言編程。力求通過應(yīng)用實例,使讀者既可以在學習中進行類比編程,又可以開闊思路,提高實際編程效率和工作能力。
唐穎教授,從教30多年,主講單片機、數(shù)字電子技術(shù)、EDA技術(shù)等課程,編寫多部相關(guān)教材;榮獲“全國優(yōu)秀教師”稱號,浙江省電子協(xié)會會員。
目 錄
第1章 基礎(chǔ)知識 1
1.1 信息在計算機中的表示方法 1
1.1.1 數(shù)在計算機內(nèi)的表示 1
1.1.2 字符在計算機內(nèi)的表示 5
1.2 單片機的基本概念和特點 5
1.2.1 基本概念 5
1.2.2 單片機的主要特點 6
1.3 單片機的發(fā)展概況及應(yīng)用領(lǐng)域 7
1.3.1 發(fā)展概況 7
1.3.2 單片機的應(yīng)用 10
1.4 單片機主要類型介紹及分類 10
1.4.1 常用系列單片機產(chǎn)品及性能簡介 10
1.4.2 MCS-51系列單片機分類 12
1.4.3 AT89系列單片機分類 14
1.4.4 其他公司的51系列單片機 15
本章小結(jié) 15
習題1 16
第2章 MCS-51系列單片機的內(nèi)部結(jié)構(gòu)和引腳 17
2.1 MCS-51系列單片機內(nèi)部結(jié)構(gòu)和引腳說明 17
2.1.1 MCS-51系列單片機內(nèi)部結(jié)構(gòu)框圖 18
2.1.2 MCS-51系列單片機外部引腳說明 21
2.2 MCS-51系列單片機存儲器 23
2.2.1 程序存儲器 24
2.2.2 數(shù)據(jù)存儲器 25
2.3 MCS-51系列單片機并行I/O接口 28
2.3.1 P0口結(jié)構(gòu)及功能 29
2.3.2 P1口結(jié)構(gòu)及功能 30
2.3.3 P2口結(jié)構(gòu)及功能 30
2.3.4 P3口結(jié)構(gòu)及功能 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
本章小結(jié) 37
習題2 37
第3章 MCS-51系列單片機指令系統(tǒng)和匯編語言程序設(shè)計 39
3.1 指令系統(tǒng)基本概念 39
3.1.1 指令基本格式 39
3.1.2 指令分類 40
3.1.3 指令描述符號介紹 40
3.2 MCS-51系列單片機的尋址方式 41
3.3 MCS-51系列單片機的指令系統(tǒng) 43
3.3.1 數(shù)據(jù)傳送類指令 44
3.3.2 算術(shù)運算類指令 50
3.3.3 邏輯運算及移位指令 56
3.3.4 位操作類指令 59
3.3.5 控制轉(zhuǎn)移類指令 62
3.4 匯編程序設(shè)計示例 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 散轉(zhuǎn)程序 79
3.4.7 子程序 80
本章小結(jié) 83
習題3 83
第4章 Keil C51語法及程序設(shè)計 88
4.1 C 語言與MCS-51系列單片機 88
4.1.1 C語言的特點及程序結(jié)構(gòu) 88
4.1.2 C語言與MCS-51系列單片機 90
4.2 C51程序結(jié)構(gòu)及數(shù)據(jù)類型 91
4.2.1 C51程序結(jié)構(gòu) 91
4.2.2 C51的數(shù)據(jù)類型 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構(gòu)造數(shù)據(jù)類型 101
4.4.1 數(shù)組 101
4.4.2 指針 103
4.4.3 結(jié)構(gòu) 106
4.4.4 聯(lián)合 109
4.4.5 枚舉 111
4.5 C51運算符與表達式 111
4.5.1 賦值運算 111
4.5.2 算術(shù)運算符 112
4.5.3 關(guān)系運算符 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 格式輸出函數(shù)printf() 117
4.7.2 格式輸入函數(shù)scanf() 117
4.8 C51程序基本結(jié)構(gòu)與相關(guān)語句 118
4.8.1 C51的基本結(jié)構(gòu) 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 函數(shù) 125
4.9.1 函數(shù)的定義 125
4.9.2 函數(shù)的調(diào)用與聲明 128
4.9.3 函數(shù)的嵌套與遞歸 130
4.10 匯編語言與C語言混合編程 131
本章小結(jié) 136
習題4 136
第5章 MCS-51系列單片機內(nèi)部硬件資源及應(yīng)用 138
5.1 MCS-51系列單片機的并行I/O接口 138
5.1.1 端口輸入/輸出操作 138
5.1.2 I/O接口的位操作指令 139
5.1.3 并行口應(yīng)用舉例 139
5.2 中斷系統(tǒng) 141
5.2.1 中斷的基本概念 141
5.2.2 MCS-51系列單片機的中斷系統(tǒng) 141
5.2.3 MCS-51系列單片機中斷系統(tǒng)的應(yīng)用 146
5.3 MCS-51系列單片機的定時/計數(shù)器 150
5.3.1 定時/計數(shù)器的結(jié)構(gòu)與工作原理 150
5.3.2 定時/計數(shù)器的工作方式 152
5.3.3 定時/計數(shù)器的應(yīng)用 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 串行口應(yīng)用舉例 166
本章小結(jié) 176
習題5 177
第6章 MCS-51系列單片機系統(tǒng)功能的擴展 178
6.1 單片機最小應(yīng)用系統(tǒng) 178
6.2 存儲器的擴展 179
6.2.1 程序存儲器的擴展 180
6.2.2 數(shù)據(jù)存儲器的擴展 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
本章小結(jié) 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數(shù)碼管顯示接口 203
7.2.1 LED數(shù)碼管的結(jié)構(gòu)與原理 203
7.2.2 LED數(shù)碼管顯示方式 205
7.2.3 LED數(shù)碼管顯示接口典型應(yīng)用電路 206
7.3 鍵盤、LED數(shù)碼管組合接口 213
本章小結(jié) 217
習題7 218
第8章 MCS-51系列單片機 與A/D、D/A轉(zhuǎn)換器接口 219
8.1 MCS-51系列單片機與A/D轉(zhuǎn)換器接口 219
8.1.1 A/D轉(zhuǎn)換器ADC0809簡介 220
8.1.2 ADC 0809與MCS-51系列單片機的接口 221
8.1.3 AD574轉(zhuǎn)換器與51系列單片機的接口 224
8.2 MCS-51系列單片機與D/A轉(zhuǎn)換接口 226
8.2.1 D/A轉(zhuǎn)換器DAC0832簡介 227
8.2.2 DAC0832與51型單片機的接口實例 229
本章小結(jié) 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
本章小結(jié) 261
習題9 261
第10章 綜合實例 262
10.1 流水燈的設(shè)計 262
10.2 簡易報警發(fā)生器設(shè)計 264
10.3 外部負脈沖寬度測量電路 266
10.4 “航標燈”控制程序設(shè)計 267
10.5 99s跑碼表設(shè)計 269
10.6 獨立式按鍵的應(yīng)用 272
10.7 帶數(shù)碼顯示的A/D轉(zhuǎn)換電路 274
10.8 直流電機控制 276
10.9 步進電動機控制設(shè)計 280
習題10 282
第11章 單片機應(yīng)用系統(tǒng)設(shè)計 283
11.1 單片機應(yīng)用系統(tǒng)的基本結(jié)構(gòu) 283
11.1.1 單片機應(yīng)用系統(tǒng)的硬件組成 283
11.1.2 硬件系統(tǒng)設(shè)計原則 284
11.1.3 單片機應(yīng)用系統(tǒng)的軟件設(shè)計 285
11.2 數(shù)字電子鐘/日歷系統(tǒng)設(shè)計實例 286
11.2.1 電子時鐘/日歷系統(tǒng)要求與設(shè)計方案 286
11.3 單片機遙控系統(tǒng)的應(yīng)用設(shè)計 291
11.3.1 系統(tǒng)要求與設(shè)計方案 291
11.3.2 系統(tǒng)硬件電路的設(shè)計 291
11.3.3 系統(tǒng)程序設(shè)計 296
11.3.4 調(diào)試及性能分析 300
11.3.5 控制源程序清單 300
附錄A MCS-51系列單片機指令表 309
附錄B ASCII碼 313
參考文獻