本書以80C51為代表,系統(tǒng)、全面地闡述了51系列單片微型計(jì)算機(jī)的硬件組成及工作原理、匯編語言和C51語言體系及其程序設(shè)計(jì)方法、系統(tǒng)擴(kuò)展的原理及方法、接口技術(shù)及其應(yīng)用基礎(chǔ),并簡要介紹了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)、開發(fā)及調(diào)試的原則、步驟、方法及常用的開發(fā)工具。
第1章單片機(jī)基礎(chǔ)知識(shí)導(dǎo)論1
1.1基本術(shù)語及定義1
1.2單片微型計(jì)算機(jī)概述2
1.2.1微型計(jì)算機(jī)及其系統(tǒng)組成2
1.2.2單片微型計(jì)算機(jī)及其應(yīng)用4
1.3數(shù)制及數(shù)制間的轉(zhuǎn)換7
1.3.1常用進(jìn)位計(jì)數(shù)制8
1.3.2數(shù)制之間的轉(zhuǎn)換9
1.3.3二進(jìn)制數(shù)的運(yùn)算11
1.4計(jì)算機(jī)中數(shù)的表示方法13
1.4.1真值與機(jī)器數(shù)13
1.4.2原碼、反碼與補(bǔ)碼14
1.4.3溢出的判別15
1.4.4定點(diǎn)數(shù)與浮點(diǎn)數(shù)16
1.5計(jì)算機(jī)常用編碼18
1.5.1字符的ASCII碼及奇偶檢驗(yàn)18
1.5.2BCD碼及其十進(jìn)制調(diào)整20
思考題21
第2章51單片機(jī)硬件基礎(chǔ)22
2.180C51單片機(jī)概述22
2.1.180C51內(nèi)部功能結(jié)構(gòu)22
2.1.280C51引腳定義及總線結(jié)構(gòu)23
2.2中央處理器CPU26
2.2.1運(yùn)算部件27
2.2.2控制部件28
2.2.3CPU時(shí)序29
2.3存儲(chǔ)器30
2.3.1程序存儲(chǔ)器30
2.3.2內(nèi)部數(shù)據(jù)存儲(chǔ)器31
2.3.3外部數(shù)據(jù)存儲(chǔ)器34
2.4并行I/O接口34
2.4.1P0接口34
2.4.2P1接口36
2.4.3P2接口36
2.4.4P3接口37
2.580C51的工作方式38
2.5.1程序運(yùn)行方式38
2.5.2低功耗方式38
思考題39
第3章匯編語言及其程序設(shè)計(jì)41
3.1匯編語言概述41
3.1.1匯編語言源程序及其匯編41
3.1.2匯編語言指令類型與指令格式41
3.1.3匯編語言指令常用符號(hào)42
3.1.4操作數(shù)尋址方式43
3.251單片機(jī)匯編語言指令體系45
3.2.1數(shù)據(jù)傳送類指令45
3.2.2算術(shù)運(yùn)算類指令49
3.2.3邏輯運(yùn)算及循環(huán)移位類指令52
3.2.4轉(zhuǎn)移控制類指令54
3.2.5位操作類指令58
3.2.6偽指令59
3.3匯編語言程序設(shè)計(jì)61
3.3.1匯編語言程序設(shè)計(jì)步驟61
3.3.2程序基本結(jié)構(gòu)及設(shè)計(jì)方法63
3.3.3數(shù)碼轉(zhuǎn)換程序設(shè)計(jì)67
3.3.4運(yùn)算程序設(shè)計(jì)70
3.3.5查表程序設(shè)計(jì)74
3.3.6散轉(zhuǎn)程序設(shè)計(jì)75
3.3.7延時(shí)程序設(shè)計(jì)76
思考題77
第4章51單片機(jī)中斷、定時(shí)/計(jì)數(shù)器及串行接口79
4.1中斷系統(tǒng)79
4.1.1中斷系統(tǒng)概述79
4.1.2中斷源及中斷申請(qǐng)的建立80
4.1.3中斷響應(yīng)的條件81
4.1.4中斷響應(yīng)的過程83
4.1.5中斷的應(yīng)用84
4.2定時(shí)/計(jì)數(shù)器86
4.2.1定時(shí)/計(jì)數(shù)器結(jié)構(gòu)及原理86
4.2.2定時(shí)/計(jì)數(shù)器的工作方式88
4.2.3定時(shí)/計(jì)數(shù)器的應(yīng)用90
4.3串行通信及串行接口92
4.3.1串行通信概述92
4.3.280C51串行口結(jié)構(gòu)及工作原理95
4.3.380C51串行口的應(yīng)用98
思考題101
第5章單片機(jī)系統(tǒng)擴(kuò)展的原理及方法103
5.1單片機(jī)系統(tǒng)擴(kuò)展概述103
5.1.1系統(tǒng)擴(kuò)展的內(nèi)容及方法103
5.1.2常用擴(kuò)展器件簡介104
5.1.3存儲(chǔ)單元及I/O端口的編址105
5.2存儲(chǔ)器的擴(kuò)展108
5.2.1程序存儲(chǔ)器擴(kuò)展109
5.2.2數(shù)據(jù)存儲(chǔ)器擴(kuò)展111
5.3I/O接口擴(kuò)展114
5.3.1并行I/O接口擴(kuò)展114
5.3.2串行I/O接口的擴(kuò)展115
思考題117
第6章接口技術(shù)及其應(yīng)用基礎(chǔ)119
6.1常用并行I/O接口芯片119
6.1.1接口芯片8255A及其應(yīng)用119
6.1.2接口芯片8155及其應(yīng)用124
6.2鍵盤及其接口130
6.2.1鍵盤的結(jié)構(gòu)及工作原理130
6.2.2鍵盤接口及其應(yīng)用134
6.3LED數(shù)碼顯示器及其接口137
6.3.1LED數(shù)碼顯示器結(jié)構(gòu)及原理137
6.3.2多位LED數(shù)碼顯示器接口及其應(yīng)用139
6.4LCD顯示器及其接口142
6.4.1LCD顯示器結(jié)構(gòu)及原理142
6.4.2LCD顯示器的特點(diǎn)及分類143
6.4.3LCD顯示器接口及其應(yīng)用144
6.5D/A轉(zhuǎn)換器及其接口150
6.5.1D/A轉(zhuǎn)換器結(jié)構(gòu)及原理150
6.5.2D/A轉(zhuǎn)換芯片DAC0832及其應(yīng)用152
6.6A/D轉(zhuǎn)換器及其接口157
6.6.1A/D轉(zhuǎn)換器結(jié)構(gòu)及原理157
6.6.2A/D轉(zhuǎn)換芯片ADC0809及其應(yīng)用158
思考題162
第7章C51語言及其程序設(shè)計(jì)164
7.1C51語言及程序結(jié)構(gòu)的特點(diǎn)164
7.1.1C51語言特點(diǎn)164
7.1.2C51程序結(jié)構(gòu)特點(diǎn)164
7.1.3C51預(yù)處理命令166
7.2C51數(shù)據(jù)與運(yùn)算168
7.2.1數(shù)據(jù)類型168
7.2.2常量與變量173
7.2.3運(yùn)算符與表達(dá)式177
7.3C51流程控制語句與函數(shù)179
7.3.1流程控制語句179
7.3.2函數(shù)182
7.4C51程序設(shè)計(jì)舉例186
7.4.1單片機(jī)基本I/O口應(yīng)用186
7.4.2訪問外部數(shù)據(jù)存儲(chǔ)器空間187
7.4.3外部中斷的應(yīng)用188
7.4.4定時(shí)器/計(jì)數(shù)器的應(yīng)用189
7.4.5串行口的應(yīng)用190
7.5C51語言與匯編語言的混合編程192
7.5.1混合匯編的基本方式192
7.5.2C51與匯編之間的參數(shù)傳遞193
7.5.3混合匯編的實(shí)現(xiàn)方法194
思考題195
第8章51單片機(jī)應(yīng)用系統(tǒng)開發(fā)197
8.1系統(tǒng)總體方案設(shè)計(jì)197
8.2硬件設(shè)計(jì)198
8.3軟件設(shè)計(jì)200
8.4可靠性設(shè)計(jì)201
8.5系統(tǒng)調(diào)試204
8.651單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例208
8.6.1四相步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)208
8.6.2十字路口交通信號(hào)控制系統(tǒng)設(shè)計(jì)212
思考題233
附錄A51系列單片機(jī)指令表234
附錄BC51庫函數(shù)237
參考文獻(xiàn)247