本書在單片機教學的實踐基礎上,以應用為主調,對單片機的內容進行整合,從培養(yǎng)邏輯思維能力和編程思維能力的角度入手,以單片機軟硬件設計為主線,結合工程實踐,按照"系統(tǒng)需求分析 → 開發(fā)工具使用 → 片內外設應用”的路徑,采用Keil C51基于通用開發(fā)板和Proteus軟件仿真兩種方式,分層次、遞進式地講授單片機內部的片上資源(如I/O、外部中斷、定時器、模數(shù)轉換器、串行通信等)及應用傳感器構建單片機智能控制系統(tǒng)的開發(fā)實踐。本書共9章,包括單片機概述、89C51/S51單片機內部的結構及引腳功能、單片機開發(fā)環(huán)境搭建、通用輸入/輸出(通用I/O)、外部中斷、定時/計數(shù)器、串行通信、單片機接口技術和綜合項目實踐。 本書可作為應用型本科高等學校電子信息工程、自動化、通信工程、電氣工程及其自動化、物聯(lián)網(wǎng)、建筑電氣與智能化等專業(yè)的單片機相關課程教材,也可為單片機實訓、畢業(yè)設計、單片機愛好者及相關工程技術人員提供參考。
目 錄
第1章 單片機概述 1
1.1 單片機概念 2
1.1.1 計算的黑匣子—抽象化的計算機 2
1.1.2 程序如何控制硬件?—集成化的微型計算機 4
1.1.3 為什么要使用單片機?—智能化控制的需求 7
1.1.4 單片機學什么 8
1.2 常見單片機型號 9
1.2.1 AT89C51、AT89C52和STC89C52 9
1.2.2 常見單片機型號 10
1.2.3 單片機芯片常見的封裝形式 12
1.3 單片機常見應用領域 13
習題與思考 14
第2章 89C51/S51單片機的內部結構及引腳功能 15
2.1 89C51/S51單片機內部結構 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 單片機時序與復位 33
2.4.1 時序 33
2.4.2 復位 34
習題與思考 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
習題與思考 57
第4章 通用輸入/輸出(通用I/O) 58
4.1 通用I/O端口 59
4.1.1 并行I/O端口結構 59
4.1.2 通用I/O使用小結 61
4.2 通用輸出功能應用 62
4.2.1 簡單輸出功能應用 62
4.2.2 I/O引腳驅動能力 70
4.3 通用輸入功能應用 73
4.4 仿真與調試 76
習題與思考 82
第5章 外部中斷 83
5.1 中斷概述及單片機中斷內部結構 84
5.1.1 中斷概述 84
5.1.2 單片機中斷內部結構 85
5.2 中斷控制相關的寄存器 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 中斷寄存器設置 91
5.3.1 中斷初始化 91
5.3.2 中斷服務 92
5.4 中斷應用 93
5.5 按鍵中斷計數(shù)數(shù)碼管顯示綜合實例 95
習題與思考 100
第6章 定時/計數(shù)器 102
6.1 概述 103
6.1.1 容量、溢出、初值的基本概念 103
6.1.2 89C51/S51單片機定時/計數(shù)器的工作原理 104
6.1.3 89C51/S51單片機定時/計數(shù)器的內部結構 105
6.2 定時/計數(shù)器的相關寄存器 106
6.2.1 工作模式寄存器(Timer Mode Register,TMOD) 106
6.2.2 控制寄存器(TCON) 108
6.3 定時/計數(shù)器寄存器設置 109
6.4 定時/計數(shù)器應用 111
6.4.1 應用1—定時延時功能 111
6.4.2 應用2—PWM調光、調速 113
6.4.3 應用3—計數(shù)功能 116
6.4.4 應用4—測量功能(測量頻率、脈沖寬度) 116
6.5 定時器中斷控制數(shù)碼管動態(tài)顯示綜合實例 117
習題與思考 120
第7章 串行通信 121
7.1 串行通信的概念 122
7.1.1 波特率 123
7.1.2 數(shù)據(jù)幀格式 123
7.1.3 UART接口 124
7.2 UART相關的寄存器 125
7.2.1 串行控制寄存器 126
7.2.2 電源控制寄存器(PCON) 127
7.2.3 中斷允許控制器(IE) 128
7.3 串行口寄存器設置 128
7.3.1 串行口初始化 129
7.3.2 串行口數(shù)據(jù)緩沖寄存器(SBUF) 129
7.4 串行口應用 130
7.4.1 串行口工作方式0 130
7.4.2 串行口數(shù)據(jù)收發(fā) 132
7.4.3 串行口雙機通信 133
7.4.4 串行口指令控制設備 135
習題與思考 137
第8章 單片機接口技術 138
8.1 通信總線接口 139
8.1.1 SPI總線 139
8.1.2 IIC總線 141
8.2 鍵盤接口技術 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ù)轉換器 156
8.4.1 模數(shù)轉換器PCF8591 156
8.4.2 PCF8591應用 156
習題與思考 159
第9章 綜合項目實踐 160
9.1 單片機應用系統(tǒng)設計概述 161
9.1.1 系統(tǒng)需求分析 161
9.1.2 系統(tǒng)總體設計 161
9.1.3 系統(tǒng)硬件設計 162
9.1.4 系統(tǒng)軟件設計 163
9.1.5 系統(tǒng)功能測試和優(yōu)化 163
9.2 單片機應用系統(tǒng)設計案例 163
9.2.1 系統(tǒng)分析和總體設計 163
9.2.2 系統(tǒng)硬件設計 164
9.2.3 系統(tǒng)軟件設計 169
9.2.4 調試 173
習題與思考 173
參考文獻 174