以80C51系列單片機(jī)為主線,詳細(xì)地介紹了單片機(jī)的組成,工作原理、應(yīng)用技術(shù)、仿真方法和開發(fā)流程。內(nèi)容有:?jiǎn)纹瑱C(jī)的意義和發(fā)展,單片機(jī)硬件(單片機(jī)CPU、存儲(chǔ)器、并行口、中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器、系統(tǒng)擴(kuò)展接口以及AD/DA轉(zhuǎn)換技術(shù)等),單片機(jī)軟件(指令系統(tǒng)、匯編語(yǔ)言軟件設(shè)計(jì)和C語(yǔ)言軟件設(shè)計(jì)),單片機(jī)集成開發(fā)環(huán)境軟件Keil5,單片機(jī)仿真軟件Proteus8,單片機(jī)應(yīng)用系統(tǒng)實(shí)例等。
20 世紀(jì)70 年代, 單片機(jī)的誕生標(biāo)志著嵌入式計(jì)算機(jī)系統(tǒng)的出現(xiàn)。而作為最典型的嵌入式系統(tǒng), 它的成功應(yīng)用推動(dòng)了微控制器的發(fā)展。
單片機(jī)在我國(guó)大規(guī)模應(yīng)用已有30 余年歷史, 已成為電子系統(tǒng)智能化最普遍的應(yīng)用手段。在全國(guó)高等院校工科專業(yè)中, 已普遍開設(shè)了單片機(jī)及相關(guān)課程。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、各種電子設(shè)計(jì)競(jìng)賽等實(shí)踐環(huán)節(jié), 單片機(jī)系統(tǒng)也都有著廣泛的應(yīng)用。單片機(jī)已成為工科學(xué)生, 特別是電類專業(yè)學(xué)生必須掌握的一門專業(yè)技術(shù)。因此, 出版一本高等工科院校單片機(jī)及其相關(guān)課程的優(yōu)秀教材具有十分重要的意義。在品種眾多的單片機(jī)中, 80C51 系列單片機(jī)以其完整的系統(tǒng)結(jié)構(gòu)、規(guī)范的特殊功能寄存器、強(qiáng)大的指令系統(tǒng)以及豐富的仿真和開發(fā)工具, 成為單片機(jī)中的主流機(jī)型。因此, 本書以它作為主線介紹單片機(jī)原理與應(yīng)用。
全書共分10 章, 第1 章介紹了單片機(jī)的基本概念, 第2 章介紹了80C51 單片機(jī)基本原理與結(jié)構(gòu), 第3 章介紹了80C51 單片機(jī)指令系統(tǒng)、匯編語(yǔ)言和C51 語(yǔ)言程序設(shè)計(jì), 第4 章介紹了80C51 單片機(jī)集成開發(fā)環(huán)境Keil 和仿真軟件Proteus, 第5 章介紹了80C51 單片機(jī)基本輸入輸出接口, 第6 章介紹了80C51 單片機(jī)的中斷系統(tǒng), 第7 章介紹了80C51 單片機(jī)定時(shí)器/ 計(jì)數(shù)器, 第8 章介紹了80C51 單片機(jī)串行接口, 第9 ~ 10 章介紹了單片機(jī)擴(kuò)展接口技術(shù)和應(yīng)用系統(tǒng)實(shí)例。
參加本書編寫的教師有多年從事單片機(jī)原理與應(yīng)用的教學(xué)以及科技開發(fā)的工作經(jīng)歷, 積累了大量的理論與實(shí)踐經(jīng)驗(yàn), 為編寫本書打下了堅(jiān)實(shí)的基礎(chǔ)。本書原理部分的敘述力求體現(xiàn)內(nèi)容的系統(tǒng)性和完整性, 同時(shí)簡(jiǎn)單明了、深入淺出、循序漸進(jìn); 應(yīng)用部分的介紹完全取材于工程實(shí)例, 突出實(shí)用性和完整性, 有較高的參考價(jià)值。
本書的編寫得到了浙江省重點(diǎn)教材建設(shè)項(xiàng)目的資助, 并參考了同行大量的研究成果, 研究生施盛華、肖金輝、金瑋、黃佩也做了大量的文稿整理工作, 在此, 一并表示衷心的感謝!由于時(shí)間倉(cāng)促, 水平有限, 書中錯(cuò)漏之處在所難免, 敬請(qǐng)讀者批評(píng)指正。
編 者
2017 年3 月, 杭州
前 言
第1 章 緒論 1
1. 1 單片機(jī) 1
1. 1. 1 單片機(jī)的定義 1
1. 1. 2 單片機(jī)的發(fā)展歷程 1
1. 1. 3 80C51 系列單片機(jī)簡(jiǎn)介 4
1. 1. 4 單片機(jī)的應(yīng)用 5
1. 2 嵌入式系統(tǒng) 6
1. 2. 1 嵌入式系統(tǒng)與通用計(jì)算機(jī) 6
1. 2. 2 嵌入式系統(tǒng)與單片機(jī) 7
1. 3 學(xué)習(xí)安排 8
本章小結(jié) 9
習(xí)題 9
第2 章 80C51 單片機(jī)的基本結(jié)構(gòu)與
工作原理 10
2. 1 80C51 單片機(jī)的基本組成 10
2. 2 80C51 單片機(jī)的基本特性與引腳功能 12
2. 2. 1 80C51/ 80C52 的基本特性 12
2. 2. 2 引腳功能 12
2. 3 80C51 單片機(jī)CPU 的結(jié)構(gòu)和時(shí)序 14
2. 3. 1 中央控制器 14
2. 3. 2 運(yùn)算器 15
2. 3. 3 時(shí)鐘電路及CPU 的工作時(shí)序 17
2. 4 80C51 單片機(jī)存儲(chǔ)器結(jié)構(gòu)和地址空間 20
2. 4. 1 程序存儲(chǔ)器 21
2. 4. 2 數(shù)據(jù)存儲(chǔ)器 22
2. 5 80C51 單片機(jī)布爾(位) 處理器 25
2. 6 80C51 單片機(jī)的工作方式 26
2. 6. 1 復(fù)位方式 26
2. 6. 2 低功耗工作方式 27
本章小結(jié) 28
習(xí)題 28
第3 章 80C51 單片機(jī)指令系統(tǒng)、匯編
語(yǔ)言及C51 程序設(shè)計(jì) 30
3. 1 80C51 單片機(jī)程序設(shè)計(jì)概述 30
3. 1. 1 指令和指令系統(tǒng)的概念 30
3. 1. 2 80C51 匯編語(yǔ)言程序設(shè)計(jì)概述 30
3. 1. 3 Keil C51 語(yǔ)言程序設(shè)計(jì)概述 31
3. 2 80C51 匯編語(yǔ)言指令系統(tǒng)與程序
設(shè)計(jì) 31
3. 2. 1 80C51 匯編語(yǔ)言指令格式 31
3. 2. 2 80C51 匯編語(yǔ)言指令系統(tǒng) 32
3. 2. 3 80C51 匯編語(yǔ)言程序設(shè)計(jì) 43
3. 3 Keil C51 程序設(shè)計(jì) 50
3. 3. 1 Keil C51 基礎(chǔ) 50
3. 3. 2 Keil C51 的運(yùn)算符 55
3. 3. 3 Keil C51 程序設(shè)計(jì) 59
3. 4 程序設(shè)計(jì)實(shí)例 67
本章小結(jié) 68
習(xí)題 69
第4 章 開發(fā)環(huán)境Keil μVision5 和
仿真軟件Proteus8. 0 70
4. 1 Keil μVision5 使用 70
4. 2 Proteus 8. 0 ISIS 使用 81
4. 2. 1 Proteus 8. 0 ISIS 的基本性能概述 81
4. 2. 2 Proteus8. 0 ISIS 的編輯環(huán)境 82
4. 2. 3 Proteus8. 0 電路原理圖設(shè)計(jì) 83
4. 3 Keil 和Proteus 聯(lián)調(diào) 90
4. 3. 1 Keil C 編程與編譯 90
4. 3. 2 Proteus 仿真 91
4. 3. 3 Keil 大工程的建立 93
本章小結(jié) 96
習(xí)題 96
·Ⅳ
第5 章 80C51 單片機(jī)基本輸入輸出接口 97
5. 1 輸入輸出端口基本原理 97
5. 1. 1 P0 口 97
5. 1. 2 P1 口 99
5. 1. 3 P2 口 99
5. 1. 4 P3 口 100
5. 2 輸出電路設(shè)計(jì) 101
5. 2. 1 驅(qū)動(dòng)LED 101
5. 2. 2 驅(qū)動(dòng)蜂鳴器 102
5. 2. 3 驅(qū)動(dòng)繼電器 102
5. 2. 4 驅(qū)動(dòng)七段LED 數(shù)碼管 103
5. 2. 5 多個(gè)七段數(shù)碼管的應(yīng)用 105
5. 3 輸入電路設(shè)計(jì) 107
5. 3. 1 輸入設(shè)備和電路設(shè)計(jì) 107
5. 3. 2 抖動(dòng)與去抖動(dòng) 107
5. 3. 3 矩陣鍵盤 108
5. 4 應(yīng)用實(shí)例 110
5. 4. 1 蜂鳴器發(fā)聲 110
5. 4. 2 單只數(shù)碼管循環(huán)顯示0~9 111
5. 4. 3 左右流水燈實(shí)驗(yàn) 112
本章小結(jié) 115
習(xí)題 116
第6 章 80C51 單片機(jī)中斷系統(tǒng) 117
6. 1 中斷系統(tǒng)概念與原理 117
6. 1. 1 中斷、中斷源及中斷優(yōu)先權(quán) 117
6. 1. 2 80C51 中斷系統(tǒng)結(jié)構(gòu)與控制 118
6. 2 中斷系統(tǒng)編程基礎(chǔ) 121
6. 2. 1 中斷系統(tǒng)匯編語(yǔ)言編程基礎(chǔ) 121
6. 2. 2 中斷系統(tǒng)C51 語(yǔ)言編程基礎(chǔ) 123
6. 3 中斷系統(tǒng)應(yīng)用實(shí)例 123
6. 3. 1 外部中斷實(shí)驗(yàn) 123
6. 3. 2 數(shù)碼管計(jì)數(shù)實(shí)驗(yàn) 125
本章小結(jié) 128
習(xí)題 128
第7 章 80C51 單片機(jī)定時(shí)器/計(jì)數(shù)器 129
7. 1 定時(shí)器/計(jì)數(shù)器的基本原理和結(jié)構(gòu) 129
7. 2 定時(shí)器/計(jì)數(shù)器T0/ T1 130
7. 2. 1 工作方式寄存器TMOD 130
7. 2. 2 控制寄存器TCON 131
7. 2. 3 4 種工作方式 131
7. 3 定時(shí)器/計(jì)數(shù)器T2 133
7. 3. 1 定時(shí)器/ 計(jì)數(shù)器T2 中的特殊功能
寄存器 134
7. 3. 2 定時(shí)器/計(jì)數(shù)器T2 的工作方式 135
7. 4 看門狗定時(shí)器 137
7. 5 定時(shí)器/計(jì)數(shù)器的編程基礎(chǔ) 138
7. 5. 1 定時(shí)器/計(jì)數(shù)器溢出率的計(jì)算 138
7. 5. 2 定時(shí)器/計(jì)數(shù)器的編程基礎(chǔ) 138
7. 6 定時(shí)器/計(jì)數(shù)器應(yīng)用實(shí)例 138
7. 6. 1 實(shí)例1 138
7. 6. 2 實(shí)例2 140
7. 6. 3 實(shí)例3 141
本章小結(jié) 145
習(xí)題 145
第8 章 80C51 單片機(jī)串行接口 146
8. 1 串行通信基本知識(shí) 146
8. 1. 1 數(shù)據(jù)通信 146
8. 1. 2 串行通信的傳輸方式 146
8. 1. 3 異步通信和同步通信 147
8. 1. 4 通信協(xié)議和單機(jī)通信 148
8. 1. 5 RS-232C 149
8. 2 80C51 單片機(jī)串行接口的結(jié)構(gòu)和工作原理 150
8. 2. 1 串行接口結(jié)構(gòu) 150
8. 2. 2 傳送過(guò)程工作原理 151
8. 2. 3 串行接口的控制寄存器 151
8. 2. 4 串行接口的