《單片機(jī)應(yīng)用技術(shù)》以應(yīng)用項(xiàng)目為驅(qū)動(dòng),將基本知識(shí)、實(shí)際應(yīng)用和PROTEUS仿真技術(shù)相結(jié)合。基本知識(shí)以“夠用”為原則,應(yīng)用項(xiàng)目以“實(shí)用”為目的,重在基本技能的訓(xùn)練與培養(yǎng);PROTEUS仿真技術(shù)為單片機(jī)仿真教學(xué)提供了基礎(chǔ)。《單片機(jī)應(yīng)用技術(shù)》以MCS-51系列單片機(jī)為主體機(jī)型講述單片機(jī)原理,其內(nèi)容也適用于與MCS-51系列單片機(jī)兼容的其他類型單片機(jī)。與此同時(shí),《單片機(jī)應(yīng)用技術(shù)》還介紹了PROTEUS設(shè)計(jì)與仿真平臺(tái)、WAVE軟件調(diào)試器、編程器等開發(fā)工具,書中列有大量單片機(jī)應(yīng)用實(shí)例并利用PROTEUS進(jìn)行仿真。
《單片機(jī)應(yīng)用技術(shù)》可作為高等專科和高等職業(yè)院校教材,也可作為單片機(jī)應(yīng)用工程技術(shù)人員及單片機(jī)應(yīng)用技術(shù)愛好者的參考書。
全書以應(yīng)用項(xiàng)目為驅(qū)動(dòng)。突出工學(xué)結(jié)合
全書例題按模塊化設(shè)計(jì)。突出技能培養(yǎng)
全書融入PROTEUS仿真,突出實(shí)踐教學(xué)
通用計(jì)算機(jī)系統(tǒng)和嵌入式計(jì)算機(jī)系統(tǒng)是現(xiàn)代計(jì)算機(jī)系統(tǒng)的兩大分支,前者是人類的“智力平臺(tái)”,后者是人類工具的“智力嵌入”。單片機(jī)作為“智能芯片”,是嵌入式系統(tǒng)中重要且發(fā)展迅速的組成部分,充當(dāng)主機(jī)角色。
單片機(jī)應(yīng)用系統(tǒng)是軟件和硬件的有機(jī)結(jié)合,將其嵌入在形形色色的應(yīng)用對(duì)象中,成為眾多產(chǎn)品、設(shè)備的智能化核心。單片機(jī)技術(shù)在國(guó)民經(jīng)濟(jì)各個(gè)領(lǐng)域中獲得了愈來愈廣泛的應(yīng)用,“單片機(jī)應(yīng)用技術(shù)”也成為高等學(xué)校相關(guān)專業(yè)的重要課程。
“單片機(jī)應(yīng)用技術(shù)”是一門難學(xué)的課程。難就難在它是一門涉及電工電子技術(shù)、傳感器檢測(cè)技術(shù)、計(jì)算機(jī)技術(shù)等軟、硬件技術(shù)的綜合課程;難就難在它是一門實(shí)踐性很強(qiáng)的課程;難就難在它是一門面向?qū)嶋H應(yīng)用對(duì)象的課程。學(xué)與用結(jié)合,理論與實(shí)踐結(jié)合是解決“難學(xué)”的關(guān)鍵。
本書以基本知識(shí)為依托,以應(yīng)用項(xiàng)目為驅(qū)動(dòng),以PROTEUS仿真技術(shù)為支撐,以高級(jí)職業(yè)技能鑒定中“單片機(jī)應(yīng)用技術(shù)模塊”要求為依據(jù)而編寫。基本知識(shí)以“夠用”為原則,講練結(jié)合;應(yīng)用項(xiàng)目以“實(shí)用”為目的,學(xué)用并舉,重在基本技能訓(xùn)練與培養(yǎng);PROTEUS仿真技術(shù)實(shí)現(xiàn)了在計(jì)算機(jī)上完成單片機(jī)應(yīng)用系統(tǒng)電路設(shè)計(jì)、軟硬件調(diào)試與仿真、系統(tǒng)功能測(cè)試與驗(yàn)證,讓讀者“眼見為實(shí)”。
本書具有如下主要特點(diǎn)。
(1)全書以應(yīng)用項(xiàng)目為驅(qū)動(dòng),突出實(shí)用,突出技能訓(xùn)練,突出工學(xué)結(jié)合。
(2)書中將應(yīng)用項(xiàng)目嵌人在相關(guān)章節(jié)中,既突出了理論知識(shí)的實(shí)際應(yīng)用,又兼顧了理論知識(shí)的系統(tǒng)性和完整性。
(3)本書例題均按模塊化設(shè)計(jì),后續(xù)章節(jié)應(yīng)用的子程序多數(shù)能在前面例題中找到;提供的應(yīng)用實(shí)例軟硬件都經(jīng)過實(shí)踐驗(yàn)證,建議讀者仔細(xì)研習(xí),建立自己的“模塊庫(kù)”,積累單片機(jī)應(yīng)用的實(shí)踐經(jīng)驗(yàn)。
(4)將PROTEUS仿真技術(shù)融入教材中,應(yīng)用實(shí)例都進(jìn)行了PROTEUS設(shè)計(jì)與仿真,突破了傳統(tǒng)的以理論教學(xué)、實(shí)驗(yàn)教學(xué)為基礎(chǔ)的課程教學(xué)體系。
(5)全書各章均按基礎(chǔ)理論、基本應(yīng)用、應(yīng)用項(xiàng)目、PROTEUS仿真的順序編寫,讀者可根據(jù)需要選修。
(6)本書中的實(shí)例是以STC89C51系列單片機(jī)為主體的,它是性能優(yōu)良、應(yīng)用廣泛的MCS.51系列單片機(jī)升級(jí)換代產(chǎn)品。
本書可作為高等專科和高等職業(yè)院校的“單片機(jī)應(yīng)用技術(shù)”課程教材,也可作為電類專業(yè)師生、單片機(jī)應(yīng)用工程技術(shù)人員及單片機(jī)應(yīng)用技術(shù)愛好者的參考書。
由于編者水平有限,書中難免有疏漏之處,懇請(qǐng)讀者批評(píng)指正。
第1章 緒論 1
1.1 單片機(jī)及其發(fā)展概況 1
1.1.1 什么是單片機(jī) 1
1.1.2 單片機(jī)的特點(diǎn) 1
1.1.3 單片機(jī)的應(yīng)用 2
1.1.4 單片機(jī)的發(fā)展 3
1.1.5 單片機(jī)系列產(chǎn)品介紹 4
1.2 計(jì)算機(jī)的數(shù)制與碼制 5
1.2.1 數(shù)制的概念 5
1.2.2 碼制的概念 8
1.3 單片機(jī)應(yīng)用系統(tǒng)的開發(fā) 11
1.3.1 跑馬燈控制系統(tǒng)設(shè)計(jì) 11
1.3.2 單片機(jī)應(yīng)用系統(tǒng)開發(fā)流程 12
1.4 PROTEUS應(yīng)用基礎(chǔ) 13
1.4.1 PROTEUS窗口簡(jiǎn)介 14
1.4.2 PROTEUS原理圖設(shè)計(jì) 17
1.4.3 PROTEUS仿真調(diào)試 22
1.4.4 PROTEUS信號(hào)觀測(cè) 27
1.5 實(shí)訓(xùn)1:PROTEUS應(yīng)用初步 32
1.5.1 實(shí)訓(xùn)目的 32
1.5.2 跑馬燈控制系統(tǒng)PROTEUS原理圖設(shè)計(jì) 32
小結(jié) 32
練習(xí)題1 33
第2章 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu) 34
2.1 MCS-51系列單片機(jī)封裝引腳和內(nèi)部結(jié)構(gòu)框圖 34
2.1.1 封裝引腳功能 34
2.1.2 內(nèi)部結(jié)構(gòu) 35
2.2 MCS-51系列單片機(jī)存儲(chǔ)器結(jié)構(gòu) 39
2.2.1 存儲(chǔ)器劃分方法 39
2.2.2 程序存儲(chǔ)器ROM 39
2.2.3 數(shù)據(jù)存儲(chǔ)器RAM 40
2.2.4 特殊功能寄存器SFR 41
2.3 MCS-51系列單片機(jī)的時(shí)鐘電路及復(fù)位電路 43
2.3.1 時(shí)鐘電路 43
2.3.2 復(fù)位電路 45
2.3.3 MCS-51系列單片機(jī)最小系統(tǒng) 47
2.4 實(shí)訓(xùn)2:?jiǎn)纹瑱C(jī)復(fù)位、晶振、ALE信號(hào)的觀測(cè) 47
2.4.1 電路制做 47
2.4.2 信號(hào)觀測(cè) 47
小結(jié) 48
練習(xí)題2 50
第3章 MCS-51系列單片機(jī)指令系統(tǒng) 52
3.1 基本概念 52
3.1.1 指令、指令系統(tǒng)、機(jī)器代碼 52
3.1.2 程序、程序設(shè)計(jì)、機(jī)器語(yǔ)言 53
3.1.3 匯編語(yǔ)言、匯編語(yǔ)言指令格式、常用符號(hào) 53
3.2 尋址方式 55
3.2.1 尋址、尋址方式、尋址存儲(chǔ)器范圍 55
3.2.2 立即尋址 56
3.2.3 直接尋址 56
3.2.4 寄存器尋址 56
3.2.5 寄存器間接尋址 57
3.2.6 基址加變址尋址 57
3.2.7 相對(duì)尋址 58
3.2.8 位尋址 59
3.3 指令系統(tǒng) 59
3.3.1 數(shù)據(jù)傳送類指令 59
3.3.2 算術(shù)運(yùn)算類指令 63
3.3.3 邏輯運(yùn)算類指令 69
3.3.4 控制轉(zhuǎn)移類指令 72
3.3.5 位操作類指令 76
3.4 實(shí)訓(xùn)3:WAVE6000集成調(diào)試軟件應(yīng)用(1) 79
3.4.1 實(shí)訓(xùn)目的 79
3.4.2 WAVE6000快速入門 79
3.4.3 WAVE6000的初步應(yīng)用 82
小結(jié) 83
練習(xí)題3 83
第4章 MCS-51系列單片機(jī)匯編語(yǔ)言程序設(shè)計(jì) 86
4.1 程序設(shè)計(jì) 86
4.1.1 偽指令 86
4.1.2 程序設(shè)計(jì) 89
4.1.3 程序結(jié)構(gòu) 90
4.2 匯編語(yǔ)言程序設(shè)計(jì)舉例 94
4.2.1 延時(shí)程序 94
4.2.2 查表程序 95
4.2.3 碼制轉(zhuǎn)換程序 97
4.2.4 數(shù)據(jù)排序程序 99
4.2.5 算術(shù)運(yùn)算類程序 100
4.3 實(shí)訓(xùn)4:WAVE6000集成調(diào)試軟件應(yīng)用(2) 103
4.3.1 實(shí)訓(xùn)目的 103
4.3.2 WAVE斷點(diǎn)調(diào)試及程序的全速運(yùn)行 104
4.3.3 設(shè)計(jì)分支結(jié)構(gòu)程序并用WAVE6000進(jìn)行仿真調(diào)試 105
4.3.4 設(shè)計(jì)查表程序并用WAVE6000進(jìn)行仿真調(diào)試 105
小結(jié) 106
練習(xí)題4 107
第5章 MCS-51系列單片機(jī)I/O口及其應(yīng)用 108
5.1 I/O口結(jié)構(gòu)及功能 108
5.1.1 P0口 108
5.1.2 P1口 110
5.1.3 P2口 110
5.1.4 P3口 111
5.1.5 I/O口的負(fù)載能力和接口要求 113
5.2 應(yīng)用項(xiàng)目1:步進(jìn)電機(jī)控制系統(tǒng)(恒速) 113
5.2.1 步進(jìn)電機(jī)控制系統(tǒng)(恒速)的實(shí)現(xiàn) 113
5.2.2 步進(jìn)電機(jī)控制系統(tǒng)(恒速)的PROTEUS仿真 115
5.3 應(yīng)用項(xiàng)目2:RAM擴(kuò)展 116
5.3.1 三總線結(jié)構(gòu) 116
5.3.2 RAM擴(kuò)展的實(shí)現(xiàn) 117
5.3.3 RAM擴(kuò)展的PROTEUS仿真 118
5.4 實(shí)訓(xùn)5:編程器的使用 119
5.4.1 實(shí)訓(xùn)目的 119
5.4.2 編程器使用初步 119
小結(jié) 122
練習(xí)題5 123
第6章 MCS-51系列單片機(jī)的中斷系統(tǒng) 124
6.1 中斷系統(tǒng) 124
6.1.1 中斷的基本概念 124
6.1.2 中斷系統(tǒng)的結(jié)構(gòu) 125
6.1.3 中斷控制 126
6.1.4 中斷過程 128
6.2 應(yīng)用項(xiàng)目3:簡(jiǎn)單計(jì)數(shù)器 130
6.2.1 中斷初始化和中斷服務(wù)程序 131
6.2.2 LED顯示器 131
6.2.3 簡(jiǎn)單計(jì)數(shù)器的實(shí)現(xiàn) 133
6.2.4 簡(jiǎn)單計(jì)數(shù)器的PROTEUS仿真 135
6.3 實(shí)訓(xùn)6:中斷系統(tǒng)的應(yīng)用 136
6.3.1 實(shí)訓(xùn)目的 136
6.3.2 實(shí)訓(xùn)內(nèi)容 136
小結(jié) 137
練習(xí)題6 138
第7章 MCS-51系列單片機(jī)的定時(shí)/計(jì)數(shù)器 139
7.1 定時(shí)/計(jì)數(shù)器 139
7.1.1 定時(shí)/計(jì)數(shù)器概述 140
7.1.2 定時(shí)/計(jì)數(shù)器控制 140
7.1.3 定時(shí)/計(jì)數(shù)器的工作模式 142
7.1.4 定時(shí)/計(jì)數(shù)器的計(jì)數(shù)容量及初值 143
7.2 應(yīng)用項(xiàng)目4:航標(biāo)燈控制系統(tǒng) 145
7.2.1 定時(shí)/計(jì)數(shù)器應(yīng)用的基本步驟 145
7.2.2 定時(shí)/計(jì)數(shù)器應(yīng)用舉例 145
7.2.3 航標(biāo)燈控制系統(tǒng)的實(shí)現(xiàn) 148
7.2.4 航標(biāo)燈控制系統(tǒng)的PROTEUS仿真 150
7.3 應(yīng)用項(xiàng)目5:簡(jiǎn)易電子琴 151
7.3.1 簡(jiǎn)易電子琴的實(shí)現(xiàn) 151
7.3.2 簡(jiǎn)易電子琴的PROTEUS仿真 154
7.4 應(yīng)用項(xiàng)目6:PWM直流電動(dòng)機(jī)轉(zhuǎn)速控制系統(tǒng) 155
7.4.1 PWM直流電動(dòng)機(jī)轉(zhuǎn)速控制系統(tǒng)的實(shí)現(xiàn) 155
7.4.2 PWM直流電動(dòng)機(jī)轉(zhuǎn)速控制系統(tǒng)的PROTEUS仿真 158
7.5 實(shí)訓(xùn)7:定時(shí)/計(jì)數(shù)器應(yīng)用 158
7.5.1 實(shí)訓(xùn)目的 158
7.5.2 實(shí)訓(xùn)內(nèi)容 159
小結(jié) 159
練習(xí)題7 160
第8章 MCS-51系列單片機(jī)串行口及應(yīng)用 161
8.1 MCS-51系列單片機(jī)串行口 161
8.1.1 串行口的結(jié)構(gòu) 161
8.1.2 串行通信過程 162
8.1.3 串行口工作方式 162
8.1.4 串行口的控制 163
8.1.5 串行口通信協(xié)議 164
8.1.6 波特率的設(shè)置 164
8.2 應(yīng)用項(xiàng)目7:簡(jiǎn)單秒表 165
8.2.1 串行口擴(kuò)展并行I/O口 165
8.2.2 簡(jiǎn)單秒表的實(shí)現(xiàn) 167
8.2.3 簡(jiǎn)易秒表的PROTEUS仿真 170
8.3 單片機(jī)與PC點(diǎn)對(duì)點(diǎn)通信的實(shí)現(xiàn) 171
8.3.1 串行口工作方式1的工作過程 171
8.3.2 單片機(jī)間點(diǎn)對(duì)點(diǎn)通信 171
8.3.3 RS-232接口技術(shù) 171
8.3.4 單片機(jī)與PC點(diǎn)對(duì)點(diǎn)通信的實(shí)現(xiàn) 173
8.3.5 單片機(jī)與PC點(diǎn)對(duì)點(diǎn)通信的PROTEUS仿真 175
8.4 多機(jī)通信系統(tǒng)的實(shí)現(xiàn) 176
8.4.1 串行口工作方式2、工作方式3的工作過程 176
8.4.2 主從式通信總線 177
8.4.3 RS-485通信接口技術(shù) 177
8.4.4 多機(jī)通信系統(tǒng)的實(shí)現(xiàn) 178
8.4.5 多機(jī)通信系統(tǒng)的PROTEUS仿真 184
8.5 實(shí)訓(xùn)8:串行口綜合應(yīng)用 185
8.5.1 實(shí)訓(xùn)目的 185
8.5.2 實(shí)訓(xùn)內(nèi)容 186
練習(xí)題8 186
第9章 MCS-51系列單片機(jī)人機(jī)接口技術(shù) 187
9.1 應(yīng)用項(xiàng)目8:產(chǎn)量統(tǒng)計(jì)系統(tǒng) 187
9.1.1 LED數(shù)碼管動(dòng)態(tài)顯示 187
9.1.2 動(dòng)態(tài)顯示接口電路設(shè)計(jì) 188
9.1.3 動(dòng)態(tài)顯示程序設(shè)計(jì) 190
9.1.4 產(chǎn)量統(tǒng)計(jì)系統(tǒng)的實(shí)現(xiàn) 190
9.1.5 產(chǎn)量統(tǒng)計(jì)系統(tǒng)的PROTEUS仿真 193
9.2 應(yīng)用項(xiàng)目9:LED路名顯示系統(tǒng) 194
9.2.1 16×16 LED點(diǎn)陣動(dòng)態(tài)顯示接口技術(shù) 194
9.2.2 LED點(diǎn)陣程序設(shè)計(jì) 195
9.2.3 LED路名顯示系統(tǒng)的實(shí)現(xiàn) 197
9.2.4 LED路名顯示系統(tǒng)的PROTEUS仿真 200
9.3 應(yīng)用項(xiàng)目10:樓宇呼叫系統(tǒng) 201
9.3.1 行列式鍵盤接口技術(shù) 201
9.3.2 樓宇呼叫系統(tǒng)的實(shí)現(xiàn) 206
9.3.3 樓宇呼叫系統(tǒng)的PROTEUS仿真 210
9.4 應(yīng)用項(xiàng)目11:電子時(shí)鐘系統(tǒng) 211
9.4.1 電子時(shí)鐘系統(tǒng)的實(shí)現(xiàn) 211
9.4.2 電子時(shí)鐘的PROTEUS仿真 215
9.5 實(shí)訓(xùn)9:?jiǎn)纹瑱C(jī)人機(jī)接口技術(shù) 216
9.5.1 實(shí)訓(xùn)目的 216
9.5.2 實(shí)訓(xùn)內(nèi)容 216
小結(jié) 216
練習(xí)題9 217
第10章 MCS-51系列單片機(jī)前向通道接口技術(shù) 218
10.1 ADC0809(0808)的接口技術(shù) 218
10.1.1 ADC0809的工作原理 218
10.1.2 接口電路設(shè)計(jì) 220
10.1.3 接口程序設(shè)計(jì) 220
10.2 應(yīng)用項(xiàng)目12:溫度控制系統(tǒng) 221
10.2.1 溫度控制系統(tǒng)的實(shí)現(xiàn) 221
10.2.2 溫度控制系統(tǒng)的PROTEUS仿真 224
10.3 實(shí)訓(xùn)10:?jiǎn)纹瑱C(jī)前向通道應(yīng)用技術(shù)實(shí)訓(xùn) 225
10.3.1 實(shí)訓(xùn)目的 225
10.3.2 實(shí)訓(xùn)內(nèi)容 226
小結(jié) 226
練習(xí)題10 227
第11章 MCS-51系列單片機(jī)后向通道接口技術(shù) 228
11.1 DAC0832接口技術(shù) 228
11.1.1 DAC0832的工作原理 228
11.1.2 接口電路設(shè)計(jì) 231
11.1.3 接口程序設(shè)計(jì) 232
11.2 應(yīng)用項(xiàng)目13:直流電機(jī)轉(zhuǎn)速控制系統(tǒng) 233
11.2.1 直流電機(jī)控制原理 233
11.2.2 直流電機(jī)轉(zhuǎn)速控制系統(tǒng)的實(shí)現(xiàn) 234
11.2.3 溫度控制系統(tǒng)的PROTEUS仿真 237
11.3 實(shí)訓(xùn)11:?jiǎn)纹瑱C(jī)后向通道應(yīng)用技術(shù)實(shí)訓(xùn) 238
11.3.1 實(shí)訓(xùn)目的 238
11.3.2 實(shí)訓(xùn)內(nèi)容 238
小結(jié) 239
練習(xí)題11 239
附錄 241
附錄A STC89C51單片機(jī)的擴(kuò)展功能 241
附錄B MCS-51系列單片機(jī)指令表 243
附錄C ASCII碼表 247
參考文獻(xiàn) 248
第1章 緒論
學(xué)習(xí)本課程要求學(xué)生具有一定的電子電路應(yīng)用基礎(chǔ)和編程能力。本章對(duì)單片機(jī)、單片機(jī)中使用的數(shù)作了概括介紹,通過一個(gè)簡(jiǎn)單的例子說明單片機(jī)應(yīng)用系統(tǒng)的開發(fā)過程,并介紹了PROTEUS仿真系統(tǒng)的使用方法。
1.1.1 什么是單片機(jī)
隨著大規(guī)模集成電路的出現(xiàn)及發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)/計(jì)數(shù)器和多種I/O接口集成在一片芯片上,便形成了芯片級(jí)的計(jì)算機(jī),因此單片機(jī)早期的含義稱為單片微型計(jì)算機(jī)(single chip microcomputer),簡(jiǎn)稱單片機(jī)。準(zhǔn)確反映單片機(jī)本質(zhì)的叫法應(yīng)該是微控制器(microcontroller 0目前國(guó)外大多數(shù)廠家、學(xué)者已普遍改用microcontroller一詞,縮寫為MCU(microcontroller unit)以與MPU(microprocesser unit.微處理器)相對(duì)應(yīng)。國(guó)內(nèi)仍沿用單片機(jī)一詞,但其含義應(yīng)是microcontroller,而非microcomputer,這是因?yàn)閱纹瑱C(jī)無(wú)論從功能還是從形態(tài)來說,都是作為控制領(lǐng)域應(yīng)用計(jì)算機(jī)的要求而誕生的。
目前也有人根據(jù)單片機(jī)的結(jié)構(gòu)和微電子設(shè)計(jì)特點(diǎn)將單片機(jī)稱為嵌入式微處理器(en-bed-ded microprocesser)或嵌入式微控制器(enbedded microcontroller)本書仍沿用傳統(tǒng)的叫法——單片機(jī)。