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