《單片機原理及應用教程 第4版》從單片機應用的角度出發(fā),在第3版的基礎上進行修正、精簡、調整和擴充,翔實地描述了51系列及兼容單片機體系結構、工作原理、功能部件及軟硬件應用開發(fā)資源。在單片機硬件組成的基礎上,兼容匯編語言和C51應用程序的基礎知識、編程技術、應用示例及單片機系統(tǒng)軟硬件開發(fā)過程。
《單片機原理及應用教程 第4版》以Keil集成環(huán)境、Proteus仿真軟件及 ISP 下載等開發(fā)資源為平臺,引用了大量的單片機軟硬件仿真調試示例及工程應用實例,引導讀者逐步認識、熟知、實踐和應用單片機。
《單片機原理及應用教程 第4版》可作為高等院校電子信息、通信、自動化、機電及計算機類專業(yè)的教學用書,也可作為相關專業(yè)技術人員的參考用書。
前言
第1章 單片機應用基礎概述1
1.1 計算機及單片機簡介1
1.1.1 計算機到單片機的發(fā)展過程1
1.1.2 微型計算機、個人計算機、單板機、
單片機2
1.2 數(shù)制與編碼4
1.2.1 數(shù)制及其轉換4
1.2.2 編碼7
1.3 計算機系統(tǒng)組成11
1.3.1 計算機硬件組成11
1.3.2 計算機軟件系統(tǒng)12
1.3.3 計算機語言及程序設計13
1.4 單片機與嵌入式系統(tǒng)15
1.4.1 單片機的特點和應用15
1.4.2 嵌入式系統(tǒng)16
1.4.3 單片機應用系統(tǒng)的組成17
1.5 單片機應用開發(fā)資源19
1.6 一個簡單的單片機應用示例20
1.7 思考與練習23
第2章 51單片機及硬件結構24
2.1 51單片機系列24
2.2 51單片機總體結構25
2.2.1 51單片機總體結構框圖及功能25
2.2.2 51單片機芯片引腳功能28
2.3 51單片機存儲結構及位處理器33
2.3.1 51單片機存儲器的特點33
2.3.2 程序存儲器34
2.3.3 數(shù)據(jù)存儲器35
2.3.4 專用寄存器(SFR)37
2.3.5 位處理器39
2.4 51單片機工作方式39
2.4.1 復位及復位方式39
2.4.2 程序執(zhí)行工作方式40
2.4.3 節(jié)電工作方式41
2.5 51單片機的時序42
2.5.1 時鐘42
2.5.2 CPU時序42
2.6 單片機最小系統(tǒng)45
2.6.1 單片機最小系統(tǒng)組成45
2.6.2 單片機最小系統(tǒng)應用電路46
2.7 思考與習題47
第3章 51單片機指令系統(tǒng)及匯編語言
程序設計49
3.1 指令系統(tǒng)簡介49
3.1.1 指令格式49
3.1.2 指令分類及符號說明50
3.2 尋址方式51
3.3 指令系統(tǒng)55
3.3.1 數(shù)據(jù)傳送類指令55
3.3.2 算術運算類指令60
3.3.3 邏輯運算類指令63
3.3.4 控制轉移類指令65
3.3.5 子程序調用與返回指令70
3.3.6 位操作類指令71
3.4 匯編語言程序設計基礎73
3.4.1 匯編語言特征74
3.4.2 匯編語言程序的組成74
3.4.3 偽指令74
3.4.4 程序設計步驟及技術76
3.5 程序設計實例77
3.5.1 匯編語言基本程序設計77
3.5.2 延時程序設計81
3.5.3 代碼轉換程序設計81
3.5.4 查表程序設計82
3.5.5 運算程序設計82
3.5.6 排序程序設計83
3.5.7 輸入/輸出程序設計83
3.5.8 數(shù)字濾波程序設計85
3.6 單片機I/O端口應用程序及仿真85
3.7 思考與練習88
第4章 C51程序設計及應用90
4.1 C51簡介90
4.1.1 C語言的標識符和關鍵字90
4.1.2 C51的擴展91
4.1.3 存儲區(qū)、存儲類型及存儲模式92
4.1.4 數(shù)據(jù)類型及變量93
4.2 C51運算符及表達式96
4.2.1 算術運算符與表達式96
4.2.2 關系運算符與表達式96
4.2.3 邏輯運算符與表達式97
4.2.4 賦值運算符與表達式97
4.2.5 自增和自減運算符與表達式98
4.2.6 位運算符與表達式99
4.2.7 條件運算符與表達式100
4.3 C51控制語句101
4.3.1 條件語句101
4.3.2 switch/case 語句102
4.3.3 循環(huán)結構103
4.4 數(shù)組105
4.4.1 一維數(shù)組的定義、引用及初始化105
4.4.2 一維數(shù)組應用示例106
4.5 函數(shù)107
4.5.1 庫函數(shù)及文件包含108
4.5.2 C51自定義函數(shù)及調用110
4.6 指針113
4.6.1 指針和指針變量114
4.6.2 通用指針與存儲區(qū)指針115
4.6.3 一維數(shù)組與指針115
4.6.4 指向數(shù)組的指針作為函數(shù)參數(shù)116
4.7 Keil 51單片機集成開發(fā)環(huán)境117
4.7.1 單片機應用程序開發(fā)過程118
4.7.2 Keil 開發(fā)環(huán)境的安裝118
4.7.3 Keil 工程的建立119
4.7.4 Keil 調試功能120
4.7.5 單片機I/O端口應用示例122
4.8 Keil C與Proteus聯(lián)機調試示例127
4.9 思考與練習129
第5章 51單片機中斷系統(tǒng)及應用131
5.1 中斷的概念131
5.1.1 中斷及中斷源131
5.1.2 中斷嵌套及優(yōu)先級131
5.2 51單片機中斷系統(tǒng)結構及中斷
控制132
5.2.1 51單片機的中斷系統(tǒng)結構132
5.2.2 中斷源和中斷請求標志132
5.2.3 中斷允許控制134
5.2.4 中斷優(yōu)先級控制135
5.3 51單片機中斷響應過程135
5.3.1 中斷響應136
5.3.2 中斷處理和中斷返回137
5.4 外部中斷源擴展138
5.4.1 中斷加查詢方式擴展外部中斷源138
5.4.2 利用定時器擴展外部中斷源140
5.5 中斷系統(tǒng)應用設計示例及仿真140
5.5.1 中斷系統(tǒng)應用設計140
5.5.2 中斷實現(xiàn)程序(指令)單步操作141
5.5.3 外部中斷應用示例及仿真142
5.6 思考與練習149
第6章 51單片機定時器/計數(shù)器及
應用150
6.1 定時器/計數(shù)器概述150
6.2 定時器/計數(shù)器的控制151
6.2.1 定時器/計數(shù)器工作模式寄存器
TMOD151
6.2.2 定時器/計數(shù)器控制寄存器TCON152
6.3 定時器/計數(shù)器的工作模式152
6.3.1 工作模式0152
6.3.2 工作模式1154
6.3.3 工作模式2154
6.3.4 工作模式3155
6.4 定時器/計數(shù)器應用技術157
6.4.1 模式0的應用157
6.4.2 模式1的應用158
6.4.3 模式2的應用159
6.4.4 模式3的應用160
6.5 定時器/計數(shù)器應用設計實例161
6.5.1 定時器延時控制161
6.5.2 定時器實現(xiàn)測量脈沖寬度164
6.5.3 10kHz方波發(fā)生器167
6.5.4 循環(huán)加1計數(shù)器168
6.6 思考與練習170
第7章 單片機串行口及應用172
7.1 串行通信的基本概念172
7.1.1 異步通信和同步通信172
7.1.2 串行通信的制式、波特率、時鐘和
奇偶校驗173
7.2 常用串行通信總線標準及接口
電路175
7.2.1 RS-232C總線標準及接口電路175
7.2.2 RS-422/485總線標準及接口電路177
7.3 51單片機串行口178
7.3.1 串行口結構178
7.3.2 串行口控制179
7.3.3 串行口的工作方式180
7.3.4 波特率設置181
7.4 串行口應用184
7.4.1 串行口方式0的應用及仿真184
7.4.2 串行口在其他方式下的應用192
7.4.3 雙機通信應用實例194
7.5 思考與練習196
第8章 單片機常用I/O接口技術198
8.1 鍵盤接口及應用198
8.1.1 鍵盤及其工作特征198
8.1.2 獨立式非編碼鍵盤接口及應用199
8.1.3 矩陣式鍵盤接口及應用201
8.2 單片機常用顯示器接口及應用204
8.2.1 LED顯示器接口及應用205
8.2.2 LCD液晶顯示器接口及應用210
8.3 開關量控制I/O接口215
8.4 思考與練習218
第9章 單片機系統(tǒng)擴展及I/O接口
技術220
9.1 單片機系統(tǒng)擴展概述220
9.1.1 單片機系統(tǒng)擴展配置及接口芯片220
9.1.2 單片機擴展后的總線結構221
9.2 程序存儲器的擴展222
9.2.1 常用的程序存儲器芯片222
9.2.2 程序存儲器擴展226
9.3 數(shù)據(jù)存儲器的擴展228
9.3.1 常用數(shù)據(jù)存儲器芯片229
9.3.2 數(shù)據(jù)存儲器擴展230
9.4 I/O端口的擴展232
9.4.1 簡單并行I/O口的擴展232
9.4.2 8155可編程多功能接口芯片及
擴展234
9.5 單片機擴展系統(tǒng)外部地址空間的
編址方法239
9.5.1 單片機擴展系統(tǒng)地址空間編址239
9.5.2 線選法240
9.5.3 譯碼法241
9.6 8155擴展鍵盤與顯示器設計
實例242
9.7 A-D、D-A轉換器與單片機的
接口245
9.7.1 D-A轉換器及應用技術245
9.7.2 A-D轉換器及應用技術249
9.8 思考與練習256
第10章 單片機應用系統(tǒng)開發(fā)及設計
實例257
10.1 單片機應用系統(tǒng)開發(fā)過程257
10.1.1 總體與軟、硬件設計257
10.1.2 軟、硬件調試及電路裝配258
10.1.3 程序下載259
10.1.4 脫機運行261
10.2 單片機應用系統(tǒng)設計實例261
10.2.1 簡易數(shù)控增益放大器262
10.2.2 單片機“秒”計時器265
10.2.3 智能循跡小車268
10.2.4 數(shù)字測量儀表272
10.2.5 直流電動機轉速PID控制系統(tǒng)276
10.2.6 單片機舵機閉環(huán)控制系統(tǒng)280
10.2.7 LED點陣顯示系統(tǒng)284
10.3 思考與練習286
第11章 Proteus使用入門287
11.1 Proteus ISIS基本操作287
11.1.1 Proteus工作區(qū)287
11.1.2 Proteus ISIS激勵信號源292
11.1.3 Proteus ISIS VSM虛擬儀器294
11.2 Proteus原理圖編輯及仿真298
11.2.1 Proteus ISIS原理圖編輯298
11.2.2 Proteus ISIS電路仿真302
附錄305
附錄A 51單片機指令表305
附錄B 常用C51庫函數(shù)309