本書在介紹微型計算機基礎知識的基礎上,以MCS-51單片機為對象,介紹了單片機的結構、C51語言的基礎知識和編程方法、并行I/O口及其應用、顯示器和鍵盤接口技術、中斷系統、外部中斷的應用、定時/計數器及其應用、并行存儲器的擴展、串行通信接口及其應用、數/模和模/數轉換器與單片機的接口技術,以AT24C02和DS18B20為例,分別介紹了I2C總線和單線制串行總線的應用。此外介紹了Keil C51的Windows 集成開發(fā)環(huán)境μVision4以及仿真軟件Proteus的使用方法。全書以大量典型例題為載體介紹單片機的接口及應用方法,內容由淺入深,條理清晰。書中所有例題均給出源程序及仿真運行結果,所有例題、課后習題答案以及PPT均可從網上下載。本書為本科生教材。
郭文川,女,博士,教授,無黨派人士,西北農林科技大學農業(yè)電氣化與自動化學科點負責人,兼任中國食品科學技術學會食品裝備與智能制造分會第四屆理事會理事、中國農業(yè)機械學會農副產品加工機械分會第四屆委員會常務委員、陜西省農業(yè)工程學會第五屆理事會常務理事和陜西省農業(yè)機械學會第七屆理事會理事。先后榮獲唐立新教學名師獎、西北農林科技大學研究生優(yōu)秀指導教師、校先進個人、校師德先進個人等榮譽近10次。曾在美國農業(yè)部Russell 研究中心和華盛頓州立大學生物系統工程學院進行訪學研究。長期從事于農產品/食品品質無損檢測技術與裝備、農情信息的智能化檢測技術及農業(yè)電子與自動化技術領域的研究工作,尤其在農產品/食品品質檢測技術及檢測儀研發(fā)方面在國內居于領先。
第1章 單片機概述及微型計算機基本知識 1
1.1 單片機概述 1
1.1.1 單片機的特點 1
1.1.2 單片機的應用 2
1.1.3 單片機的發(fā)展歷史及未來方向 2
1.1.4 MCS-51單片機 3
1.1.5 主流的單片機類型 5
1.1.6 STC單片機標識說明 7
1.2 微型計算機系統組成及工作過程 8
1.2.1 微型計算機的組成 8
1.2.2 中央處理單元的組成 9
1.2.3 微型計算機的工作過程 11
1.3 數制與編碼 14
1.3.1 數制 14
1.3.2 編碼 17
1.4 計算機中有符號數的表示方法 18
1.4.1 數的符號的表示方法 18
1.4.2 原碼、反碼和補碼 19
1.4.3 補碼的加減法運算 21
本章小結 22
思考題與習題 22
第2章 MCS-51單片機的結構 23
2.1 單片機的內部組成和信號引腳 23
2.1.1 單片機的內部組成 23
2.1.2 單片機的引腳及功能 25
2.2 單片機的存儲器配置 27
2.2.1 程序存儲器 28
2.2.2 數據存儲器 28
2.3 單片機的時鐘電路和復位電路 34
2.3.1 時鐘電路 34
2.3.2 時序定時單位 35
2.3.3 復位電路 35
2.4 掉電保護及低功耗工作方式 37
2.4.1 掉電保護方式 37
2.4.2 低功耗工作方式 38
本章小結 39
思考題與習題 40
第3章 C51語言基礎知識及編程應用 41
3.1 計算機語言 41
3.2 C51程序的基本結構和常用的頭文件 42
3.2.1 C51程序的基本結構 42
3.2.2 函數的基本知識 44
3.2.3 C51程序中常用的頭文件 46
3.3 C51語言的變量及運算符 47
3.3.1 基本數據類型 47
3.3.2 變量的存儲類型 48
3.3.3 變量的存儲模式 49
3.3.4 變量聲明舉例 49
3.3.5 C51語言的運算符 50
3.4 Keil軟件使用說明 51
3.4.1 Keil工程的建立 52
3.4.2 工程的設置 56
3.4.3 編譯和鏈接 58
3.4.4 調試 59
3.5 C51語言程序設計舉例 64
3.5.1 順序程序的設計 64
3.5.2 循環(huán)程序的設計 65
3.5.3 分支程序的設計 67
3.5.4 子程序的設計 69
?
本章小結 70
思考題與習題 70
第4章 并行I/O口及其應用 71
4.1 并行I/O口的結構 71
4.1.1 P0口 71
4.1.2 P1口 72
4.1.3 P2口 73
4.1.4 P3口 73
4.2 并行I/O口的輸出應用 74
4.2.1 發(fā)光二極管及其接口技術 74
4.2.2 數碼管及其接口技術 78
4.2.3 液晶顯示器及其接口技術 83
4.2.4 蜂鳴器及其接口技術 89
4.3 并行I/O口的輸入應用 90
4.3.1 按鍵的基本知識及非編碼鍵盤結構 90
4.3.2 獨立式鍵盤接口技術 92
4.3.3 行列式鍵盤中按鍵的識別方法及接口技術 95
本章小結 100
思考題與習題 101
第5章 MCS-51單片機中斷系統及外部中斷的應用 102
5.1 中斷概述 102
5.1.1 數據的輸入/輸出傳送方式 102
5.1.2 中斷的基本概念 104
5.2 中斷系統結構及中斷控制 104
5.2.1 中斷源 105
5.2.2 中斷控制 107
5.2.3 中斷矢量地址 108
5.2.4 中斷響應過程 108
5.3 中斷服務程序的編程方法 109
5.3.1 中斷系統的初始化 109
5.3.2 C51中斷服務函數的格式 110
5.4 外部中斷應用舉例 110
本章小結 116
思考題與習題 117
第6章 定時/計數器及其應用 118
6.1 51子系列單片機的結構和寄存器 118
6.1.1 定時和計數的概念 118
6.1.2 51子系列單片機定時/計數器的結構 119
6.1.3 定時/計數器的寄存器 120
6.2 定時/計數器的工作方式及基本應用 121
6.2.1 工作方式0 121
6.2.2 工作方式1 123
6.2.3 工作方式2 124
6.2.4 工作方式3 126
6.3 定時/計數器的典型應用實例 128
6.3.1 測試信號寬度 128
6.3.2 調節(jié)直流電機轉速 129
6.3.3 音樂盒的設計 131
本章小結 134
思考題與習題 135
第7章 并行存儲器的擴展 136
7.1 存儲器概述 136
7.1.1 存儲器的分類 136
7.1.2 半導體存儲器的分類 136
7.1.3 半導體存儲器的指標 138
7.2 并行存儲器的擴展結構及實現方法 138
7.2.1 并行存儲器的擴展結構 138
7.2.2 單片機并行擴展的實現方法 140
7.3 并行程序存儲器的擴展 141
7.3.1 EPROM芯片 141
7.3.2 并行ROM的擴展方法 142
7.4 并行數據存儲器的擴展 147
7.4.1 并行RAM簡介 147
7.4.2 并行RAM的擴展方法 148
7.5 并行程序存儲器和數據存儲器的混合擴展 150
本章小結 153
思考題與習題 153
?
第8章 單片機并行I/O口的擴展 154
8.1 I/O口擴展概述 154
8.1.1 I/O接口電路應具有的功能 154
8.1.2 I/O接口的基本結構 155
8.1.3 I/O端口的操作 155
8.2 簡單并行I/O口擴展 156
8.2.1 擴展并行輸入口 156
8.2.2 擴展并行輸出口 157
8.3 可編程并行I/O口芯片8255A 159
8.3.1 8255A芯片內部結構及功能 159
8.3.2 8255A芯片的操作說明 160
8.3.3 8255A芯片與單片機的接口設計 163
8.4 鍵盤/顯示器接口芯片8279及其應用 167
8.4.1 8279的內部結構及工作原理 167
8.4.2 8279的工作方式 170
8.4.3 8279的命令格式和命令字 170
8.4.4 8279狀態(tài)格式與狀態(tài)字 174
8.4.5 8279數據輸入/輸出格式 174
8.4.6 8279的譯碼和編碼方式 174
8.4.7 8279與單片機和鍵盤/顯示器的接口 175
本章小結 179
思考題與習題 179
第9章 并行ADC及DAC接口技術 181
9.1 DAC及其性能指標 181
9.1.1 權電阻網絡DAC 181
9.1.2 倒T型電阻網絡DAC 182
9.1.3 DAC的性能指標及輸入/輸出特性 184
9.2 8位并行DAC0832及其接口技術 185
9.2.1 DAC0832簡介 185
9.2.2 DAC0832與單片機的接口及編程 187
9.3 ADC及其性能指標 192
9.3.1 A/D轉換的基本原理 192
9.3.2 反饋比較型ADC的工作原理 193
9.3.3 ADC的主要性能指標 195
?
9.4 并行ADC0808(0809)及其接口技術 196
9.4.1 ADC0808和ADC0809簡介 196
9.4.2 ADC0808(0809)與單片機的接口及編程 198
本章小結 202
思考題與習題 202
第10章 MCS-51單片機串行口及其應用 204
10.1 串行通信概述 204
10.1.1 并行通信與串行通信 204
10.1.2 串行通信的兩種基本通信方式 204
10.1.3 串行通信的線路傳輸方式 206
10.1.4 比特率和波特率 206
10.1.5 串行通信的信號形式 207
10.2 MCS-51單片機串行口 207
10.2.1 串行口的結構及工作原理 207
10.2.2 與串行口相關的特殊功能寄存器 209
10.2.3 波特率的設計 211
10.2.4 串行通信工作方式 212
10.2.5 串行口的應用舉例 213
10.2.6 串行口方式2和方式3的應用 219
10.3 單片機之間的串行異步通信 219
10.3.1 單片機之間的串行通信方式 219
10.3.2 單片機之間的TTL電平通信舉例 221
10.4 單片機與計算機的通信 224
10.4.1 單片機與計算機之間的串行口及調試助手 224
10.4.2 單片機與計算機通信舉例 227
10.4.3 單片機與計算機的雙向通信 228
本章小結 229
思考題與習題 230
第11章 I2C總線和單線制串行總線的應用 231
11.1 I2C總線概述及編程技術 231
11.1.1 I2C總線概述 231
11.1.2 51單片機中I2C總線的信號模擬與編程技術 234
11.2 I2C總線E2PROM的基本知識及使用方法 237
11.2.1 AT24C02的基本知識 237
11.2.2 I2C總線E2PROM應用舉例 239
11.3 單總線DS18B20溫度傳感器的應用 243
11.3.1 DS18B20溫度傳感器介紹 243
11.3.2 DS18B20應用舉例 248
本章小結 251
思考題與習題 251
第12章 Proteus電路設計與仿真 252
12.1 Proteus界面說明 252
12.1.1 Proteus的啟動過程 252
12.1.2 主菜單 254
12.1.3 工具欄 255
12.1.4 其他主要欄目 257
12.2 電路原理圖繪制基本操作過程 257
12.2.1 查找元器件 258
12.2.2 元器件的放置與編輯 260
12.2.3 元器件的連接 261
12.2.4 修改元器件屬性 262
12.2.5 電路原理圖設計方法 263
12.2.6 實例講解 263
本章小結 265
附錄A ASCII碼字符表 266
附錄B C51編譯時的部分錯誤(Error)信息及可能發(fā)生的原因 267