本書在單片機教學(xué)的實踐基礎(chǔ)上,以應(yīng)用為主調(diào),對單片機的內(nèi)容進行整合,從培養(yǎng)邏輯思維能力和編程思維能力的角度入手,以單片機軟硬件設(shè)計為主線,結(jié)合工程實踐,按照"系統(tǒng)需求分析 → 開發(fā)工具使用 → 片內(nèi)外設(shè)應(yīng)用”的路徑,采用Keil C51基于通用開發(fā)板和Proteus軟件仿真兩種方式,分層次、遞進式地講授單片機內(nèi)部的片上資源(如I/O、外部中斷、定時器、模數(shù)轉(zhuǎn)換器、串行通信等)及應(yīng)用傳感器構(gòu)建單片機智能控制系統(tǒng)的開發(fā)實踐。本書共9章,包括單片機概述、89C51/S51單片機內(nèi)部的結(jié)構(gòu)及引腳功能、單片機開發(fā)環(huán)境搭建、通用輸入/輸出(通用I/O)、外部中斷、定時/計數(shù)器、串行通信、單片機接口技術(shù)和綜合項目實踐。 本書可作為應(yīng)用型本科高等學(xué)校電子信息工程、自動化、通信工程、電氣工程及其自動化、物聯(lián)網(wǎng)、建筑電氣與智能化等專業(yè)的單片機相關(guān)課程教材,也可為單片機實訓(xùn)、畢業(yè)設(shè)計、單片機愛好者及相關(guān)工程技術(shù)人員提供參考。
目 錄
第1章 單片機概述 1
1.1 單片機概念 2
1.1.1 計算的黑匣子—抽象化的計算機 2
1.1.2 程序如何控制硬件?—集成化的微型計算機 4
1.1.3 為什么要使用單片機?—智能化控制的需求 7
1.1.4 單片機學(xué)什么 8
1.2 常見單片機型號 9
1.2.1 AT89C51、AT89C52和STC89C52 9
1.2.2 常見單片機型號 10
1.2.3 單片機芯片常見的封裝形式 12
1.3 單片機常見應(yīng)用領(lǐng)域 13
習(xí)題與思考 14
第2章 89C51/S51單片機的內(nèi)部結(jié)構(gòu)及引腳功能 15
2.1 89C51/S51單片機內(nèi)部結(jié)構(gòu) 16
2.2 單片機的引腳及功能 18
2.2.1 最小系統(tǒng)引腳 19
2.2.2 并行I/O端口 19
2.2.3 控制引腳 21
2.2.4 89C51/S51單片機最小系統(tǒng)電路 21
2.3 單片機的存儲器 23
2.3.1 程序存儲器(ROM) 24
2.3.2 數(shù)據(jù)存儲器(RAM) 26
2.3.3 特殊功能寄存器(SFR) 28
2.4 單片機時序與復(fù)位 33
2.4.1 時序 33
2.4.2 復(fù)位 34
習(xí)題與思考 35
第3章 單片機開發(fā)環(huán)境搭建 36
3.1 單片機開發(fā)工具—集成開發(fā)環(huán)境Keil C51 37
3.1.1 Keil C51軟件下載 37
3.1.2 Keil C51軟件安裝 37
3.1.3 Keil C51新建工程 39
3.2 STC_ISP程序下載工具 46
3.3 其他工具 46
3.3.1 集成開發(fā)環(huán)境IAR 46
3.3.2 代碼編輯器Notepad++ 48
3.3.3 Proteus仿真軟件 49
3.4 單片機系統(tǒng)開發(fā)流程 55
習(xí)題與思考 57
第4章 通用輸入/輸出(通用I/O) 58
4.1 通用I/O端口 59
4.1.1 并行I/O端口結(jié)構(gòu) 59
4.1.2 通用I/O使用小結(jié) 61
4.2 通用輸出功能應(yīng)用 62
4.2.1 簡單輸出功能應(yīng)用 62
4.2.2 I/O引腳驅(qū)動能力 70
4.3 通用輸入功能應(yīng)用 73
4.4 仿真與調(diào)試 76
習(xí)題與思考 82
第5章 外部中斷 83
5.1 中斷概述及單片機中斷內(nèi)部結(jié)構(gòu) 84
5.1.1 中斷概述 84
5.1.2 單片機中斷內(nèi)部結(jié)構(gòu) 85
5.2 中斷控制相關(guān)的寄存器 86
5.2.1 中斷源 86
5.2.2 控制寄存器 86
5.2.3 中斷允許控制寄存器(Interrupt Enable Register,IE) 88
5.2.4 中斷優(yōu)先級控制寄存器(Interrupt Priority Register,IP) 89
5.3 中斷寄存器設(shè)置 91
5.3.1 中斷初始化 91
5.3.2 中斷服務(wù) 92
5.4 中斷應(yīng)用 93
5.5 按鍵中斷計數(shù)數(shù)碼管顯示綜合實例 95
習(xí)題與思考 100
第6章 定時/計數(shù)器 102
6.1 概述 103
6.1.1 容量、溢出、初值的基本概念 103
6.1.2 89C51/S51單片機定時/計數(shù)器的工作原理 104
6.1.3 89C51/S51單片機定時/計數(shù)器的內(nèi)部結(jié)構(gòu) 105
6.2 定時/計數(shù)器的相關(guān)寄存器 106
6.2.1 工作模式寄存器(Timer Mode Register,TMOD) 106
6.2.2 控制寄存器(TCON) 108
6.3 定時/計數(shù)器寄存器設(shè)置 109
6.4 定時/計數(shù)器應(yīng)用 111
6.4.1 應(yīng)用1—定時延時功能 111
6.4.2 應(yīng)用2—PWM調(diào)光、調(diào)速 113
6.4.3 應(yīng)用3—計數(shù)功能 116
6.4.4 應(yīng)用4—測量功能(測量頻率、脈沖寬度) 116
6.5 定時器中斷控制數(shù)碼管動態(tài)顯示綜合實例 117
習(xí)題與思考 120
第7章 串行通信 121
7.1 串行通信的概念 122
7.1.1 波特率 123
7.1.2 數(shù)據(jù)幀格式 123
7.1.3 UART接口 124
7.2 UART相關(guān)的寄存器 125
7.2.1 串行控制寄存器 126
7.2.2 電源控制寄存器(PCON) 127
7.2.3 中斷允許控制器(IE) 128
7.3 串行口寄存器設(shè)置 128
7.3.1 串行口初始化 129
7.3.2 串行口數(shù)據(jù)緩沖寄存器(SBUF) 129
7.4 串行口應(yīng)用 130
7.4.1 串行口工作方式0 130
7.4.2 串行口數(shù)據(jù)收發(fā) 132
7.4.3 串行口雙機通信 133
7.4.4 串行口指令控制設(shè)備 135
習(xí)題與思考 137
第8章 單片機接口技術(shù) 138
8.1 通信總線接口 139
8.1.1 SPI總線 139
8.1.2 IIC總線 141
8.2 鍵盤接口技術(shù) 146
8.2.1 鍵盤接口的概述 146
8.2.2 鍵盤的硬件接口 146
8.3 LCD1602顯示模塊 150
8.3.1 原理 150
8.3.2 LCD1602字符庫 150
8.3.3 LCD1602指令集 151
8.3.4 1602液晶讀寫時序 153
8.3.5 LCD1602的控制 153
8.4 模數(shù)轉(zhuǎn)換器 156
8.4.1 模數(shù)轉(zhuǎn)換器PCF8591 156
8.4.2 PCF8591應(yīng)用 156
習(xí)題與思考 159
第9章 綜合項目實踐 160
9.1 單片機應(yīng)用系統(tǒng)設(shè)計概述 161
9.1.1 系統(tǒng)需求分析 161
9.1.2 系統(tǒng)總體設(shè)計 161
9.1.3 系統(tǒng)硬件設(shè)計 162
9.1.4 系統(tǒng)軟件設(shè)計 163
9.1.5 系統(tǒng)功能測試和優(yōu)化 163
9.2 單片機應(yīng)用系統(tǒng)設(shè)計案例 163
9.2.1 系統(tǒng)分析和總體設(shè)計 163
9.2.2 系統(tǒng)硬件設(shè)計 164
9.2.3 系統(tǒng)軟件設(shè)計 169
9.2.4 調(diào)試 173
習(xí)題與思考 173
參考文獻 174