本書以實(shí)用為宗旨,以51系列單片機(jī)為背景,結(jié)合Keil、C51、Proteus等單片機(jī)系統(tǒng)開(kāi)發(fā)軟件,通過(guò)實(shí)例講解MCS-51單片機(jī)的原理和硬、軟件開(kāi)發(fā)技術(shù),針對(duì)同一功能,同時(shí)提供單片機(jī)匯編源程序和單片機(jī)C語(yǔ)言源程序。主要內(nèi)容包括計(jì)算機(jī)基礎(chǔ)知識(shí)及微處理器、8051單片機(jī)的結(jié)構(gòu)體系、指令系統(tǒng)、8051單片機(jī)程序設(shè)計(jì)基礎(chǔ)、8051單片機(jī)的中斷系統(tǒng)、8051單片機(jī)的定時(shí)/計(jì)數(shù)器、8051單片機(jī)的串行接口及串行總線、8051單片機(jī)的系統(tǒng)擴(kuò)展與接口技術(shù)、單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)實(shí)例、Proteus仿真軟件及Keil集成開(kāi)發(fā)環(huán)境的使用。 本書可作為高等院校自動(dòng)化、電子信息、計(jì)算機(jī)應(yīng)用、機(jī)電一體化等專業(yè)的單片機(jī)課程本科教材,也可作為高職高專及函授教材,同時(shí)可作為工程技術(shù)人員的參考書。
方紅,成都大學(xué)電子信息工程學(xué)院副教授,成都市精品課程《微機(jī)原理與接口技術(shù)》和學(xué)!白詣(dòng)化專業(yè)實(shí)驗(yàn)室建設(shè)工程”的負(fù)責(zé)人。主要講授微機(jī)原理及接口技術(shù)、計(jì)算機(jī)控制技術(shù)、過(guò)程控制與儀表、計(jì)算機(jī)網(wǎng)絡(luò)等專業(yè)理論課程。
目 錄
第1章 微型計(jì)算機(jī)與單片機(jī)基礎(chǔ)知識(shí) 1
1.1 微型計(jì)算機(jī)與單片機(jī)的感性認(rèn)識(shí) 1
1.2 計(jì)算機(jī)硬件的基本組成 1
1.3 微型計(jì)算機(jī)的硬件構(gòu)成 2
1.3.1 微型計(jì)算機(jī)的硬件結(jié)構(gòu) 2
1.3.2 微處理器(CPU) 2
1.3.3 存儲(chǔ)器 4
1.3.4 輸入/輸出(I/O) 4
1.3.5 總線(BUS) 5
1.4 計(jì)算機(jī)中信息的表示 5
1.4.1 計(jì)算機(jī)中無(wú)符號(hào)整數(shù)的表示 5
1.4.2 計(jì)算機(jī)中有符號(hào)數(shù)的表示 6
1.4.3 十進(jìn)制數(shù)的表示 8
1.4.4 計(jì)算機(jī)中字符的表示 9
1.5 單片機(jī)概述 10
1.5.1 單片機(jī)的典型硬件結(jié)構(gòu) 10
1.5.2 單片機(jī)與微型計(jì)算機(jī)的比較 10
1.5.3 主要的單片機(jī)產(chǎn)品 11
1.5.4 單片機(jī)的應(yīng)用領(lǐng)域 14
1.5.5 單片機(jī)的發(fā)展過(guò)程與趨勢(shì) 15
習(xí)題 16
第2章 單片機(jī)的結(jié)構(gòu)及工作原理 18
2.1 MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu) 18
2.1.1 MCS-51單片機(jī)的基本組成 18
2.1.2 中央處理器(CPU) 19
2.1.3 存儲(chǔ)器 20
2.1.4 I/O端口 21
2.2 8051單片機(jī)的存儲(chǔ)器組織 24
2.2.1 存儲(chǔ)器組織 24
2.2.2 程序存儲(chǔ)器 25
2.2.3 數(shù)據(jù)存儲(chǔ)器 27
2.3 51系列單片機(jī)的引腳及功能 31
2.3.1 51單片機(jī)的引腳分類 31
2.3.2 三總線結(jié)構(gòu) 33
2.4 時(shí)鐘電路與CPU時(shí)序 33
2.4.1 振蕩器和時(shí)鐘電路 33
2.4.2 CPU時(shí)序 33
2.5 單片機(jī)的工作方式 36
2.5.1 復(fù)位方式 36
2.5.2 程序執(zhí)行方式 36
2.5.3 單步執(zhí)行方式 37
2.5.4 掉電和節(jié)電方式 38
2.5.5 編程和校驗(yàn)方式 38
2.6 51系列單片機(jī)最小系統(tǒng) 39
習(xí)題 40
第3章 51單片機(jī)指令系統(tǒng)及匯編程序設(shè)計(jì) 41
3.1 指令系統(tǒng)概述 41
3.1.1 51單片機(jī)匯編指令格式 41
3.1.2 51單片機(jī)匯編指令常用符號(hào) 42
3.2 51單片機(jī)的尋址方式 42
3.2.1 立即尋址 42
3.2.2 寄存器尋址 43
3.2.3 直接尋址 43
3.2.4 寄存器間接尋址 43
3.2.5 變址尋址 44
3.2.6 指令尋址 45
3.2.7 位尋址 45
3.3 51單片機(jī)的指令系統(tǒng) 45
3.3.1 數(shù)據(jù)傳送類指令 46
3.3.2 算術(shù)運(yùn)算類指令 49
3.3.3 邏輯操作類指令 52
3.3.4 控制轉(zhuǎn)移類指令 54
3.3.5 位操作類指令 57
3.4 51單片機(jī)匯編程序設(shè)計(jì)概述 59
3.4.1 51單片機(jī)匯編程序設(shè)計(jì)過(guò)程 60
3.4.2 51單片機(jī)匯編程序常用偽指令 60
3.5 51單片機(jī)常用匯編程序設(shè)計(jì) 63
3.5.1 數(shù)據(jù)傳送程序 63
3.5.2 運(yùn)算程序 64
3.5.3 代碼轉(zhuǎn)換程序 66
3.5.4 分支程序 67
3.5.5 延時(shí)程序 69
習(xí)題 69
第4章 51單片機(jī)C程序設(shè)計(jì) 71
4.1 C語(yǔ)言與51單片機(jī) 71
4.1.1 C語(yǔ)言的特點(diǎn) 71
4.1.2 C語(yǔ)言程序的結(jié)構(gòu) 72
4.1.3 C51與標(biāo)準(zhǔn)C語(yǔ)言 73
4.2 C51的數(shù)據(jù)類型 73
4.2.1 char字符型 74
4.2.2 int整型 74
4.2.3 long長(zhǎng)整型 74
4.2.4 float浮點(diǎn)型 75
4.2.5 指針型 75
4.2.6 特殊功能寄存器型 75
4.2.7 位類型 76
4.3 C51的變量與存儲(chǔ)類型 76
4.3.1 C51的普通變量及定義 76
4.3.2 特殊功能寄存器變量 79
4.3.3 位變量 79
4.3.4 指針變量 80
4.4 絕對(duì)地址的訪問(wèn) 81
4.4.1 使用C51運(yùn)行庫(kù)中預(yù)定義宏 81
4.4.2 通過(guò)指針訪問(wèn) 82
4.4.3 使用C51擴(kuò)展關(guān)鍵字_at_ 83
4.5 C51中的函數(shù) 83
4.5.1 C51函數(shù)的參數(shù)傳遞 84
4.5.2 C51函數(shù)的返回值 84
4.5.3 C51函數(shù)的存儲(chǔ)模式 85
4.5.4 C51的中斷函數(shù) 85
4.5.5 C51函數(shù)的寄存器組 86
4.5.6 C51的重入函數(shù) 87
習(xí)題 87
第5章 51單片機(jī)中斷系統(tǒng) 89
5.1 中斷的基本概念 89
5.1.1 中斷的概念 89
5.1.2 中斷源及中斷請(qǐng)求 90
5.1.3 中斷優(yōu)先權(quán)控制 90
5.1.4 中斷允許與中斷屏蔽 90
5.1.5 中斷響應(yīng)與中斷返回 90
5.2 51單片機(jī)的中斷系統(tǒng) 90
5.2.1 51單片機(jī)的中斷系統(tǒng)總體結(jié)構(gòu) 90
5.2.2 51單片機(jī)的中斷源 90
5.2.3 兩級(jí)中斷允許控制 92
5.2.4 兩級(jí)優(yōu)先級(jí)控制 92
5.2.5 中斷響應(yīng) 94
5.3 51單片機(jī)中斷系統(tǒng)的編程與應(yīng)用 94
5.3.1 51單片機(jī)中斷系統(tǒng)的編程 94
5.3.2 51單片機(jī)中斷系統(tǒng)的應(yīng)用 95
習(xí)題 99
第6章 51單片機(jī)定時(shí)/計(jì)數(shù)器 100
6.1 定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及原理 100
6.1.1 主要特性 100
6.1.2 結(jié)構(gòu)及工作原理 100
6.2 定時(shí)/計(jì)數(shù)器的方式和控制寄存器 101
6.2.1 方式寄存器TMOD 101
6.2.2 控制寄存器TCON 102
6.3 定時(shí)/計(jì)數(shù)器的工作方式 103
6.3.1 方式0――13位定時(shí)/計(jì)數(shù)器方式 103
6.3.2 方式1――16位定時(shí)/計(jì)數(shù)器方式 103
6.3.3 方式2――8位自動(dòng)重置定時(shí)/計(jì)數(shù)方式 104
6.3.4 方式3――兩個(gè)8位定時(shí)/計(jì)數(shù)器方式 104
6.4 定時(shí)/計(jì)數(shù)器的初始化編程及應(yīng)用 105
6.4.1 定時(shí)/計(jì)數(shù)器的初始化編程 105
6.4.2 定時(shí)/計(jì)數(shù)器的應(yīng)用 105
習(xí)題 110
第7章 51單片機(jī)串行接口 111
7.1 通信的基本概念 111
7.1.1 并行通信和串行通信 111
7.1.2 串行通信的基本過(guò)程 112
7.1.3 串行通信的通信方式 113
7.1.4 波特率 114
7.2 51單片機(jī)串行口的功能與結(jié)構(gòu) 114
7.2.1 串行口的功能 114
7.2.2 串行口的結(jié)構(gòu) 114
7.2.3 串行口控制寄存器SCON 115
7.2.4 電源控制寄存器PCON 116
7.3 串行口的工作方式 117
7.3.1 方式0――同步移位寄存器方式 117
7.3.2 方式1――8位異步通信方式 117
7.3.3 方式2和方式3――9位異步通信方式 118
7.4 串行口的應(yīng)用 118
7.4.1 利用方式0擴(kuò)展并行I/O接口 118
7.4.2 利用方式1實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的雙機(jī)通信 122
習(xí)題 125
第8章 51系統(tǒng)擴(kuò)展及接口技術(shù) 126
8.1 51單片機(jī)系統(tǒng)擴(kuò)展概述 126
8.1.1 51單片機(jī)系統(tǒng)擴(kuò)展方法 126
8.1.2 單片機(jī)常用擴(kuò)展芯片 127
8.2 存儲(chǔ)器擴(kuò)展 130
8.2.1 程序存儲(chǔ)器擴(kuò)展 130
8.2.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 131
8.3 I/O口擴(kuò)展設(shè)計(jì) 132
8.3.1 簡(jiǎn)單I/O口擴(kuò)展 133
8.3.2 8255可編程并行接口芯片 134
8.4 顯示器接口擴(kuò)展技術(shù) 140
8.4.1 LED顯示器及其接口 140
8.4.2 LCD顯示器及其接口 147
8.5 鍵盤接口設(shè)計(jì) 153
8.5.1 鍵盤工作原理 153
8.5.2 鍵盤接口設(shè)計(jì) 156
8.6 D/A、A/D轉(zhuǎn)換器與51單片機(jī)的接口 163
8.6.1 DAC0832與51單片機(jī)的接口 163
8.6.2 ADC0809與8051的接口 169
習(xí)題 175
第9章 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及舉例 177
9.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程 177
9.1.1 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)的基本過(guò)程 177
9.1.2 單片機(jī)應(yīng)用系統(tǒng)的硬件系統(tǒng)設(shè)計(jì) 178
9.1.3 單片機(jī)應(yīng)用系統(tǒng)的軟件設(shè)計(jì) 180
9.1.4 單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)工具 182
9.2 單片機(jī)電子時(shí)鐘的設(shè)計(jì) 182
9.2.1 功能要求 182
9.2.2 總體方案設(shè)計(jì) 182
9.2.3 主要器件介紹 183
9.2.4 硬件電路設(shè)計(jì) 188
9.2.5 軟件程序設(shè)計(jì) 189
9.3 單片機(jī)數(shù)顯溫度計(jì)設(shè)計(jì) 203
9.3.1 功能要求 203
9.3.2 總體方案設(shè)計(jì) 203
9.3.3 主要器件介紹 204
9.3.4 硬件電路設(shè)計(jì) 208
9.3.5 系統(tǒng)軟件程序設(shè)計(jì) 209
習(xí)題 219
第10章 Keil C51集成環(huán)境的使用 220
10.1 Keil C51簡(jiǎn)介 220
10.1.1 Keil ?Vision4 IDE的安裝 220
10.1.2 Keil ?Vision4 IDE界面 220
10.2 Keil ?Vision4 IDE的使用方法 225
10.2.1 建立項(xiàng)目文件 226
10.2.2 給項(xiàng)目添加程序文件 227
10.2.3 編譯、連接項(xiàng)目,形成目標(biāo)文件 229
10.2.4 運(yùn)行調(diào)試觀察結(jié)果 230
10.2.5 仿真環(huán)境的設(shè)置 230
習(xí)題 233
第11章 Proteus軟件的使用 234
11.1 Proteus概述 234
11.1.1 Proteus的啟動(dòng) 234
11.1.2 Proteus的界面 235
11.2 Proteus的基本操作 237
11.2.1 新建電路,選擇元件 237
11.2.2 放置元件,調(diào)整元件 239
11.2.3 連接導(dǎo)線 240
11.2.4 給單片機(jī)加載程序 243
11.2.5 運(yùn)行仿真查看結(jié)果 243
習(xí)題 244
附錄A 51系列單片機(jī)指令表 245
附錄B C51的庫(kù)函數(shù) 249