單片機(jī)是指在一塊芯片上集成CPU、ROM(或EPROM)、RAM、并行和串行I/O接口,以及定時(shí)/計(jì)數(shù)器等多種功能部件的微型計(jì)算機(jī),這種微型計(jì)算機(jī)也可稱為微控制器。它具有集成度高,可靠性高,性能價(jià)格比高,適應(yīng)溫度范圍寬,抗干擾能力強(qiáng),小巧、靈活,易于實(shí)現(xiàn)機(jī)電一體化等優(yōu)點(diǎn),現(xiàn)已廣泛應(yīng)用于檢測(cè)、控制、智能化儀器儀表,以及生產(chǎn)設(shè)備自動(dòng)化、家用電器等領(lǐng)域。 本書繼承和發(fā)揚(yáng)了第1版的風(fēng)格和特色,增加了補(bǔ)碼運(yùn)算并刪除了部分舊內(nèi)容,以MCS-51單片機(jī)為主線,系統(tǒng)介紹了單片機(jī)的組成、匯編語(yǔ)言、指令系統(tǒng)、中斷系統(tǒng),以及A/D和D/A接口等問題,并在此基礎(chǔ)上設(shè)計(jì)了單片機(jī)的實(shí)驗(yàn)。 本書可作為高等院校教材,也可作為廣大科技人員的參考書。
楊峰,漢族,1964年2月出生,山東省招遠(yuǎn)人,中共黨員,1988年6月畢業(yè)于山東大學(xué)無線電電子學(xué)專業(yè),獲碩士學(xué)位。現(xiàn)為山東師范大學(xué)信息科學(xué)與工程學(xué)院教授、碩士生導(dǎo)師、通信工程系主任。主要研究領(lǐng)域?yàn)橥ㄐ判盘?hào)處理、無線通信網(wǎng)絡(luò)、多媒體信息處理與通信等,參與國(guó)家自然科學(xué)基金項(xiàng)目1項(xiàng),主持省級(jí)和校級(jí)教改項(xiàng)目5項(xiàng),在EI會(huì)議及SCI期刊、EI期刊等核心期刊上發(fā)表論文30余篇,主編教材和編著著作5部,獲國(guó)家發(fā)明專利授權(quán)7件、實(shí)用新型專利授權(quán)4件;獲得省科技進(jìn)步二等獎(jiǎng)等獎(jiǎng)項(xiàng)3項(xiàng),獲得省級(jí)教學(xué)成果獎(jiǎng)一等獎(jiǎng)1項(xiàng)、校級(jí)教學(xué)成果獎(jiǎng)一等獎(jiǎng)1項(xiàng)。指導(dǎo)碩士研究生30多名。
目 錄
第1章 數(shù)據(jù)基礎(chǔ)及計(jì)算機(jī)概述 1
1.1 數(shù)值型數(shù)據(jù)的表示 1
1.1.1 進(jìn)制 1
1.1.2 進(jìn)制之間的轉(zhuǎn)換 5
1.1.3 帶符號(hào)數(shù)表示 7
1.1.4 定點(diǎn)表示與浮點(diǎn)表示 10
1.2 二進(jìn)制數(shù)的運(yùn)算 12
1.2.1 算術(shù)運(yùn)算 12
1.2.2 邏輯運(yùn)算 13
1.2.3 補(bǔ)碼的加減運(yùn)算 14
1.3 非數(shù)值型數(shù)據(jù)的表示 16
1.3.1 漢字ASCII碼 16
1.3.2 漢字編碼 17
1.4 微型計(jì)算機(jī)概述 18
1.4.1 有關(guān)微型計(jì)算機(jī)系統(tǒng)的幾個(gè)概念 18
1.4.2 微型計(jì)算機(jī)的結(jié)構(gòu) 19
1.4.3 微處理器的基本結(jié)構(gòu)介紹 20
1.4.4 程序執(zhí)行過程 21
本章小結(jié) 22
練習(xí)題 22
第2章 存儲(chǔ)器 24
2.1 存儲(chǔ)器基礎(chǔ) 24
2.1.1 存儲(chǔ)器的分類 24
2.1.2 半導(dǎo)體存儲(chǔ)器的性能指標(biāo) 24
2.1.3 半導(dǎo)體存儲(chǔ)器的特點(diǎn) 25
2.2 隨機(jī)存取存儲(chǔ)器 26
2.2.1 RAM的基本結(jié)構(gòu) 26
2.2.2 SRAM的基本存儲(chǔ)電路 27
2.2.3 DRAM基本存儲(chǔ)電路 28
2.2.4 RAM舉例 28
2.3 只讀存儲(chǔ)器 31
2.3.1 ROM的基本結(jié)構(gòu) 31
2.3.2 掩模ROM原理 31
2.3.3 PROM原理 32
2.3.4 EPROM原理 32
2.3.5 ROM舉例 34
2.3.6 閃速存儲(chǔ)器 35
2.4 一般CPU與存儲(chǔ)器的連接及擴(kuò)展 36
2.4.1 連接中應(yīng)考慮的問題 36
2.4.2 存儲(chǔ)器位數(shù)的擴(kuò)展 37
2.4.3 存儲(chǔ)器字?jǐn)?shù)的擴(kuò)展 37
2.4.4 存儲(chǔ)器字?jǐn)?shù)和位數(shù)的擴(kuò)展 41
2.4.5 CPU與ROM和RAM芯片的連接 41
本章小結(jié) 41
練習(xí)題 41
第3章 MCS-51單片機(jī)的結(jié)構(gòu)與原理 43
3.1 MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu) 43
3.1.1 存儲(chǔ)器結(jié)構(gòu) 43
3.1.2 CPU結(jié)構(gòu) 47
3.1.3 I/O端口 51
3.1.4 定時(shí)/計(jì)數(shù)器 52
3.1.5 中斷系統(tǒng) 53
3.2 MCS-51單片機(jī)的引腳及其功能 53
3.3 MCS-51單片機(jī)的工作方式 56
3.3.1 復(fù)位方式 56
3.3.2 程序執(zhí)行方式 57
3.3.3 節(jié)電方式 57
3.3.4 EPROM編程和校驗(yàn)方式 60
3.4 MCS-51單片機(jī)的時(shí)序 60
3.4.1 機(jī)器周期和指令周期 61
3.4.2 MCS-51指令的取指/執(zhí)行時(shí)序 61
3.4.3 訪問片外ROM/RAM的指令時(shí)序 63
3.5 MCS-51單片機(jī)外部存儲(chǔ)器的擴(kuò)展 65
3.5.1 程序存儲(chǔ)器的擴(kuò)展 65
3.5.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 66
本章小結(jié) 68
練習(xí)題 68
第4章 指令系統(tǒng)與程序設(shè)計(jì) 70
4.1 指令的格式與尋址方式 70
4.1.1 指令的格式 70
4.1.2 尋址方式 71
4.2 MCS-51的指令系統(tǒng) 72
4.2.1 數(shù)據(jù)傳送類指令 72
4.2.2 算術(shù)運(yùn)算類指令 74
4.2.3 邏輯操作類指令 77
4.2.4 程序控制類指令 79
4.2.5 布爾位操作指令 81
4.3 MCS-51的偽指令 83
4.4 匯編語(yǔ)言程序設(shè)計(jì)步驟與結(jié)構(gòu) 86
4.4.1 程序設(shè)計(jì)步驟 86
4.4.2 程序流程圖 87
4.4.3 程序的基本結(jié)構(gòu) 87
4.5 順序程序設(shè)計(jì) 88
4.6 分支程序設(shè)計(jì) 89
4.7 循環(huán)程序設(shè)計(jì) 94
4.8 子程序與運(yùn)算程序設(shè)計(jì) 98
4.8.1 子程序設(shè)計(jì) 98
4.8.2 運(yùn)算程序設(shè)計(jì) 103
4.9 宏匯編 108
4.9.1 宏定義 108
4.9.2 宏調(diào)用 109
4.9.3 局部標(biāo)號(hào) 109
4.9.4 文件包含 110
本章小結(jié) 110
練習(xí)題 110
第5章 MCS-51單片機(jī)的功能模塊原理 113
5.1 微型計(jì)算機(jī)的輸入/輸出 113
5.1.1 I/O接口的作用 114
5.1.2 外部設(shè)備的編址 114
5.1.3 I/O數(shù)據(jù)的4種傳送方式 116
5.2 中斷的基本概念及MCS-51的中斷系統(tǒng) 119
5.2.1 中斷的基本概念 119
5.2.2 MCS-51的中斷系統(tǒng) 123
5.3 定時(shí)/計(jì)數(shù)器 133
5.3.1 定時(shí)/計(jì)數(shù)器控制與狀態(tài)寄存器 133
5.3.2 定時(shí)/計(jì)數(shù)器的工作方式 135
5.3.3 定時(shí)/計(jì)數(shù)器的初始設(shè)置 137
5.3.4 應(yīng)用舉例 138
5.4 串行通信及串行接口 141
5.4.1 串行通信的基本知識(shí) 142
5.4.2 MCS-51系列單片機(jī)的串行接口 145
5.4.3 MCS-51系列單片機(jī)的串行接口的應(yīng)用 151
本章小結(jié) 156
練習(xí)題 156
第6章 I/O接口擴(kuò)展及單片機(jī)綜合應(yīng)用 158
6.1 I/O接口擴(kuò)展概述 158
6.1.1 I/O接口的作用 158
6.1.2 I/O接口的編址 159
6.1.3 I/O數(shù)據(jù)的傳送方式 159
6.1.4 數(shù)據(jù)總線隔離技術(shù) 160
6.2 用TTL芯片擴(kuò)展簡(jiǎn)單的I/O接口 161
6.2.1 用74LS377擴(kuò)展8位并行輸出接口 161
6.2.2 用74LS244擴(kuò)展8位并行輸入接口 162
6.3 MCS-51與可編程并行I/O芯片8255A的接口 162
6.3.1 8255A內(nèi)部結(jié)構(gòu)及其引腳功能 162
6.3.2 8255A的工作方式及其初始化編程 164
6.4 A/D與D/A轉(zhuǎn)換器及其應(yīng)用 169
6.4.1 自動(dòng)測(cè)控系統(tǒng)的構(gòu)成 169
6.4.2 D/A轉(zhuǎn)換器(DAC) 171
6.4.3 MCS-51對(duì)8位DAC0832的接口 175
6.4.4 ADC0809的接口 178
6.4.5 ADC0809與MCS-51的連接及其應(yīng)用 181
6.5 MCS-51單片機(jī)綜合應(yīng)用實(shí)例 183
6.5.1 設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的基本步驟 183
6.5.2 籃球?qū)m?xiàng)技能綜合測(cè)試儀需求分析和總體設(shè)計(jì) 186
6.5.3 LED數(shù)碼管接口 187
6.5.4 鍵盤輸入接口 191
6.5.5 籃球?qū)m?xiàng)技能綜合測(cè)試儀的總體功能實(shí)現(xiàn) 197
6.5.6 籃球綜合技能測(cè)試儀和個(gè)人計(jì)算機(jī)的程序通信 202
練習(xí)題 203
附錄A MCS-51實(shí)驗(yàn)指導(dǎo) 207
實(shí)驗(yàn)一 拆字實(shí)驗(yàn) 207
實(shí)驗(yàn)二 清零實(shí)驗(yàn) 208
實(shí)驗(yàn)三 數(shù)據(jù)傳送子程序 209
實(shí)驗(yàn)四 多分支實(shí)驗(yàn) 210
實(shí)驗(yàn)五 P3.3口輸入、P1口輸出 211
實(shí)驗(yàn)六 8255A控制交通燈 212
實(shí)驗(yàn)七 脈沖計(jì)數(shù)(定時(shí)/計(jì)數(shù)器實(shí)驗(yàn)) 213
實(shí)驗(yàn)八 A/D轉(zhuǎn)換實(shí)驗(yàn) 214
附錄B MCS-51指令一覽表 216
附錄C DVCC試驗(yàn)箱操作命令簡(jiǎn)介 220
C.1 鍵盤布置 220
C.2 鍵盤監(jiān)控工作狀態(tài) 221
C.3 鍵盤監(jiān)控操作命令介紹 223