本書從教學的角度出發(fā),系統(tǒng)、全面地介紹51系列單片機的基本知識,是一本重在原理與應用、兼顧理論的實用教程。主要內容包括:單片機概述,51系列單片機硬件結構、指令系統(tǒng)與匯編語言程序設計、P0~P3應用基礎、中斷系統(tǒng)應用基礎、定時器/計數(shù)器應用基礎、串行口應用基礎、并行擴展接口技術、串行總線擴展、應用系統(tǒng)設計概述、?Vision2和Proteus使用基礎等。全書包含大量示例,硬件示例都經(jīng)過了Proteus仿真,所有例題程序都可在Keil上運行。每章配有本章小結、習題、實驗與設計,免費提供配套電子課件、習題參考答案、仿真電路和程序源代碼。
姜志海,男,山東理工大學教授,長期從事高等學校電子信息領域相關課程一線教學,主持和參與多項國家級和省部級科研和教研項目,教學和科研經(jīng)驗豐富。出版多部著作,是優(yōu)秀的資深高等教材作者。
目 錄
第1章 概述 1
1.1 微型計算機基礎概述 1
1.1.1 馮·諾依曼體系 1
1.1.2 微型計算機的基本結構 2
1.1.3 計算機中的數(shù)制 5
1.1.4 ASCII碼與BCD碼 6
1.2 單片機概述 7
1.2.1 自動化 7
1.2.2 單片機 9
1.2.3 單片機應用系統(tǒng)基本結構 13
1.2.4 單片機開發(fā)系統(tǒng)(環(huán)境) 17
1.3 中斷、定時器/計數(shù)器、串行通信、
并行通信概述 19
1.3.1 中斷概述 19
1.3.2 定時器/計數(shù)器概述 19
1.3.3 并行通信與串行通信概述 20
本章小結 22
習題 22
第2章 51系列單片機硬件基礎 23
2.1 總體結構 23
2.1.1 內部結構 24
2.1.2 外部引腳 25
2.1.3 CPU的時序周期 27
2.2 存儲器結構 28
2.2.1 程序存儲器 28
2.2.2 數(shù)據(jù)存儲器 29
2.2.3 特殊功能寄存器 30
本章小結 33
習題 33
第3章 51系列單片機指令系統(tǒng) 34
3.1 指令系統(tǒng)概述 34
3.1.1 指令格式 34
3.1.2 操作數(shù)的類型 35
3.1.3 指令描述約定 35
3.2 尋址方式 36
3.2.1 概述 36
3.2.2 尋址方式說明 36
3.3 指令系統(tǒng) 38
3.3.1 數(shù)據(jù)傳送類指令 39
3.3.2 算術運算類指令 43
3.3.3 邏輯運算類指令 49
3.3.4 控制轉移類指令 51
3.3.5 位操作類指令 56
3.4 偽指令 58
3.4.1 概述 58
3.4.2 偽指令說明 58
本章小結 61
習題 61
第4章 51系列單片機匯編語言程序設計 63
4.1 程序設計概述 63
4.1.1 程序設計步驟 63
4.1.2 程序設計技術 64
4.1.3 評價程序質量的標準 64
4.2 基本結構程序設計舉例 65
4.2.1 順序結構程序 65
4.2.2 分支結構程序 66
4.2.3 循環(huán)結構程序 68
4.3 查表程序及子程序設計舉例 71
4.3.1 查表程序 71
4.3.2 子程序 73
4.4 數(shù)制轉換與數(shù)字濾波程序設計舉例 74
4.4.1 數(shù)制轉換程序 74
4.4.2 數(shù)字濾波程序 76
4.5 實驗 77
實驗1 多重循環(huán)——冒泡程序設計 77
實驗2 多位BCD碼減法 78
本章小結 78
習題 79
第5章 51系列單片機P0~P3口應用基礎 80
5.1 P0~P3口概述 80
5.1.1 結構 80
5.1.2 通用I/O口工作方式 82
5.1.3 特點總結 82
5.2 P0~P3口輸出操作 83
5.2.1 基本輸出操作——字節(jié)與位 83
5.2.2 擴展輸出操作——流水燈 84
5.2.3 擴展輸出操作——8段LED
顯示 85
5.3 P0~P3口輸入操作 90
5.3.1 閘刀型開關輸入信號 90
5.3.2 按鈕型開關輸入信號 91
5.3.3 多個按鈕型開關輸入信號——
鍵盤 93
5.4 實驗與設計 97
實驗1 閘刀型開關輸入/8段LED
靜態(tài)顯示輸出 97
實驗2 并行接口鍵盤/LED指示燈
輸出 98
設計1 計時秒表的設計 101
設計2 模擬交通信號燈控制裝置的
設計 101
本章小結 101
習題 102
第6章 51系列單片機中斷系統(tǒng)應用基礎 103
6.1 中斷結構與控制 103
6.1.1 中斷系統(tǒng)結構 103
6.1.2 中斷控制寄存器 104
6.2 中斷優(yōu)先級與中斷子程序 106
6.2.1 中斷優(yōu)先級 106
6.2.2 中斷子程序 107
6.3 外部中斷應用實例 108
6.3.1 外部中斷源初始化 108
6.3.2 外部中斷實例 108
6.3.3 外部中斷源的擴展 112
6.4 實驗與設計 113
實驗 按鈕型開關模擬外部中斷實驗 113
設計 出租車計價器里程計量裝置的
設計 114
本章小結 115
習題 115
第7章 51系列單片機定時器/計數(shù)器應用
基礎 116
7.1 定時器/計數(shù)器概述 116
7.1.1 結構 116
7.1.2 控制寄存器 117
7.2 工作模式 118
7.2.1 模式1與模式0 118
7.2.2 模式2 120
7.2.3 模式3 120
7.3 定時器/計數(shù)器的應用舉例 121
7.3.1 定時器/計數(shù)器的初始化 121
7.3.2 應用舉例 122
7.4 實驗與設計 128
實驗1 按鈕型開關模擬計數(shù)器實驗 128
實驗2 定時器實驗 129
設計1 出租車計價器里程計量裝置
的設計 131
設計2 計時鐘的設計(倒計時) 131
本章小結 131
習題 131
第8章 51系列單片機串行口應用基礎 133
8.1 串行通信基礎 133
8.1.1 異步串行通信與同步串行通信 133
8.1.2 波特率 136
8.2 51系列單片機的串行接口概述 137
8.2.1 結構原理 137
8.2.2 應用控制 138
8.3 串行口的工作方式 139
8.3.1 工作方式0 139
8.3.2 工作方式1 142
8.3.3 工作方式2 146
8.3.4 工作方式3 146
8.4 串行口應用實例 147
8.4.1 編程基礎 147
8.4.2 應用實例 149
8.5 實驗與設計 152
實驗 兩個單片機串行通信實驗 152
本章小結 154
習題 155
第9章 51系列單片機并行擴展接口技術 156
9.1 并行I/O口擴展基礎 156
9.1.1 并行擴展總線結構圖 156
9.1.2 典型的鎖存器芯片74LS273 157
9.1.3 典型的三態(tài)緩沖器74LS245 158
9.1.4 可編程的I/O接口芯片8255A 158
9.2 并行總線的連接 162
9.2.1 數(shù)據(jù)線、控制線的連接 162
9.2.2 譯碼信號的形成—系統(tǒng)擴展
的尋址 163
9.3 并行I/O接口芯片擴展實例 165
9.3.1 利用74LS273與74LS245擴展
并行的輸入/輸出口實例 165
9.3.2 利用8255A作為8段LED靜態(tài)
顯示輸出口的實例 166
9.3.3 利用8255A作為8段LED動態(tài)
顯示輸出口的實例 168
9.4 模擬量接口技術 170
9.4.1 概述 170
9.4.2 8位并行D/A轉換器DAC0832
接口實例 171
9.4.3 12位并行D/A轉換器DAC1208
接口實例 177
9.4.4 8位并行A/D轉換器ADC0809
接口實例 178
9.5 實驗與設計 182
實驗1 DAC0832單緩沖實驗 182
實驗2 ADC0809數(shù)據(jù)采集實驗 183
設計 波形發(fā)生器的設計 185
本章小結 185
習題 185
第10章 51系列單片串行總線的擴展 187
10.1 I2C總線接口技術 187
10.1.1 I2C總線概述 187
10.1.2 I2C總線典型器件AT24C02
應用實例 189
10.2 SPI總線接口技術 192
10.2.1 SPI總線概述 192
10.2.2 典型器件X25045應用實例 193
10.3 單總線(1-wire)接口技術 198
10.3.1 單總線(1-wire)概述 198
10.3.2 典型器件DS18B20應用實例 199
10.4 典型串行接口芯片應用實例 204
10.4.1 串行A/D接口芯片TLC2543 204
10.4.2 鍵盤/顯示器串行接口芯片
HD7279 208
本章小結 214
習題 214
第11章 單片機應用系統(tǒng)的設計 215
11.1 單片機應用系統(tǒng)結構及設計內容 215
11.1.1 單片機應用系統(tǒng)的一般硬件
組成 215
11.1.2 單片機應用系統(tǒng)的設計內容 218
11.2 單片機應用系統(tǒng)的設計實例——
集中供暖小型換熱站控制系統(tǒng)的
設計 218
11.2.1 系統(tǒng)描述 218
11.2.2 設計方案 219
11.2.3 硬件電路設計 220
11.2.4 軟件設計 223
本章小結 224
第12章 μVision2與Proteus使用基礎 225
12.1 μVision2集成開發(fā)環(huán)境 225
12.1.1 目標文件.HEX的生成 226
12.1.2 用μVision2調試工程 230
12.2 Proteus快速入門 233
12.2.1 集成Proteus ISIS環(huán)境及菜
單欄 234
12.2.2 Proteus軟件中的.HEX文件
的運行 235
附錄A ASCII碼字符表 237
附錄B 單片機應用資料的查詢網(wǎng)址 238
附錄C Proteus常用分離器件名稱 239
參考文獻 240