本書以80C51為代表介紹51系列單片機的工作原理與應用實例。書中編程語言采用單一C51語言,可顯著提高編程方法的工程實用性;內(nèi)容編排采用理論與應用實例緊密結(jié)合的做法,克服了過去單片機教材在理論與應用之間存在較大時間差的問題;采用Proteus 8.11作為電路繪圖、軟件編程、動態(tài)調(diào)試、仿真運行和虛擬實驗的教學工具,以其逼真的可視化特點解決了以往單片機課程難教難學的問題;堅持學以致用的原則,所選的數(shù)十個應用實例都具有較強的應用背景,其中第9章的綜合應用實例——智能儀器設計與PCB布版更是突出了“從概念到產(chǎn)品”的教學理念。本書保持了方便讀者學習的傳統(tǒng)做法,每章都有內(nèi)容概述、本章小結(jié)、思考與練習,書末附有教學實驗。本書的實例都可進行仿真運行,確保程序正確無誤。在手機版和電腦版的雙系統(tǒng)課程網(wǎng)站(www.51mcu.cn/c51-2/)中免費提供教學PPT、仿真實例資料、實例仿真視頻、思考與練習答案和閱讀材料。本書的C51語言是從零基礎開始的,適合沒有C語言基礎或基礎薄弱的讀者。本書可作為高等工科院校機械類、電氣類、電子信息類、計算機類各專業(yè)80學時及以下要求的教材,也可作為嵌入式應用系統(tǒng)設計、生產(chǎn)從業(yè)人員的崗位培訓教材及自學參考書。
林立,中國石油大學(北京)教授,多年來一直從事單片機、智能儀器等方面的教學與科研工作,曾出版的《單片機原理及應用——基于Proteus和Keil C》教材,被全國近百所院校用作教材。
第1章 單片機基礎知識概述 1
1.1 單片機概述 1
1.1.1 單片機的基本概念 1
1.1.2 單片機的應用領域 2
1.1.3 主流單片機及其特點 3
1.1.4 單片機發(fā)展趨勢 5
1.1.5 關于學習單片機 8
1.2 單片機預備知識 9
1.2.1 數(shù)制及其轉(zhuǎn)換 9
1.2.2 有符號數(shù) 11
1.2.3 位、字節(jié)和字 11
1.2.4 BCD碼 12
1.2.5 ASCII碼 12
1.2.6 基本邏輯門電路 13
1.3 Proteus軟件簡介 14
本章小結(jié) 17
思考與練習1 18
第2章 MCS-51單片機的結(jié)構(gòu)組成 20
2.1 單片機的基本結(jié)構(gòu) 20
2.1.1 MCS-51單片機的內(nèi)部結(jié)構(gòu) 20
2.1.2 MCS-51外部引腳及其功能 22
2.2 單片機的存儲器結(jié)構(gòu) 24
2.2.1 存儲器劃分方法 24
2.2.2 程序存儲器 25
2.2.3 數(shù)據(jù)存儲器 26
2.3 單片機的復位與時序 28
2.3.1 單片機的復位 28
2.3.2 單片機的時序 29
2.4 單片機并行I/O口 32
2.4.1 P1口 32
2.4.2 P3口 34
2.4.3 P0口 34
2.4.4 P2口 35
2.5 繪制Proteus原理圖 36
2.5.1 創(chuàng)建新工程 36
2.5.2 原理圖繪圖界面 38
2.5.3 繪圖基本方法 39
2.5.4 Proteus繪圖實例 40
本章小結(jié) 42
思考與練習2 42
第3章 C51編程語言基礎 45
3.1 C51編譯工具 45
3.1.1 C51源程序開發(fā)過程 45
3.1.2 Source Code工作界面 46
3.1.3 Source Code基本用法 48
3.2 C51的基本執(zhí)行語句 52
3.2.1 表達式語句 52
3.2.2 選擇語句 55
3.2.3 循環(huán)語句 60
3.2.4 注釋語句 64
3.3 C51的變量 65
3.3.1 變量概述 65
3.3.2 變量名 66
3.3.3 數(shù)據(jù)類型 66
3.3.4 存儲類型 71
3.3.5 存儲種類 73
3.4 C51的指針 74
3.5 C51的數(shù)組 77
3.5.1 一維數(shù)組的定義 77
3.5.2 一維數(shù)組的使用 78
3.5.3 字符數(shù)組 80
3.5.4 二維數(shù)組 81
3.6 C51的函數(shù) 83
3.6.1 函數(shù)的基本概念 83
3.6.2 函數(shù)的定義 83
3.6.3 函數(shù)的調(diào)用 85
本章小結(jié) 87
思考與練習3 87
第4章 單片機的通用I/O口方式應用 90
4.1 I/O口方式的簡單應用 90
4.1.1 基本輸入/輸出電路 90
4.2.2 數(shù)碼管原理與靜態(tài)顯示 96
4.2 I/O口方式的進階應用 101
4.2.1 數(shù)碼管動態(tài)顯示原理與應用 101
4.2.2 行列式鍵盤原理與應用 103
本章小結(jié) 108
思考與練習4 108
第5章 單片機的中斷系統(tǒng) 111
5.1 中斷的概念 111
5.2 中斷控制系統(tǒng) 114
5.2.1 中斷系統(tǒng)結(jié)構(gòu) 114
5.2.2 中斷的控制 115
5.3 中斷控制過程 119
5.4 中斷編程和應用實例 121
5.4.1 中斷應用實例 121
5.4.2 擴充外部中斷源 128
本章小結(jié) 130
思考與練習5 131
第6章 單片機的定時/計數(shù)器 134
6.1 定時/計數(shù)器的工作原理 134
6.1.1 基本原理 134
6.1.2 結(jié)構(gòu)組成 135
6.2 定時/計數(shù)器的控制 136
6.2.1 TMOD寄存器 136
6.2.2 TCON寄存器 137
6.3 定時/計數(shù)器的工作方式 138
6.3.1 方式1 138
6.3.2 方式2 141
6.3.3 方式0 144
6.3.4 方式3 144
6.4 定時/計數(shù)器的應用實例 145
本章小結(jié) 151
思考與練習6 152
第7章 單片機的串行口 154
7.1 串行通信概念 154
7.2 MCS-51的串行口控制器 156
7.2.1 串行口內(nèi)部結(jié)構(gòu) 156
7.2.2 串行口控制寄存器 157
7.3 串行口工作方式0及其應用 159
7.4 串行口工作方式1及其應用 161
7.5 串行口工作方式2及其應用 165
7.6 串行口工作方式3及其應用 167
本章小結(jié) 172
思考與練習7 173
第8章 單片機的外圍接口技術(shù) 176
8.1 51單片機的三總線結(jié)構(gòu) 176
8.1.1 片外三總線形式 176
8.1.2 地址鎖存器的原理與接口 177
8.2 簡單并行擴展的原理與接口應用 179
8.2.1 訪問擴展接口的軟件方法 179
8.2.2 利用74273擴展并行輸出口 180
8.2.3 利用74244擴展并行輸入口 182
8.3 D/A轉(zhuǎn)換器的原理與接口應用 185
8.3.1 DAC0832的工作原理 186
8.3.2 DAC0832的應用實例 187
8.4 A/D轉(zhuǎn)換器的原理與接口應用 190
8.4.1 ADC0809的工作原理 190
8.4.2 ADC0809的應用實例 191
8.5 開關量驅(qū)動原理與接口應用 194
8.5.1 驅(qū)動接口方式 194
8.5.2 驅(qū)動接口的應用實例 197
8.6 液晶顯示模塊的原理與接口應用 202
8.6.1 LM1602模塊的工作原理 202
8.6.2 LM1602模塊的應用實例 204
8.7 串行擴展單元的原理與接口應用 207
8.7.1 串行A/D轉(zhuǎn)換器MAX124X 207
8.7.2 串行D/A轉(zhuǎn)換器LTC145X 211
8.7.3 串并轉(zhuǎn)換器74HC595 213
8.7.4 I2C總線E2PROM存儲器AT24CXX 216
8.7.5 串行日歷時鐘DS1302 224
本章小結(jié) 230
思考與練習8 231
第9章 單片機應用系統(tǒng)開發(fā) 234
9.1 單片機系統(tǒng)設計開發(fā)過程 234
9.1.1 單片機典型應用系統(tǒng) 234
9.1.2 單片機應用系統(tǒng)的開發(fā)過程 235
9.2 單片機系統(tǒng)可靠性技術(shù) 239
9.2.1 硬件抗干擾技術(shù)概述 240
9.2.2 軟件抗干擾技術(shù)概述 241
9.3 單片機綜合應用實例——智能儀器 241
9.3.1 功能概述 241
9.3.2 硬件電路設計 242
9.3.3 軟件系統(tǒng)設計 243
9.3.4 仿真開發(fā)過程 247
9.4 智能儀器的PCB布版實例 252
9.4.1 PCB布版準備 252
9.4.2 PCB布版結(jié)果 254
本章小結(jié) 257
思考與練習9 257
附錄A 教學實驗 260
實驗1 繪制電路原理圖 260
實驗2 數(shù)據(jù)篩查與轉(zhuǎn)存 261
實驗3 LED燈循環(huán)控制 262
實驗4 數(shù)碼管的中斷控制 264
實驗5 數(shù)字秒表顯示器 265
實驗6 雙機串行通信 266
實驗7 模數(shù)轉(zhuǎn)換電壓表 268
實驗8 數(shù)字電壓表的PCB設計 270
參考文獻 272