單片機原理及接口技術
張毅剛 主編
相關主題
商品描述
本書詳細介紹了美國Atmel公司的AT89S51單片機的硬件結構與工作原理、8051匯編語言指令系統,並從應用設計的角度介紹了AT89S51單片機的各種硬件擴展接口設計、接口驅動程序設計,以及AT89S51單片機應用系統設計,同時給出較多的典型設計案例。另外,本書還對AT89S51單片機應用系統設計中的各種器件加以介紹。
本書配有PPT課件、教學大綱、教學設計、基礎實驗題目、基礎實驗指導、思考題及習題答案、模擬試捲及答案、課程設計題目及要求、擴充學習資料等教學資源,用書老師可在人郵教育社區免費下載使用。
本書可作為各類工科院校電子技術、工業自動化、電腦、自動控制、智能儀器儀表、電氣工程、機電一體化等專業單片機課程教材,也可供從事單片機應用設計的工程技術人員參考。
作者簡介
張毅剛 哈爾濱工業大學教授,國家精品課《單片機原理》、國家精品資源共享課《單片機原理》、首批國家精品在線開放課程《單片機原理》、國家級一流本科課程負責人。黑龍江省教學名師獎獲得者,教育部全國高校網絡培訓中心《單片機原理》骨干教師高級研修班特聘主講教授。主持並獲得國家優秀教材二等獎1項,省高等教育教學成果一等獎2項,二等獎2項。獲國家教學成果一等獎1項(排名3)。
主編出版普通高等教育國家級“十五”規劃教材1本、“十一五” 國家級規劃教材2本、“十二五”普通高等教育本科國家級規劃教材2本。
主要科研方向為自動化測試技術。參加多項科研項目,獲國家科技進步二等獎1項,部委科技進步獎6項。
目錄大綱
第 1章 單片機概述 1
1.1 單片機簡介 1
1.2 單片機的發展歷史 2
1.3 單片機的特點 2
1.4 單片機的應用 3
1.5 單片機的發展趨勢 3
1.6 MCS-51系列與AT89S5x系列單片機 4
1.6.1 MCS-51系列單片機 5
1.6.2 8051內核單片機與AT89S5x系列單片機簡介 5
思考題及習題 6
第 2章 AT89S51單片機的片內硬件結構 7
2.1 AT89S51單片機的硬件組成 7
2.2 AT89S51的引腳功能 8
2.2.1 電源引腳和時鐘引腳 9
2.2.2 控制引腳 9
2.2.3 並行I/O口引腳 10
2.3 AT89S51的CPU 11
2.3.1 運算器 11
2.3.2 控制器 12
2.4 AT89S51單片機存儲器的結構 13
2.4.1 程序存儲器空間 13
2.4.2 數據存儲器空間 14
2.4.3 特殊功能寄存器 15
2.4.4 位地址空間 17
2.5 AT89S51單片機的並行I/O端口 19
2.5.1 P0口 19
2.5.2 P1口 20
2.5.3 P2口 21
2.5.4 P3口 21
2.6 時鐘電路與時序 22
2.6.1 時鐘電路設計 23
2.6.2 時鐘週期、機器週期、指令周期與指令時序 24
2.7 復位操作和復位電路 24
2.7.1 復位操作 24
2.7.2 復位電路設計 25
2.8 AT89S51單片機的最小應用系統 26
思考題及習題 26
第3章 8051指令系統與編程基礎 28
3.1 指令系統概述 28
3.2 指令格式 28
3.3 指令系統的尋址方式 29
3.4 8051指令系統分類介紹 31
3.4.1 數據傳送類指令 32
3.4.2 算術運算類指令 36
3.4.3 邏輯操作類指令 40
3.4.4 控制轉移類指令 43
3.4.5 位操作類指令 45
3.5 8051指令匯總 47
3.6 某些指令的說明 50
3.7 8051彙編語言程序設計基礎 52
3.7.1 編程語言概述 52
3.7.2 彙編語言語句和格式 52
3.7.3 偽指令 54
3.7.4 彙編語言源程序的彙編 56
3.8 8051彙編語言程序設計舉例 57
3.8.1 子程序的設計 57
3.8.2 查表程序設計 58
3.8.3 分支轉移程序設計 60
3.8.4 循環程序設計 62
思考題及習題 63
第4章 AT89S51單片機的中斷系統 64
4.1 AT89S51中斷技術概述 64
4.2 AT89S51中斷系統結構 64
4.2.1 中斷請求源 65
4.2.2 中斷請求標誌寄存器 65
4.3 中斷允許與中斷優先級的控制 66
4.3.1 中斷允許寄存器IE 66
4.3.2 中斷優先級寄存器IP 68
4.4 響應中斷請求的條件 70
4.5 外部中斷的響應時間 71
4.6 外部中斷的觸發方式選擇 71
4.6.1 電平觸發方式 71
4.6.2 跳沿觸發方式 71
4.7 中斷請求的撤銷 71
4.8 中斷服務子程序的設計 72
思考題及習題 75
第5章 單片機與開關/鍵盤以及顯示器件的接口設計 76
5.1 單片機控制發光二極管的顯示 76
5.1.1 單片機與發光二極管的連接 76
5.1.2 單片機I/O端口控制發光二極管的編程 77
5.2 開關狀態檢測 78
5.3 單片機控制LED數碼管的顯示 79
5.3.1 LED數碼管顯示原理 79
5.3.2 LED數碼管的顯示方式 81
5.3.3 LED數碼管靜態顯示設計 82
5.3.4 LED數碼管動態顯示設計 83
5.4 單片機控制LED點陣顯示器顯示 85
5.4.1 LED點陣顯示器結構與顯示原理 85
5.4.2 控制16×16 LED點陣顯示器的設計 86
5.5 單片機控制LCD1602液晶顯示器的顯示 90
5.5.1 LCD1602液晶顯示模塊簡介 90
5.5.2 單片機控製字符型LCD1602的顯示案例 94
5.6 鍵盤接口設計 97
5.6.1 鍵盤接口設計應解決的問題 97
5.6.2 獨立式鍵盤的設計 98
5.6.3 矩陣式鍵盤的設計 101
思考題及習題 104
第6章 AT89S51單片機的定時器/計數器 105
6.1 定時器/計數器的結構 105
6.1.1 工作方式控制寄存器TMOD 106
6.1.2 定時器/計數器控制寄存器TCON 106
6.2 定時器/計數器的4種工作方式 107
6.2.1 方式0 107
6.2.2 方式1 108
6.2.3 方式2 108
6.2.4 方式3 109
6.3 對外部輸入的計數信號的要求 111
6.4 定時器/計數器的編程和應用 111
6.4.1 方式1的應用 111
6.4.2 方式2的應用 113
6.4.3 方式3的應用 116
思考題及習題 118
第7章 AT89S51單片機的串行口 119
7.1 串行通信基礎 119
7.1.1 並行通信與串行通信 119
7.1.2 同步串行通信與異步串行通信 120
7.1.3 串行通信的傳輸模式 121
7.1.4 串行通信的錯誤校驗 121
7.2 串行口的結構 122
7.2.1 串行口控制寄存器SCON 122
7.2.2 特殊功能寄存器PCON 124
7.3 串行口的4種工作方式 124
7.3.1 方式0 124
7.3.2 方式1 126
7.3.3 方式2 128
7.3.4 方式3 130
7.4 多機通信 130
7.5 波特率的設置方法 131
7.5.1 波特率的定義 131
7.5.2 定時器T1產生波特率的計算 131
7.6 串行口的應用 133
7.6.1 串行通信接口標準 133
7.6.2 串行通信接口設計需要考慮的問題 136
7.6.3 雙機串行通信軟件編程 136
思考題及習題 141
第8章 AT89S51單片機外部存儲器的並行擴展 142
8.1 系統並行擴展結構 142
8.2 存儲器地址空間分配和外部地址鎖存器 143
8.2.1 存儲器地址空間分配 143
8.2.2 外部地址鎖存器 147
8.3 靜態RAM的並行擴展 148
8.3.1 常用的靜態RAM(SRAM)芯片 148
8.3.2 片外RAM的讀寫操作時序 149
8.3.3 AT89S51單片機與片外RAM的接口設計與軟件編程 151
8.4 片內Flash存儲器的編程 153
8.4.1 使用通用編程器的程序寫入 154
8.4.2 使用下載線的ISP 155
思考題及習題 155
第9章 單片機系統的並行擴展技術 157
9.1 I/O接口並行擴展 157
9.1.1 擴展的I/O接口的功能 157
9.1.2 I/O端口的編址 158
9.1.3 I/O數據的傳送方式 158
9.1.4 I/O接口芯片 159
9.2 AT89S51單片機擴展I/O接口芯片82C55的設計 159
9.2.1 82C55簡介 159
9.2.2 工作方式選擇控製字及端口PC置位/復位控製字 161
9.2.3 82C55的3種工作方式 162
9.2.4 AT89S51單片機與82C55的接口設計 166
思考題及習題 168
第 10章 單片機系統的串行擴展技術 169
10.1 單總線串行擴展 169
10.1.1 單總線系統的典型應用——DS18B20的溫度測量系統 169
10.1.2 單總線DS18B20溫度測量系統的設計 172
10.2 SPI總線串行擴展 176
10.3 I2C總線串行擴展 177
10.3.1 I2C總線系統的基本結構 178
10.3.2 I2C總線的數據傳送規定 178
10.3.3 AT89S51的I2C總線系統擴展 181
10.3.4 I2C總線數據傳送的模擬 182
思考題及習題 184
第 11章 AT89S51單片機與DAC、ADC的接口 185
11.1 單片機擴展DAC概述 185
11.2 單片機擴展並行8位DAC0832的接口設計 186
11.2.1 DAC0832簡介 186
11.2.2 AT89S51單片機與DAC0832的接口設計 188
11.3 單片機擴展ADC概述 192
11.4 單片機擴展並行8位ADC0809的接口設計 193
11.4.1 ADC0809簡介 193
11.4.2 AT89S51單片機與ADC0809的接口設計 194
思考題及習題 197
第 12章 其他常用的接口設計 198
12.1 步進電機的控制 198
12.1.1 控制步進電機的工作原理 198
12.1.2 控制步進電機的設計案例 199
12.2 直流電機的控制 200
12.2.1 控制直流電機的工作原理 201
12.2.2 控制直流電機的設計案例 201
12.3 基於時鐘/日曆芯片DS1302的電子鐘的接口設計 203
12.3.1 DS1302的工作原理 203
12.3.2 DS1302的應用設計案例 206
思考題及習題 212
第 13章 單片機應用系統的設計 213
13.1 單片機應用系統的設計步驟 213
13.2 單片機應用系統的設計 214
13.2.1 硬件設計應考慮的問題 214
13.2.2 典型的單片機應用系統 215
13.2.3 系統設計中的總線驅動 216
13.2.4 軟件設計應考慮的問題 218
13.2.5 軟件的總體框架設計 218
思考題及習題 219
參考文獻 220