單片機原理及接口技術(C51編程)(微課版 第4版)
張毅剛
相關主題
商品描述
本書詳細介紹了AT89S51單片機的片內硬件資源及工作原理,重點介紹了單片機應用的各種技術實現。本書共14章,涵蓋了單片機應用技術的基本內容,包括單片機概述,AT89S51單片機片內硬件結構,C51編程語言基礎,開發與仿真工具,單片機與開關、鍵盤以及顯示器件的接口設計,中斷系統的工作原理及應用,定時器/計數器的工作原理及應用,串行口的工作原理及應用,單片機系統的並行擴展,AT89S51單片機系統的串行擴展,AT89S51單片機與DAC、ADC的接口,單片機的各種應用設計,單片機應用系統抗幹擾與可靠性設計,單片機應用系統的設計與調試。
本書可作為高等學校電氣工程、電子信息技術、儀器儀表、機電一體化、計算機、自動化等專業單片機技術相關課程的教材,也可供從事單片機應用設計的工程技術人員閱讀參考。
作者簡介
張毅剛,哈爾濱工業大學教授,國家精品課程“單片機原理”、國家精品資源共享課“單片機原理”、首批國家精品在線開放課程“單片機原理”的負責人。黑龍江省教學名師獎獲得者,教育部全國高校網絡培訓中心“單片機原理”骨幹教師高級研修班特聘
主講教授。主持並獲得省高等教育教學成果一等獎2項、二等獎2項,獲國家級教學成果一等獎1項。普通高等教育“十五”國家級規劃教材、普通高等教育“十一五”國家級規劃教材、“十二五”普通高等教育本科國家級規劃教材主編。參加並完成多項科研項目,獲國家科學技術進步二等獎1項,省、部級科學技術獎6項。
目錄大綱
第 1章 單片機概述
1.1 什麼是單片機 1
1.2 單片機的發展歷史 2
1.3 單片機的特點 2
1.4 單片機的應用 3
1.5 單片機的發展趨勢 4
1.6 MCS-51系列與AT89S5x系列單片機 5
1.6.1 MCS-51系列單片機 5
1.6.2 8051內核單片機與AT89S5x系列單片機 6
1.7 各種衍生品種的8051單片機 7
1.7.1 STC系列單片機 7
1.7.2 C8051F×××系列單片機 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 數字信號處理器 10
1.9.2 嵌入式微處理器 10
思考題及習題 11
第 2章 AT89S51單片機片內硬件結構
2.1 AT89S51單片機的片內硬件結構 13
2.2 AT89S51的引腳功能 14
2.2.1 電源及時鐘引腳 15
2.2.2 控制引腳 15
2.2.3 並行I/O口引腳 16
2.3 AT89S51的CPU 17
2.3.1 運算器 17
2.3.2 控制器 19
2.4 AT89S51單片機存儲器的結構 19
2.4.1 程序存儲器空間 20
2.4.2 數據存儲器空間 21
2.4.3 特殊功能寄存器 21
2.4.4 位地址空間 24
2.5 AT89S51單片機的並行I/O口 25
2.5.1 P0口 25
2.5.2 P1口 27
2.5.3 P2口 27
2.5.4 P3口 28
2.6 時鐘電路與時序 29
2.6.1 時鐘電路設計 29
2.6.2 機器周期、指令周期與指令 時序 30
2.7 復位操作和復位電路 31
2.7.1 復位操作 31
2.7.2 復位電路設計 31
2.8 AT89S51單片機的最小應用系統 32
2.9 看門狗定時器的使用 32
2.10 低功耗節電模式 33
2.10.1 空間模式 34
2.10.2 掉電模式 35
2.11 AT89S52單片機與AT89S51 單片機的差異 35
2.11.1 AT89S52單片機與 AT89S51單片機片內硬件 資源的差異 35
2.11.2 AT89S52的引腳 35
2.11.3 AT89S52單片機的存儲器結構 36
思考題及習題 39
第3章 C51編程語言基礎
3.1 C51編程語言簡介 41
3.1.1 C51語言與8051匯編語言的 比較 41
3.1.2 C51語言與標準C語言的 比較 42
3.2 C51語言程序設計基礎 42
3.2.1 C51語言中的數據類型與存儲 類型 43
3.2.2 C51語言的特殊功能寄存器及 位變量定義 47
3.2.3 C51語言的絕對地址訪問 49
3.2.4 C51語言的基本運算 50
3.2.5 C51語言的分支結構與循環 結構 53
3.2.6 C51語言的數組 59
3.3 C51語言的函數 61
3.3.1 函數的分類 61
3.3.2 函數的調用 63
3.3.3 中斷服務函數 63
3.3.4 宏定義 64
思考題及習題 64
第4章 開發與仿真工具
4.1 Keil C51的使用 66
4.1.1 Keil C51簡介 66
4.1.2 基本操作 66
4.1.3 添加用戶源程序文件 68
4.1.4 程序的編譯與調試 69
4.1.5 項目的設置 72
4.2 Proteus虛擬仿真工具介紹 74
4.2.1 Proteus功能簡介 74
4.2.2 Proteus ISIS的虛擬仿真 74
4.2.3 Proteus的各種虛擬仿真 調試工具 80
4.2.4 虛擬設計仿真舉例 84
思考題及習題 90
第5章 單片機與開關、鍵盤以及顯示器件的接口設計
5.1 單片機控制發光二極管顯示 91
5.1.1 單片機與發光二極管的連接 91
5.1.2 I/O口的編程控制 92
5.2 開關狀態檢測 95
5.2.1 開關檢測案例1 95
5.2.2 開關檢測案例2 96
5.3 單片機控制LED數碼管的顯示 97
5.3.1 LED數碼管的顯示原理 97
5.3.2 LED數碼管的靜態顯示與 動態顯示 100
5.4 單片機控制LED點陣顯示器顯示 103
5.4.1 LED點陣顯示器的結構與 顯示原理 103
5.4.2 控制16×16 LED點陣顯示器的 案例 104
5.5 字符型液晶顯示器LCD 1602的顯示 控制 106
5.5.1 LCD 1602液晶顯示模塊 簡介 106
5.5.2 單片機控制字符型LCD 1602 顯示案例 112
5.6 按鍵式鍵盤接口設計 115
5.6.1 按鍵式鍵盤接口設計應解決的 問題 116
5.6.2 獨立式鍵盤的接口設計案例 116
5.6.3 矩陣式鍵盤的接口設計案例 123
5.6.4 非編碼鍵盤掃描方式的選擇 125
5.6.5 單片機與專用鍵盤/顯示器芯片 HD7279的接口設計 126
思考題及習題 136
第6章 中斷系統的工作原理及應用
6.1 AT89S51中斷技術概述 138
6.2 AT89S51中斷系統結構 139
6.2.1 中斷請求源 139
6.2.2 中斷請求標誌寄存器 139
6.3 中斷允許與中斷優先級的控制 141
6.3.1 中斷允許寄存器IE 141
6.3.2 中斷優先級寄存器IP 141
6.4 響應中斷請求的條件 143
6.5 外部中斷的響應時間 144
6.6 外部中斷的觸發方式選擇 144
6.7 中斷請求的撤銷 145
6.8 中斷函數 146
6.9 中斷系統應用舉例 147
6.9.1 單一外中斷的應用 147
6.9.2 兩個外中斷的應用 148
6.9.3 中斷嵌套的應用 150
6.10 AT89S52與AT89S51中斷系統的 差別 151
6.10.1 中斷請求源的差別 151
6.10.2 中斷請求標誌寄存器的差別 152
6.10.3 中斷允許寄存器與中斷 優先級寄存器的差別 153
思考題及習題 154
第7章 定時器/計數器的工作原理及應用
7.1 定時器/計數器的結構 156
7.1.1 定時器/計數器工作方式寄存器 TMOD 157
7.1.2 定時器/計數器控制寄存器 TCON 158
7.2 定時器/計數器的4種工作方式 158
7.2.1 方式0 158
7.2.2 方式1 159
7.2.3 方式2 159
7.2.4 方式3 160
7.3 計數器對外部輸入的計數信號的 要求 161
7.4 定時器/計數器T0、T1的編程應用 162
7.4.1 P1口控制8個LED 162
7.4.2 計數器的應用 163
7.4.3 控制P1.0產生周期為2ms的 方波 165
7.4.4 利用T1控制發出1kHz的音頻 信號 167
7.4.5 LED數碼管秒表的制作 168
7.4.6 測量脈沖寬度——門控位 GATEx的應用 170
7.4.7 LCD時鐘的設計 172
7.5 AT89S52新增定時器/計數器T2 簡介 174
7.5.1 T2的特殊功能寄存器T2CON 和T2MOD 174
7.5.2 T2的16位自動重裝載方式 176
7.5.3 T2的捕捉方式 178
7.5.4 T2的波特率發生器方式及可 編程時鐘輸出 178
思考題及習題 180
第8章 串行口的工作原理及應用
8.1 串行通信基礎 183
8.1.1 並行通信與串行通信 183
8.1.2 同步通信與異步通信 184
8.1.3 串行通信的傳輸模式 185
8.1.4 串行通信的錯誤校驗 185
8.2 串行口的結構 186
8.2.1 串行口控制寄存器SCON 186
8.2.2 特殊功能寄存器PCON 188
8.3 串行口的4種工作方式 188
8.3.1 方式0 188
8.3.2 方式1 192
8.3.3 方式2 194
8.3.4 方式3 195
8.4 多機通信 195
8.5 波特率的制定方法 196
8.5.1 波特率的定義 196
8.5.2 定時器T1產生波特率的 計算 196
8.6 串行口應用設計案例 198
8.6.1 串行通信標準接口RS232、 RS422與RS485簡介 198
8.6.2 方式1的應用設計 201
8.6.3 方式2和方式3的應用設計 207
8.6.4 多機通信的應用設計 209
8.6.5 單片機與PC串行通信的 設計 215
8.6.6 PC與單片機或與多個單片機的 串行通信 218
思考題及習題 219
第9章 單片機系統的並行擴展
9.1 系統並行擴展技術 221
9.1.1 系統並行擴展結構 221
9.1.2 地址空間分配 223
9.1.3 外部地址鎖存器 225
9.2 外部數據存儲器的並行擴展 226
9.2.1 常用的靜態RAM芯片 226
9.2.2 讀寫片外RAM的操作時序 227
9.2.3 並行擴展數據存儲器的設計 229
9.2.4 單片機外擴數據存儲器 RAM6264的案例設計 230
9.3 片內Flash存儲器的編程 232
9.3.1 使用通用編程器的程序寫入 233
9.3.2 使用下載線的ISP編程 233
9.4 E2PROM的並行擴展 234
9.4.1 並行E2PROM芯片簡介 234
9.4.2 AT89S51單片機擴展 E2PROM 2864A的設計 235
9.5 AT89S51擴展並行I/O芯片82C55的 設計 236
9.5.1 I/O口擴展概述 236
9.5.2 並行I/O芯片82C55簡介 237
9.5.3 82C55的3種工作方式 240
9.5.4 AT89S51單片機與82C55的 接口設計 244
9.6 利用74LSTTL電路擴展並行 I/O口 245
9.7 用AT89S51單片機的串行口擴展並行 I/O口 247
9.7.1 用74LS165擴展並行輸 入口 247
9.7.2 用74LS164擴展並行輸 出口 248
思考題及習題 249
第 10章 AT89S51單片機系統的串行擴展
10.1 單總線串行擴展 251
10.1.1 單總線擴展的典型應用—— DS18B20的溫度測量系統 252
10.1.2 設計案例:單總線DS18B20 溫度測量系統 254
10.2 SPI總線串行擴展 257
10.3 I2C總線的串行擴展 258
10.3.1 I2C總線系統的基本結構 258
10.3.2 I2C總線的數據傳送規定 259
10.3.3 AT89S51的I2C總線擴展系統 262
10.3.4 I2C總線數據傳送的模擬 263
10.3.5 利用I2C總線擴展E2PROM AT24C02的IC卡設計 266
思考題及習題 272
第 11章 AT89S51單片機與DAC、ADC的接口
11.1 單片機擴展DAC概述 273
11.2 單片機擴展並行8位DAC0832 274
11.2.1 DAC0832簡介 274
11.2.2 案例設計:單片機擴展 DAC0832的程控電壓源 276
11.2.3 案例設計:波形發生器的 制作 277
11.3 單片機擴展串行10位DAC—— TLC5615 281
11.3.1 串行DAC——TLC5615 簡介 281
11.3.2 案例設計:單片機擴展串行DAC——TLC5615的設計 283
11.4 單片機擴展ADC概述 285
11.5 單片機並行擴展8位 ADC0809 286
11.5.1 案例設計:單片機控制 ADC0809進行A/D轉換 288
11.5.2 案例設計:兩路輸入的數字 電壓表的設計 289
11.6 單片機擴展串行8位ADC—— TLC549 292
11.6.1 TLC549的特性及工作 原理 292
11.6.2 案例設計:單片機擴展 TLC549的設計 294
11.7 單片機擴展12位串行ADC—— TLC2543 295
11.7.1 TLC2543的特性及工作 原理 296
11.7.2 案例設計:單片機擴展 TLC2543的設計 297
思考題及習題 300
第 12章 單片機的各種應用設計
12.1 單片機控制步進電機的設計 302
12.2 單片機控制直流電機的設計 304
12.3 頻率計的制作 306
12.4 電話機撥號的模擬 309
12.5 8位競賽搶答器的設計 314
12.6 基於時鐘/日歷芯片DS1302的 電子鐘的設計 319
思考題及習題 325
第 13章 單片機應用系統抗幹擾與可靠性設計
13.1 幹擾的來源 326
13.2 供電系統幹擾及其抗幹擾 措施 327
13.2.1 電源幹擾來源、種類和 危害 327
13.2.2 供電系統的抗幹擾 設計 328
13.3 過程通道幹擾的抑制措施—— 隔離 329
13.3.1 光電耦合隔離的基本 配置 329
13.3.2 光電隔離的實現 329
13.4 空間幹擾及抗幹擾措施 330
13.4.1 接地技術 331
13.4.2 屏蔽技術 332
13.5 反電勢幹擾的抑制 333
13.6 印制電路板的抗幹擾設計 334
13.6.1 地線與電源線設計 334
13.6.2 去耦電容的配置 335
13.6.3 印制電路板的布線的抗幹擾 設計 335
13.7 軟件抗幹擾措施 336
13.7.1 軟件抗幹擾的一般方法 336
13.7.2 軟件濾波 336
13.7.3 開關量輸入/輸出軟件抗幹擾 設計 337
思考題及習題 338
第 14章 單片機應用系統的設計與調試
14.1 單片機應用系統的設計步驟 340
14.2 單片機應用系統設計 341
14.2.1 硬件設計應考慮的問題 341
14.2.2 典型的單片機應用系統 342
14.2.3 系統設計中的總線驅動 343
14.2.4 軟件設計應考慮的問題 345
14.3 單片機應用系統的仿真開發與 調試 345
思考題及習題 348
附錄A 基礎實驗題目 349
附錄B 課程設計題目 355
參考文獻 362