單片機原理與應(yīng)用設(shè)計(C51編程+Proteus仿真)(第4版)
定 價:59.8 元
- 作者:張毅剛
- 出版時間:2025/1/1
- ISBN:9787121492082
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:312
- 紙張:
- 版次:01
- 開本:16開
本書是普通高等教育“十一五”國家級規(guī)劃教材和國家精品課程教學(xué)成果。本書詳細介紹美國Atmel公司的AT89S51單片機的內(nèi)部硬件資源及工作原理,采用C51語言編程,以虛擬仿真工具Proteus作為設(shè)計與開發(fā)工具,同時還簡要介紹了Keil C51(以Keil uVision5為例)的使用方法。本書從應(yīng)用角度出發(fā),重點介紹單片機應(yīng)用的各種技術(shù)實現(xiàn),如信息的輸入與顯示、中斷、定時/計數(shù)、串行通信、系統(tǒng)的并行/串行擴展、模數(shù)與數(shù)模轉(zhuǎn)換、單片機應(yīng)用系統(tǒng)設(shè)計等,并且給出較多虛擬仿真設(shè)計實例。掃描前言中的二維碼可獲取基礎(chǔ)實驗和課程設(shè)計內(nèi)容,以及頭文件清單。本書提供電子課件和習(xí)題參考答案,登錄華信教育資源網(wǎng)(www.hxedu.com.cn)注冊后即可免費下載。 本書可作為各類工科高等學(xué)校和職業(yè)技術(shù)學(xué)院電氣工程、電子電氣信息技術(shù)、智能儀器儀表、機電一體化、計算機、自動化等專業(yè)單片機原理與應(yīng)用課程的教材,也可供從事單片機應(yīng)用設(shè)計的工程技術(shù)人員參考。
張毅剛,教授,哈爾濱工業(yè)大學(xué)電氣工程及自動化學(xué)院教學(xué)帶頭人,省教學(xué)名師。中國高等教育學(xué)會儀器科學(xué)及測控技術(shù)專業(yè)委員會委員、中國儀器儀表學(xué)會高級會員、中國電子學(xué)會高級會員。國家精品課程《單片機原理》課程負責(zé)人,黑龍江省普通高等學(xué)校教學(xué)名師獎,寶鋼優(yōu)秀教師獎。省部級科技進步一等獎1項,二等獎3項,三等獎2項。
第1章 單片機概述 1
1.1 單片機簡介 1
1.2 單片機的發(fā)展歷史 1
1.3 單片機的特點 2
1.4 單片機的應(yīng)用領(lǐng)域 3
1.5 單片機的發(fā)展趨勢 3
1.6 MCS-51系列與AT89S5x系列單片機 4
1.6.1 MCS-51系列單片機 4
1.6.2 AT89S5x系列單片機 5
1.7 各種衍生的8051單片機 6
1.7.1 STC系列單片機 6
1.7.2 C8051Fxxx系列單片機 7
1.7.3 AD?C812系列單片機 7
1.7.4 華邦W77系列、W78系列單片機 8
1.8 PIC系列單片機與AVR系列單片機 8
1.8.1 PIC系列單片機 8
1.8.2 AVR系列單片機 9
1.9 其他嵌入式處理器簡介 9
1.9.1 DSP 9
1.9.2 嵌入式微處理器 10
思考題及習(xí)題1 11
第2章 AT89S51單片機的內(nèi)部硬件結(jié)構(gòu) 12
2.1 AT89S51單片機的硬件組成 12
2.2 AT89S51單片機的引腳功能 13
2.2.1 電源及時鐘引腳 13
2.2.2 控制引腳 13
2.2.3 并行I/O口引腳 14
2.3 AT89S51單片機的CPU 15
2.3.1 運算器 15
2.3.2 控制器 16
2.4 AT89S51單片機存儲器的結(jié)構(gòu) 17
2.4.1 程序存儲區(qū) 17
2.4.2 數(shù)據(jù)存儲區(qū) 18
2.4.3 特殊功能寄存器 18
2.4.4 可位尋址區(qū) 21
2.5 AT89S51單片機的并行I/O口 22
2.5.1 P0口 22
2.5.2 P1口 24
2.5.3 P2口 24
2.5.4 P3口 25
2.6 時鐘電路與時序 25
2.6.1 時鐘電路設(shè)計 26
2.6.2 機器周期、指令周期與指令時序 27
2.7 復(fù)位操作和復(fù)位電路 27
2.7.1 復(fù)位操作 27
2.7.2 復(fù)位電路設(shè)計 28
2.8 AT89S51單片機的最小應(yīng)用系統(tǒng) 28
2.9 看門狗定時器的使用 29
2.10 低功耗節(jié)電模式 30
2.10.1 空閑模式 31
2.10.2 掉電模式 31
思考題及習(xí)題2 31
第3章 C51編程基礎(chǔ) 33
3.1 概述 33
3.1.1 C51語言與8051匯編語言的比較 33
3.1.2 C51語言與標(biāo)準C語言的比較 33
3.2 C51語言的語法 34
3.2.1 數(shù)據(jù)類型與存儲類型 34
3.2.2 特殊功能寄存器及位變量定義 38
3.2.3 絕對地址訪問 40
3.2.4 基本運算 42
3.2.5 分支與循環(huán)結(jié)構(gòu) 44
3.2.6 數(shù)組 50
3.2.7 指針 52
3.3 C51語言的函數(shù) 52
3.3.1 函數(shù)的分類 52
3.3.2 函數(shù)的調(diào)用 54
3.3.3 中斷服務(wù)函數(shù) 54
3.3.4 變量及存儲方式 55
3.3.5 宏定義與文件包含 55
3.3.6 庫函數(shù) 56
思考題及習(xí)題3 56
第4章 軟件開發(fā)工具Keil C51與虛擬仿真工具Proteus 57
4.1 Keil C51 57
4.1.1 Keil C51簡介 57
4.1.2 基本操作 57
4.1.3 添加用戶源程序文件 59
4.1.4 程序的編譯與調(diào)試 60
4.1.5 項目的設(shè)置 63
4.2 Proteus 65
4.2.1 Proteus功能簡介 65
4.2.2 Proteus ISIS的虛擬仿真 65
4.2.3 Proteus的各種虛擬仿真調(diào)試工具 71
4.2.4 虛擬設(shè)計仿真舉例 74
思考題及習(xí)題4 79
第5章 單片機的開關(guān)、鍵盤與顯示接口設(shè)計 80
5.1 用單片機控制LED顯示 80
5.1.1 單片機與LED的連接 80
5.1.2 I/O口的編程控制 81
5.2 開關(guān)狀態(tài)檢測 84
5.2.1 開關(guān)狀態(tài)檢測實例1 84
5.2.2 開關(guān)狀態(tài)檢測實例2 85
5.3 用單片機控制LED數(shù)碼管顯示 86
5.3.1 LED數(shù)碼管的顯示原理 86
5.3.2 LED數(shù)碼管的靜態(tài)顯示與動態(tài)顯示 88
5.4 用單片機控制LED點陣顯示屏顯示 91
5.4.1 LED點陣顯示屏的結(jié)構(gòu)與顯示原理 91
5.4.2 16×16 LED點陣顯示屏設(shè)計實例 93
5.5 用單片機控制LCD 1602顯示 95
5.5.1 LCD 1602簡介 95
5.5.2 LCD 1602設(shè)計實例 101
5.6 鍵盤接口設(shè)計 104
5.6.1 鍵盤接口設(shè)計需要解決的問題 104
5.6.2 獨立式鍵盤接口設(shè)計實例 105
5.6.3 矩陣式鍵盤接口設(shè)計實例 112
5.6.4 非編碼鍵盤掃描方式的選擇 115
5.6.5 單片機與HD7279A的接口設(shè)計 116
思考題及習(xí)題5 118
第6章 中斷系統(tǒng)的工作原理及應(yīng)用 119
6.1 AT89S51單片機中斷技術(shù)概述 119
6.2 AT89S51單片機中斷系統(tǒng)結(jié)構(gòu) 119
6.2.1 中斷源 119
6.2.2 中斷請求標(biāo)志寄存器 120
6.3 中斷允許控制與中斷優(yōu)先級控制 121
6.3.1 中斷允許寄存器IE 121
6.3.2 中斷優(yōu)先級寄存器IP 122
6.4 響應(yīng)中斷請求的條件 123
6.5 外部中斷請求的響應(yīng)時間 124
6.6 外部中斷的觸發(fā)方式選擇 124
6.7 中斷請求的撤銷 125
6.8 中斷服務(wù)函數(shù) 126
6.9 中斷系統(tǒng)的應(yīng)用 127
6.9.1 單一外部中斷的應(yīng)用 127
6.9.2 兩個外部中斷的應(yīng)用 128
6.9.3 中斷嵌套的應(yīng)用 130
思考題及習(xí)題6 131
第7章 定時/計數(shù)器的工作原理及應(yīng)用 133
7.1 定時/計數(shù)器的結(jié)構(gòu) 133
7.1.1 定時/計數(shù)器方式控制寄存器TMOD 133
7.1.2 定時/計數(shù)器控制寄存器TCON 134
7.2 定時/計數(shù)器的4種工作方式 134
7.2.1 方式0 134
7.2.2 方式1 135
7.2.3 方式2 136
7.2.4 方式3 136
7.3 定時/計數(shù)器對外部輸入信號的要求 138
7.4 定時/計數(shù)器的編程和應(yīng)用 138
7.4.1 用P1口控制8個LED每0.5s點亮一次 138
7.4.2 計數(shù)器的應(yīng)用 139
7.4.3 控制P1.0引腳輸出周期為2ms的方波 141
7.4.4 控制P1.7引腳輸出頻率為1kHz的音頻信號 142
7.4.5 制作LED數(shù)碼管秒表 144
7.4.6 測量脈沖寬度—門控位的應(yīng)用 146
7.4.7 LCD時鐘的設(shè)計 148
思考題及習(xí)題7 150
第8章 串行口的工作原理及應(yīng)用 152
8.1 串行通信基礎(chǔ) 152
8.1.1 并行通信與串行通信 152
8.1.2 同步通信與異步通信 153
8.1.3 串行通信的傳輸模式 153
8.1.4 串行通信的錯誤校驗 154
8.2 串行口的結(jié)構(gòu) 154
8.2.1 串行口控制寄存器SCON 155
8.2.2 電源控制寄存器PCON 156
8.3 串行口的4種工作方式 156
8.3.1 方式0 156
8.3.2 方式1 160
8.3.3 方式2 162
8.3.4 方式3 163
8.4 多機通信 163
8.5 波特率的定義方法 164
8.6 串行口的應(yīng)用 166
8.6.1 RS-232C、RS-422A與RS-485簡介 166
8.6.2 方式1的應(yīng)用設(shè)計實例 169
8.6.3 方式2和方式3的應(yīng)用設(shè)計實例 175
8.6.4 多機通信的應(yīng)用設(shè)計實例 178
8.6.5 單片機與PC機串行通信的應(yīng)用設(shè)計實例 184
8.6.6 PC機與多個單片機的串行通信 188
思考題及習(xí)題8 189
第9章 單片機系統(tǒng)的并行擴展 190
9.1 系統(tǒng)并行擴展 190
9.1.1 系統(tǒng)并行擴展結(jié)構(gòu) 190
9.1.2 地址空間分配 191
9.1.3 外部地址鎖存器 193
9.2 外部RAM的并行擴展 195
9.2.1 常用的靜態(tài)RAM芯片 195
9.2.2 讀/寫外部RAM的操作時序 196
9.2.3 并行擴展外部RAM設(shè)計實例 197
9.2.4 單片機擴展RAM 6264設(shè)計實例 199
9.3 內(nèi)部Flash存儲器的編程 200
9.3.1 使用通用編程器 201
9.3.2 使用ISP下載線 201
9.4 E2PROM的并行擴展 202
9.4.1 并行E2PROM芯片簡介 202
9.4.2 單片機擴展2864A設(shè)計實例 203
9.5 利用82C55擴展并行I/O口 204
9.5.1 并行I/O口擴展概述 204
9.5.2 82C55簡介 205
9.5.3 82C55的三種工作方式 208
9.5.4 單片機與82C55的接口電路設(shè)計實例 212
9.6 利用74LSTTL電路擴展并行I/O口 214
9.7 利用單片機的串行口擴展并行I/O口 215
9.7.1 利用74LS165擴展并行輸入口設(shè)計實例 215
9.7.2 利用74LS164擴展并行輸出口設(shè)計實例 216
思考題及習(xí)題9 218
第10章 單片機系統(tǒng)的串行擴展 219
10.1 單總線串行擴展 219
10.1.1 數(shù)字溫度傳感器DS18B20簡介 219
10.1.2 單總線串行擴展DS18B20實現(xiàn)溫度測量系統(tǒng) 222
10.2 SPI總線串行擴展 225
10.3 I2C總線串行擴展 226
10.3.1 I2C總線的基本結(jié)構(gòu) 226
10.3.2 I2C總線數(shù)據(jù)傳送的規(guī)定 227
10.3.3 單片機的I2C總線擴展結(jié)構(gòu) 230
10.3.4 I2C總線數(shù)據(jù)傳送的模擬 230
10.3.5 利用I2C總線擴展AT24C02的IC卡設(shè)計實例 233
思考題及習(xí)題10 239
第11章 單片機與D/A轉(zhuǎn)換器、A/D轉(zhuǎn)換器的接口 241
11.1 單片機擴展D/A轉(zhuǎn)換器概述 241
11.2 單片機擴展8位并行D/A轉(zhuǎn)換器 242
11.2.1 DAC0832簡介 242
11.2.2 單片機并行擴展DAC0832的程控電壓源設(shè)計實例 243
11.2.3 波形發(fā)生器設(shè)計實例 244
11.3 單片機擴展10位串行D/A轉(zhuǎn)換器 249
11.3.1 TLC5615簡介 249
11.3.2 單片機擴展TLC5615設(shè)計實例 250
11.4 單片機擴展A/D轉(zhuǎn)換器概述 253
11.5 單片機擴展8位并行A/D轉(zhuǎn)換器 254
11.5.1 單片機擴展ADC0809設(shè)計實例 256
11.5.2 兩路輸入的數(shù)字電壓表設(shè)計實例 257
11.6 單片機擴展8位串行A/D轉(zhuǎn)換器 260
11.6.1 TLC549簡介 260
11.6.2 單片機擴展TLC549設(shè)計實例 262
11.7 單片機擴展12位串行A/D轉(zhuǎn)換器 263
11.7.1 TLC2543簡介 263
11.7.2 單片機擴展TLC2543設(shè)計實例 265
思考題及習(xí)題11 268
第12章 單片機應(yīng)用系統(tǒng)的設(shè)計 270
12.1 單片機應(yīng)用系統(tǒng)的設(shè)計步驟 270
12.2 單片機應(yīng)用系統(tǒng)設(shè)計應(yīng)當(dāng)考慮的問題 271
12.2.1 硬件設(shè)計時應(yīng)當(dāng)考慮的問題 271
12.2.2 典型的單片機應(yīng)用系統(tǒng)組成 272
12.2.3 系統(tǒng)設(shè)計中的總線驅(qū)動 273
12.3 單片機應(yīng)用系統(tǒng)的仿真開發(fā)與調(diào)試 275
12.4 單片機應(yīng)用系統(tǒng)設(shè)計實例 278
12.4.1 單片機控制步進電機設(shè)計實例 278
12.4.2 單片機控制直流電機設(shè)計實例 280
12.4.3 頻率計設(shè)計實例 282
12.4.4 模擬電話撥號設(shè)計實例 285
12.4.5 8位競賽搶答器設(shè)計實例 290
12.4.6 基于時鐘/日歷芯片DS1302的電子鐘設(shè)計實例 295
思考題及習(xí)題12 301
參考文獻 303