單片機原理與應(yīng)用設(shè)計(C51編程+Proteus仿真)(第3版)
定 價:59.8 元
叢書名:高等學(xué)校規(guī)劃教材
- 作者:張毅剛
- 出版時間:2020/1/1
- ISBN:9787121374074
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:348
- 紙張:
- 版次:01
- 開本:16開
本書是普通高等教育“十一五”國家級規(guī)劃教材和國家精品課程主講教材。本書詳細介紹美國Atmel公司的AT89S51單片機的內(nèi)部硬件資源及工作原理,采用C51語言編程,并以虛擬仿真平臺Proteus作為設(shè)計與開發(fā)工具,同時還簡要介紹了Keil ?Vision的使用方法。本書從應(yīng)用角度出發(fā),重點介紹單片機應(yīng)用的各種技術(shù)實現(xiàn),如信息的顯示與輸入、中斷、定時/計數(shù)、串行通信、模數(shù)與數(shù)模轉(zhuǎn)換、系統(tǒng)的并行/串行擴展、應(yīng)用系統(tǒng)設(shè)計等,并且給出較多虛擬仿真設(shè)計實例。掃描前言中的二維碼可獲取實驗和課程設(shè)計題目。本書提供電子課件和習(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系列單片機 8
1.7.4 華邦W77系列、W78系列單片機 8
1.8 PIC系列單片機與AVR系列單片機 8
1.8.1 PIC系列單片機 8
1.8.2 AVR系列單片機 9
1.9 其他嵌入式處理器簡介 10
1.9.1 DSP 10
1.9.2 嵌入式微處理器 11
思考題及習(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 程序存儲器空間 17
2.4.2 數(shù)據(jù)存儲器空間 18
2.4.3 特殊功能寄存器 18
2.4.4 位地址空間 21
2.5 AT89S51單片機的并行I/O口 23
2.5.1 P0口 23
2.5.2 P1口 24
2.5.3 P2口 24
2.5.4 P3口 25
2.6 時鐘電路與時序 26
2.6.1 時鐘電路設(shè)計 26
2.6.2 機器周期、指令周期與指令時序 27
2.7 復(fù)位操作和復(fù)位電路 28
2.7.1 復(fù)位操作 28
2.7.2 復(fù)位電路設(shè)計 28
2.8 AT89S51單片機的最小應(yīng)用系統(tǒng) 29
2.9 看門狗定時器的使用 29
2.10 低功耗節(jié)電模式 30
2.10.1 空閑模式 31
2.10.2 掉電模式 31
思考題及習(xí)題2 32
第3章 C51語言編程基礎(chǔ)與Keil μVision 34
3.1 C51語言概述 34
3.1.1 C51語言與8051匯編語言的比較 34
3.1.2 C51語言與標準C語言的比較 34
3.2 C51程序設(shè)計基礎(chǔ) 35
3.2.1 C51語言的數(shù)據(jù)類型與存儲類型 35
3.2.2 C51語言的特殊功能寄存器及位變量定義 39
3.2.3 C51語言的絕對地址訪問 41
3.2.4 C51語言的基本運算 43
3.2.5 C51語言的分支與循環(huán)程序結(jié)構(gòu) 45
3.2.6 C51語言的數(shù)組 51
3.2.7 C51語言的指針 53
3.3 C51語言的函數(shù) 54
3.3.1 函數(shù)的分類 54
3.3.2 函數(shù)的調(diào)用 55
3.3.3 中斷服務(wù)函數(shù) 56
3.3.4 變量及存儲方式 56
3.3.5 宏定義與文件包含 57
3.3.6 庫函數(shù) 57
3.4 使用Keil μVision開發(fā)C51程序 58
3.4.1 Keil μVision的基本操作 58
3.4.2 添加用戶源程序文件 60
3.4.3 程序的編譯與調(diào)試 61
3.4.4 工程的設(shè)置 64
思考題及習(xí)題3 66
第4章 虛擬仿真平臺Proteus的使用 67
4.1 Proteus的基本功能 67
4.2 Proteus ISIS的虛擬仿真 68
4.3 Proteus ISIS環(huán)境簡介 69
4.3.1 原理圖編輯窗口 69
4.3.2 預(yù)覽窗口 70
4.3.3 對象選擇窗口 70
4.3.4 主菜單欄 71
4.3.5 主工具欄 73
4.3.6 工具箱 74
4.3.7 仿真工具欄 75
4.3.8 元件列表 75
4.4 Proteus ISIS的編輯環(huán)境設(shè)置 76
4.5 Proteus ISIS的系統(tǒng)運行環(huán)境設(shè)置 77
4.6 單片機系統(tǒng)的電路設(shè)計與虛擬仿真 78
4.6.1 電路設(shè)計與虛擬仿真的步驟 78
4.6.2 新建或打開一個設(shè)計文件 78
4.6.3 選擇需要的元件到元件列表中 79
4.6.4 放置元件并連接電路 81
4.6.5 加載目標代碼文件、設(shè)置時鐘頻率及仿真運行 85
4.7 Proteus的各種虛擬仿真工具 85
4.7.1 虛擬激勵信號源 85
4.7.2 虛擬儀器 90
4.7.3 虛擬儀器的圖表仿真 99
4.7.4 硬件斷點的設(shè)置 101
第5章 單片機開關(guān)檢測、鍵盤輸入與顯示接口設(shè)計 104
5.1 用單片機控制發(fā)光二極管顯示 104
5.1.1 單片機與發(fā)光二極管的連接 104
5.1.2 I/O口的編程控制 105
5.2 開關(guān)狀態(tài)檢測 108
5.2.1 開關(guān)檢測實例1 108
5.2.2 開關(guān)檢測實例2 109
5.3 用單片機控制LED數(shù)碼管顯示 110
5.3.1 LED數(shù)碼管的顯示原理 110
5.3.2 LED數(shù)碼管的靜態(tài)顯示與動態(tài)顯示 112
5.4 用單片機控制LED點陣顯示屏 顯示 115
5.4.1 LED點陣顯示屏的結(jié)構(gòu)與顯示原理 115
5.4.2 16×16 LED點陣顯示屏設(shè)計實例 116
5.5 用單片機控制LCD 1602顯示 119
5.5.1 LCD 1602簡介 119
5.5.2 LCD 1602設(shè)計實例 125
5.6 用單片機控制LCD12864顯示 128
5.6.1 引腳功能與顯示原理 129
5.6.2 控制命令 130
5.6.3 LCD12864設(shè)計實例 131
5.7 鍵盤接口設(shè)計 136
5.7.1 鍵盤接口設(shè)計需要解決的問題 136
5.7.2 獨立式鍵盤接口設(shè)計實例 137
5.7.3 矩陣式鍵盤接口設(shè)計實例 143
5.7.4 非編碼鍵盤掃描方式的選擇 146
5.7.5 單片機與HD7279A的接口設(shè)計 147
思考題及習(xí)題5 156
第6章 中斷系統(tǒng)的工作原理及應(yīng)用 158
6.1 AT89S51單片機中斷技術(shù)概述 158
6.2 AT89S51單片機中斷系統(tǒng)結(jié)構(gòu) 158
6.2.1 中斷源 158
6.2.2 中斷請求標志寄存器 159
6.3 中斷允許控制與中斷優(yōu)先級控制 160
6.3.1 中斷允許寄存器IE 160
6.3.2 中斷優(yōu)先級寄存器IP 161
6.4 響應(yīng)中斷請求的條件 162
6.5 外部中斷請求的響應(yīng)時間 163
6.6 外部中斷的觸發(fā)方式選擇 163
6.7 中斷請求的撤銷 164
6.8 中斷函數(shù) 165
6.9 中斷系統(tǒng)的應(yīng)用 166
6.9.1 單一外部中斷的應(yīng)用 166
6.9.2 兩個外部中斷的應(yīng)用 167
6.9.3 中斷嵌套的應(yīng)用 169
思考題及習(xí)題6 170
第7章 定時/計數(shù)器的工作原理及應(yīng)用 171
7.1 定時/計數(shù)器的結(jié)構(gòu) 171
7.1.1 工作方式控制寄存器TMOD 171
7.1.2 定時/計數(shù)器控制寄存器TCON 172
7.2 定時/計數(shù)器的4種工作方式 172
7.2.1 方式0 172
7.2.2 方式1 173
7.2.3 方式2 174
7.2.4 方式3 174
7.3 定時/計數(shù)器對外部輸入信號的要求 176
7.4 定時/計數(shù)器的編程和應(yīng)用 176
7.4.1 用P1口控制8個LED每0.5s閃亮一次 176
7.4.2 計數(shù)器的應(yīng)用 177
7.4.3 控制P1.0引腳產(chǎn)生周期為2ms的方波 179
7.4.4 利用T1控制發(fā)出頻率為1kHz的音頻信號 180
7.4.5 制作LED數(shù)碼管秒表 182
7.4.6 測量脈沖寬度——門控位的應(yīng)用 184
7.4.7 LCD時鐘的設(shè)計 186
思考題及習(xí)題7 188
第8章 串行口的工作原理及應(yīng)用 190
8.1 串行通信基礎(chǔ) 190
8.1.1 并行通信與串行通信 190
8.1.2 同步通信與異步通信 191
8.1.3 串行通信的傳輸模式 191
8.1.4 串行通信的錯誤校驗 192
8.2 串行口的結(jié)構(gòu) 192
8.2.1 串行口控制寄存器SCON 193
8.2.2 特殊功能寄存器PCON 194
8.3 串行口的4種工作方式 194
8.3.1 方式0 194
8.3.2 方式1 199
8.3.3 方式2 200
8.3.4 方式3 201
8.4 多機通信 201
8.5 波特率的定義方法 202
8.5.1 波特率的定義 203
8.5.2 計算T1產(chǎn)生的波特率 203
8.6 串行口的應(yīng)用 204
8.6.1 RS-232C、RS-422A與RS-485簡介 204
8.6.2 方式1的應(yīng)用設(shè)計實例 207
8.6.3 方式2和方式3的應(yīng)用設(shè)計實例 213
8.6.4 多機通信的應(yīng)用設(shè)計實例 215
8.6.5 單片機與PC機串行通信的設(shè)計實例 222
8.6.6 PC機與單片機或與多個單片機的串行通信 226
思考題及習(xí)題8 227
第9章 單片機系統(tǒng)的并行擴展 228
9.1 系統(tǒng)并行擴展技術(shù) 228
9.1.1 系統(tǒng)并行擴展結(jié)構(gòu) 228
9.1.2 地址空間分配 229
9.1.3 外部地址鎖存器 231
9.2 外部RAM的并行擴展 233
9.2.1 常用的靜態(tài)RAM芯片 233
9.2.2 讀/寫外部RAM的操作時序 234
9.2.3 并行擴展外部RAM設(shè)計實例 235
9.2.4 單片機擴展RAM 6264設(shè)計實例 237
9.3 內(nèi)部Flash存儲器的編程 238
9.3.1 使用通用編程器 239
9.3.2 使用ISP下載線 239
9.4 E2PROM的并行擴展 240
9.4.1 并行E2PROM芯片簡介 240
9.4.2 單片機擴展2864A設(shè)計實例 241
9.5 利用82C55擴展并行I/O口 242
9.5.1 并行I/O口擴展概述 242
9.5.2 82C55簡介 243
9.5.3 82C55的三種工作方式 246
9.5.4 單片機與82C55的接口電路設(shè)計實例 250
9.6 利用74LSTTL電路擴展并行I/O口 252
9.7 利用單片機的串行口擴展并行I/O口 253
9.7.1 利用74LS165擴展并行輸入口設(shè)計實例 253
9.7.2 利用74LS164擴展并行輸出口設(shè)計實例 254
思考題及習(xí)題9 255
第10章 單片機系統(tǒng)的串行擴展 257
10.1 單總線串行擴展 257
10.1.1 數(shù)字溫度傳感器DS18B20簡介 257
10.1.2 單總線串行擴展DS18B20實現(xiàn)溫度測量系統(tǒng)設(shè)計實例 260
10.2 SPI總線串行擴展 263
10.3 I2C總線串行擴展 264
10.3.1 I2C總線系統(tǒng)的基本結(jié)構(gòu) 264
10.3.2 I2C總線數(shù)據(jù)傳送的規(guī)定 265
10.3.3 單片機的I2C總線擴展系統(tǒng) 267
10.3.4 I2C總線數(shù)據(jù)傳送的模擬 268
10.3.5 利用I2C總線擴展AT24C02的IC卡設(shè)計實例 271
思考題及習(xí)題10 277
第11章 單片機與D/A轉(zhuǎn)換器、A/D轉(zhuǎn)換器的接口 278
11.1 單片機擴展D/A轉(zhuǎn)換器概述 278
11.2 單片機擴展8位并行D/A轉(zhuǎn)換器 279
11.2.1 DAC0832簡介 279
11.2.2 單片機并行擴展DAC0832
的程控電壓源設(shè)計實例 280
11.2.3 波形發(fā)生器設(shè)計實例 281
11.3 單片機擴展10位串行D/A
轉(zhuǎn)換器 286
11.3.1 TLC5615簡介 286
11.3.2 單片機擴展TLC5615
設(shè)計實例 287
11.4 單片機擴展A/D轉(zhuǎn)換器概述 290
11.5 單片機擴展8位并行A/D轉(zhuǎn)換器 291
11.5.1 單片機擴展ADC0809
設(shè)計實例 292
11.5.2 兩路輸入的數(shù)字電壓表
設(shè)計實例 294
11.6 單片機擴展8位串行A/D轉(zhuǎn)換器 297
11.6.1 TLC549簡介 297
11.6.2 單片機擴展TLC549設(shè)計
實例 298
11.7 單片機擴展12位串行A/D轉(zhuǎn)換器 300
11.7.1 TLC2543簡介 300
11.7.2 單片機擴展TLC2543
設(shè)計實例 302
思考題及習(xí)題11 305
第12章 單片機應(yīng)用系統(tǒng)的設(shè)計 306
12.1 單片機應(yīng)用系統(tǒng)的設(shè)計步驟 306
12.2 單片機應(yīng)用系統(tǒng)設(shè)計應(yīng)當(dāng)考慮的問題 307
12.2.1 硬件設(shè)計應(yīng)當(dāng)考慮的問題 307
12.2.2 典型的單片機應(yīng)用系統(tǒng)組成 308
12.2.3 系統(tǒng)設(shè)計中的總線驅(qū)動 309
12.3 單片機應(yīng)用系統(tǒng)的仿真開發(fā)與調(diào)試 310
12.4 單片機應(yīng)用系統(tǒng)設(shè)計實例 314
12.4.1 單片機控制步進電機設(shè)計實例 314
12.4.2 單片機控制直流電機設(shè)計實例 316
12.4.3 頻率計設(shè)計實例 318
12.4.4 模擬電話撥號設(shè)計實例 321
12.4.5 8位競賽搶答器設(shè)計實例 326
12.4.6 基于時鐘/日歷芯片DS1302
的電子鐘設(shè)計實例 331
思考題及習(xí)題12 337
參考文獻 338