本書以51系列單片機(jī)為硬件基礎(chǔ),以匯編語言為軟件編程基礎(chǔ),系統(tǒng)全面地介紹51系列單片機(jī)的基本知識(shí)與基本應(yīng)用,主要內(nèi)容包括:微型計(jì)算機(jī)基礎(chǔ)、51系列單片機(jī)硬件基礎(chǔ),軟件編程基礎(chǔ)—匯編語言基礎(chǔ),P0~P3口、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、串行口應(yīng)用基礎(chǔ),并行總線接口擴(kuò)展技術(shù),串行總線接口擴(kuò)展技術(shù),液晶與點(diǎn)陣顯示器應(yīng)用示例,應(yīng)用系統(tǒng)設(shè)計(jì)基礎(chǔ)等。提供大量實(shí)例及詳細(xì)說明與注釋,硬件設(shè)計(jì)實(shí)例都經(jīng)過Proteus仿真,每章配有本章小結(jié)、習(xí)題、實(shí)驗(yàn)與設(shè)計(jì)等,提供配套電子課件、程序代碼、習(xí)題參考答案與實(shí)驗(yàn)指導(dǎo)。
姜志海,山東理工大學(xué)自動(dòng)化學(xué)院教授,有超過三十年的豐富教學(xué)經(jīng)驗(yàn),并致力于單片機(jī)方面的科研工作,已出版多種單片機(jī)方面的教材與科技書。
第1章 微型計(jì)算機(jī)基礎(chǔ)1
1.1 微型計(jì)算機(jī)的定義與工作過程1
1.1.1 定義1
1.1.2 馮?諾依曼體系1
1.1.3 工作過程2
1.2 計(jì)算機(jī)中的數(shù)制和編碼基礎(chǔ)3
1.2.1 計(jì)算機(jī)中的數(shù)制及轉(zhuǎn)換3
1.2.2 原碼、反碼、補(bǔ)碼3
1.2.3 定點(diǎn)數(shù)和浮點(diǎn)數(shù)4
1.2.4 計(jì)算機(jī)中常用的編碼5
1.3 微型計(jì)算機(jī)結(jié)構(gòu)7
1.3.1 微型計(jì)算機(jī)硬件結(jié)構(gòu)概述7
1.3.2 微型計(jì)算機(jī)軟件概述8
1.3.3 CPU、存儲(chǔ)器、I/O口、總線11
1.4 中斷、定時(shí)器/計(jì)數(shù)器、串行通信、
并行通信的初步認(rèn)識(shí)17
1.4.1 中斷的初步認(rèn)識(shí)17
1.4.2 定時(shí)器/計(jì)數(shù)器的初步認(rèn)識(shí)18
1.4.3 并行通信與串行通信的初步認(rèn)識(shí)18
1.5 CPU與外設(shè)的數(shù)據(jù)傳輸方式20
1.5.1 無條件傳輸方式20
1.5.2 程序查詢傳輸方式20
1.5.3 中斷傳輸方式21
1.5.4 DMA傳輸方式21
本章小結(jié)22
習(xí)題22
第2章 51系列單片機(jī)硬件基礎(chǔ)23
2.1 認(rèn)識(shí)單片機(jī)23
2.1.1 單片機(jī)的特點(diǎn)、應(yīng)用、分類、
發(fā)展趨勢(shì)23
2.1.2 常用的單片機(jī)產(chǎn)品27
2.1.3 MCS-51單片機(jī)已成為國際
經(jīng)典29
2.1.4 單片機(jī)與CPU、ARM、嵌入式
系統(tǒng)的關(guān)系30
2.1.5 單片機(jī)應(yīng)用系統(tǒng)開發(fā)的軟硬件
環(huán)境32
2.2 51單片機(jī)的總體結(jié)構(gòu)34
2.2.1 內(nèi)部結(jié)構(gòu)34
2.2.2 外部引腳說明35
2.2.3 CPU的時(shí)序周期38
2.3 51單片機(jī)的存儲(chǔ)器39
2.3.1 程序存儲(chǔ)器39
2.3.2 數(shù)據(jù)存儲(chǔ)器40
2.3.3 特殊功能寄存器42
本章小結(jié)45
習(xí)題45
第3章 51系列單片機(jī)軟件編程基礎(chǔ)—
匯編語言46
3.1 51單片機(jī)指令系統(tǒng)概述46
3.1.1 指令格式46
3.1.2 操作數(shù)的類型46
3.1.3 指令描述約定47
3.1.4 尋址方式47
3.2 51單片機(jī)指令系統(tǒng)50
3.2.1 數(shù)據(jù)傳送類指令50
3.2.2 算術(shù)運(yùn)算類指令54
3.2.3 邏輯運(yùn)算類指令59
3.2.4 控制轉(zhuǎn)移類指令61
3.2.5 位操作類指令66
3.3 51單片機(jī)的偽指令68
3.4 51單片機(jī)匯編語言程序設(shè)計(jì)基礎(chǔ)71
3.4.1 程序設(shè)計(jì)概述71
3.4.2 順序結(jié)構(gòu)程序設(shè)計(jì)72
3.4.3 分支結(jié)構(gòu)的程序設(shè)計(jì)73
3.4.4 循環(huán)結(jié)構(gòu)的程序設(shè)計(jì)76
3.4.5 查表程序的設(shè)計(jì)80
本章小結(jié)82
習(xí)題82
第4章 51系列單片機(jī)P0~P3口應(yīng)用
基礎(chǔ)84
4.1 認(rèn)識(shí)51單片機(jī)的P0~P3口84
4.1.1 P1口84
4.1.2 P3口85
4.1.3 P0口85
4.1.4 P2口86
4.1.5 P0~P3口特點(diǎn)總結(jié)87
4.2 輸出操作87
4.2.1 基本輸出操作舉例—字節(jié)輸出
與位輸出87
4.2.2 擴(kuò)展輸出操作舉例—流水燈與
霹靂燈88
4.2.3 擴(kuò)展輸出操作舉例—8段LED
靜態(tài)與動(dòng)態(tài)顯示90
4.3 輸入操作94
4.3.1 閘刀型開關(guān)輸入信號(hào)95
4.3.2 單個(gè)按鈕型開關(guān)輸入信號(hào)95
4.3.3 多個(gè)按鈕型開關(guān)輸入信號(hào)—
鍵盤98
4.4 實(shí)驗(yàn)與設(shè)計(jì)103
本章小結(jié)107
習(xí)題107
第5章 51系列單片機(jī)中斷系統(tǒng)應(yīng)用
基礎(chǔ)108
5.1 中斷系統(tǒng)的再認(rèn)識(shí)108
5.1.1 中斷的有關(guān)概念108
5.1.2 中斷處理過程109
5.2 認(rèn)識(shí)51單片機(jī)中斷系統(tǒng)111
5.2.1 51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)111
5.2.2 中斷控制寄存器112
5.2.3 中斷優(yōu)先級(jí)與中斷響應(yīng)113
5.2.4 有中斷時(shí)的程序結(jié)構(gòu)115
5.3 外部中斷舉例116
5.3.1 外部中斷源初始化116
5.3.2 外部中斷實(shí)例117
5.4 實(shí)驗(yàn)與設(shè)計(jì)121
本章小結(jié)123
習(xí)題123
第6章 51系列單片機(jī)的定時(shí)器/計(jì)數(shù)器
應(yīng)用基礎(chǔ)124
6.1 可編程的硬件定時(shí)器/計(jì)數(shù)器的
再認(rèn)識(shí)124
6.1.1 功能124
6.1.2 工作原理124
6.1.3 計(jì)數(shù)器初值的計(jì)算125
6.2 認(rèn)識(shí)51單片機(jī)的定時(shí)器/計(jì)數(shù)器125
6.2.1 定時(shí)器/計(jì)數(shù)器的的結(jié)構(gòu)125
6.2.2 定時(shí)器/計(jì)數(shù)器的控制寄存器126
6.2.3 定時(shí)器/計(jì)數(shù)器工作模式127
6.3 定時(shí)器/計(jì)數(shù)器的應(yīng)用舉例130
6.3.1 定時(shí)器/計(jì)數(shù)器的初始化130
6.3.2 應(yīng)用舉例132
6.4 實(shí)驗(yàn)與設(shè)計(jì)138
本章小結(jié)140
習(xí)題141
第7章 51系列單片機(jī)串行口應(yīng)用基礎(chǔ)142
7.1 串行通信的再認(rèn)識(shí)142
7.1.1 異步串行通信與同步串行通信142
7.1.2 波特率145
7.1.3 串行通信的檢錯(cuò)與糾錯(cuò)146
7.1.4 串行接口芯片UART和
USART146
7.2 認(rèn)識(shí)51單片機(jī)的串行接口147
7.2.1 串行口的結(jié)構(gòu)原理147
7.2.2 串行口的應(yīng)用控制148
7.3 51單片機(jī)串行口的工作方式149
7.3.1 串行口工作方式0150
7.3.2 串行口工作方式1153
7.3.3 串行口工作方式2157
7.3.4 工作方式3159
7.4 51單片機(jī)串行口的應(yīng)用舉例160
7.4.1 串行口編程基礎(chǔ)160
7.4.2 串行口應(yīng)用舉例162
7.5 實(shí)驗(yàn)與設(shè)計(jì)168
本章小結(jié)170
習(xí)題171
第8章 51系列單片機(jī)并行總線接口擴(kuò)展
技術(shù)172
8.1 51單片機(jī)并行I/O口擴(kuò)展基礎(chǔ)172
8.1.1 系統(tǒng)擴(kuò)展總線結(jié)構(gòu)圖172
8.1.2 典型的鎖存器芯片74LS273173
8.1.3 典型的三態(tài)緩沖器74LS244173
8.1.4 可編程的I/O接口芯片8255A174
8.2 并行總線的連接178
8.2.1 數(shù)據(jù)線、控制線的連接178
8.2.2 譯碼信號(hào)的形成—系統(tǒng)擴(kuò)展的
尋址179
8.3 并行I/O接口芯片擴(kuò)展示例181
8.3.1 利用鎖存器與緩沖器擴(kuò)展并行
的輸入/輸出口示例181
8.3.2 利用8255A擴(kuò)展并行的輸入/
輸出口示例183
8.3.3 利用8255A作為8段LED靜態(tài)
顯示輸出口的示例184
8.3.4 利用8255A作為8段LED動(dòng)態(tài)
顯示輸出口的示例186
8.4 模擬量接口技術(shù)189
8.4.1 A/D與D/A轉(zhuǎn)換器概述190
8.4.2 8位并行D/A轉(zhuǎn)換器DAC0832
接口示例196
8.4.3 12位并行D/A轉(zhuǎn)換器DAC1208
接口示例202
8.4.4 8位并行A/D轉(zhuǎn)換器ADC0809
接口示例204
8.5 實(shí)驗(yàn)與設(shè)計(jì)207
本章小結(jié)210
習(xí)題211
第9章 51系列單片串行總線接口擴(kuò)展
技術(shù)212
9.1 I2C總線接口技術(shù)212
9.1.1 認(rèn)識(shí)I2C總線接口212
9.1.2 I2C總線典型器件AT24C02
應(yīng)用舉例214
9.2 SPI總線接口技術(shù)219
9.2.1 認(rèn)識(shí)SPI總線220
9.2.2 SPI總線典型器件X25045應(yīng)用
舉例221
9.3 單總線(1-wire)接口技術(shù)225
9.3.1 認(rèn)識(shí)單總線(1-wire)225
9.3.2 單總線典型器件DS18B20應(yīng)用
舉例226
9.4 典型串行A/D接口芯片TLC2543
的編程示例231
本章小結(jié)235
習(xí)題235
第10章 51系列單片機(jī)液晶與點(diǎn)陣顯示器
應(yīng)用示例236
10.1 51單片機(jī)液晶顯示器接口技術(shù)236
10.1.1 認(rèn)識(shí)LCD顯示器236
10.1.2 字符型LCD1602液晶顯示
模塊接口技術(shù)237
10.1.3 點(diǎn)陣式帶漢字庫12864液晶
顯示模塊接口技術(shù)242
10.2 51單片機(jī)點(diǎn)陣LED顯示器接口
技術(shù)250
10.2.1 認(rèn)識(shí)點(diǎn)陣LED顯示器250
10.2.2 一個(gè)5×7點(diǎn)陣一個(gè)字符
顯示251
10.2.3 兩個(gè)8×8點(diǎn)陣字符串顯示252
本章小結(jié)254
習(xí)題254
第11章 51系列單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)255
11.1 單片機(jī)應(yīng)用系統(tǒng)結(jié)構(gòu)以及設(shè)計(jì)
內(nèi)容255
11.1.1 單片機(jī)應(yīng)用系統(tǒng)的一般硬件
組成255
11.1.2 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)內(nèi)容257
11.2 單片機(jī)應(yīng)用系統(tǒng)的一般設(shè)計(jì)方法258
11.2.1 確定系統(tǒng)的功能與性能258
11.2.2 確定系統(tǒng)基本結(jié)構(gòu)258
11.2.3 單片機(jī)應(yīng)用系統(tǒng)硬件與軟件
設(shè)計(jì)259
11.2.4 資源分配261
11.3 單片機(jī)應(yīng)用系統(tǒng)的調(diào)試262
11.3.1 單片機(jī)應(yīng)用系統(tǒng)調(diào)試工具262
11.3.2