單片機原理及應用

第3版

本書以培養學生的工程實踐能力為目標,突出多種典型常用集成電路晶元的介紹與應用,突出單片機外圍介面晶元的擴展、單片機應用系統的設計與實現及單片機的典型應用;彙編語言與C51語言程序設計並重,注重新技術和新器件的引入,如:CPLD/FPGA、PSD、I2C匯流排、時鐘晶元、系統監控晶元、串列A/D轉換器和D/A轉換器、片上系統(SOC)等;理論聯繫實際,系統實用。

圖書內容


全書共10章,內容包括:緒論、MCS-51單片機的結構與原理、指令系統及程序設計、內部資源及應用、系統擴展技術、輸入/輸出通道設計、交互通道配置與設計、應用系統設計,以及單片機調試/模擬常用軟體Keil C51與Proteus的使用方法介紹,最後一章為課程設計與創新實驗題目。每章都配有習題,並免費提供包括電子課件、典型例題的動畫與Proteus模擬,以及習題參考答案在內的教學資源包。
用手機掃描書中的二維碼可以播放模擬演示。本書以培養學生的工程實踐能力為目標,突出多種典型常用集成電路晶元的介紹與應用,突出單片機外圍介面晶元的擴展、單片機應用系統的設計與實現及單片機的典型應用;彙編語言與C51語言程序設計並重,注重新技術和新器件的引入,如:CPLD/FPGA、PSD、I2C匯流排、時鐘晶元、系統監控晶元、串列A/D轉換器和D/A轉換器、片上系統(SOC)等;理論聯繫實際,系統實用。

目錄


緒論 1
第1章 MCS-51單片機的結構與原理 12
1.1 MCS-51單片機硬體結構及引腳 12
1.1.1 MCS-51單片機內部結構 12
1.1.2 MCS-51單片機外部引腳 20
1.1.3 AT89系列單片機簡介 22
1.1.4 STC系列單片機簡介 23
1.2 MCS-51單片機的工作方式 25
1.2.1 複位方式 25
1.2.2 程序執行方式 26
1.2.3 節電方式 27
1.2.4 編程和校驗方式 28
1.3 單片機的時序 28
1.3.1 MCS-51的時序單位 28
1.3.2 MCS-51指令的取指/執行時序 29
1.3.3 訪問片外ROM/RAM指令的時序 30
1.4 C8051F系列片上系統(SOC)簡介 31
1.4.1 概述 31
1.4.2 基本結構與特點 33
習題1 35
第2章 MCS-51單片機指令系統與程序設計 37
2.1 彙編語言概述 37
2.1.1 彙編語言指令格式與偽指令 37
2.1.2 指令的分類 40
2.1.3 指令中的常用符號 41
2.1.4 指令的位元組數 41
2.2 MCS-51單片機的定址方式 42
2.2.1 立即定址 42
2.2.2 直接定址 43
2.2.3 寄存器定址 44
2.2.4 寄存器間接定址 45
2.2.5 變址定址 46
2.2.6 相對定址 47
2.2.7 位定址 48
2.3 MCS-51單片機的指令系統 49
2.3.1 數據傳送指令 49
2.3.2 算術運算指令 56
2.3.3 邏輯運算及移位指令 61
2.3.4 控制轉移指令 66
2.3.5 位操作指令 73
2.4 MCS-51單片機C51語言 76
2.4.1 C51語言概述 77
2.4.2 C51語言的程序結構、數據與存儲類型 78
2.4.3 C51語言的頭文件與庫函數 82
2.4.4 C51語言中絕對地址的訪問 84
2.4.5 C51與彙編語言混合編程的方法 86
2.5 程序設計 87
2.5.1 彙編語言程序設計的步驟 88
2.5.2 順序程序設計 89
2.5.3 分支程序設計 90
2.5.4 循環程序設計 92
2.5.5 查表程序設計 98
2.5.6 子程序設計 102
2.6 程序設計舉例 106
2.6.1 多位元組算術運算程序 106
2.6.2 數制轉換程序 108
2.6.3 散轉程序 111
2.7 彙編語言的開發環境 114
2.7.1 單片機開發系統 114
2.7.2 彙編語言的編輯與彙編 116
2.7.3 彙編語言的調試 116
習題2 118
第3章 MCS-51單片機的內部資源及應用 121
3.1 MCS-51單片機的并行I/O介面 121
3.1.1 MCS-51單片機的內部并行I/O介面 121
3.1.2 MCS-51單片機內部并行I/O介面的應用 123
3.1.3 C51語言中MCS-51單片機并行I/O介面的定義方法 125
3.2 MCS-51單片機的中斷系統 126
3.2.1 中斷的基本概念 127
3.2.2 MCS-51單片機的中斷系統 128
3.2.3 MCS-51單片機中斷系統的軟體設計 135
3.2.4 MCS-51單片機擴展外部中斷請求輸入口 136
3.3 MCS-51單片機的定時器/計數器 139
3.3.1 定時器/計數器 139
3.3.2 定時器/計數器的工作方式 141
3.3.3 定時器/計數器的應用 142
3.4 MCS-51單片機的串列通信 148
3.4.1 概述 148
3.4.2 MCS-51單片機的串列口 150
3.4.3 串列口的工作方式 152
3.4.4 串列口的通信波特率 153
3.4.5 串列口的初始化 154
3.4.6 串列口的應用 155
習題3 167
第4章 MCS-51單片機的系統擴展技術 170
4.1 MCS-51單片機系統擴展概述 170
4.1.1 MCS-51系列單片機的外部擴展原理 170
4.1.2 MCS-51單片機系統地址空間的分配 171
4.2 存儲器的擴展 173
4.2.1 程序存儲器擴展 174
4.2.2 數據存儲器擴展 177
4.2.3 MCS-51單片機對外部存儲器的擴展 179
4.2.4 程序存儲空間和數據存儲空間的混合 179
4.3 并行I/O介面的擴展 180
4.3.1 概述 180
4.3.2 普通并行I/O介面擴展 181
4.3.3 可編程并行I/O介面晶元擴展 183
4.3.4 可編程邏輯器件(PLD)的擴展 193
4.3.5 可編程系統器件(PSD)的擴展 196
4.4 時鐘晶元的擴展 198
4.4.1 時鐘晶元概述 198
4.4.2 DS1302的工作原理及應用 199
4.5 系統監控晶元的擴展 210
4.5.1 概述 210
4.5.2 MAX692A的工作原理及應用 211
4.6 匯流排介面擴展 213
4.6.1 EIA RS-232C匯流排標準與介面電路 214
4.6.2 RS-422/RS-485匯流排標準與介面電路 218
4.6.3 I2C匯流排標準與介面電路 221
4.6.4 其他常用匯流排標準 225
習題4 227
第5章 MCS-51單片機的輸入/輸出通道設計 229
5.1 輸入/輸出通道概述 229
5.1.1 感測器 229
5.1.2 單片機應用系統的輸入/輸出通道 229
5.2 D/A轉換器及其硬軟體設計 232
5.2.1 D/A轉換器的性能指標 233
5.2.2 D/A轉換器的分類 233
5.2.3 D/A轉換器的硬軟體設計 234
5.3 A/D轉換器及介面技術 242
5.3.1 A/D轉換器的性能指標 242
5.3.2 A/D轉換器的分類 243
5.3.3 A/D轉換器的硬軟體設計 244
5.3.4 數據採集系統 254
習題5 256
第6章 MCS-51單片機的交互通道配置與設計 258
6.1 MCS-51單片機擴展鍵盤的技術 258
6.1.1 概述 258
6.1.2 使用鍵盤時必須解決的問題 259
6.1.3 單片機擴展鍵盤的硬、軟體設計 260
6.2 MCS-51單片機擴展顯示器的技術 272
6.2.1 LED顯示器及其硬、軟體設計 273
6.2.2 LCD顯示器及其硬、軟體設計 280
6.2.3 單片機擴展液晶顯示模塊LCD1602 283
6.3 MCS-51單片機擴展鍵盤和顯示器的設計實例 291
6.3.1 利用8155/8255A晶元實現鍵盤和顯示器的設計 291
6.3.2 利用MCS-51的串列口實現鍵盤和顯示器的設計 295
6.3.3 利用專用晶元擴展鍵盤和顯示器 297
6.4 MCS-51單片機擴展微型印表機的技術 298
6.4.1 微型印表機的特點 298
6.4.2 單片機擴展微型印表機的硬體設計 299
6.4.3 字元代碼及列印命令 300
6.4.4 單片機擴展微型印表機的設計舉例 302
習題6 302
第7章 MCS-51單片機應用系統設計 304
7.1 MCS-51單片機應用系統設計過程 305
7.1.1 總體設計 305
7.1.2 硬體設計 306
7.1.3 軟體設計 308
7.1.4 可靠性設計 309
7.1.5 單片機應用系統的調試、測試 314
7.2 單片機應用系統設計舉例 315
7.2.1 單片機在工業測控系統中的應用 315
7.2.2 單片機在里程、速度計量中的應用 321
習題7 325
第8章 Keil C51與Proteus軟體使用簡介 326
8.1 Keil C51簡介 326
8.1.1 Keil C51簡介 326
8.1.2 Keil C51的開發環境 326
8.1.3 Keil C51功能模塊簡介 327
8.1.4 Keil C51軟體的安裝 327
8.1.5 Keil C51軟體的使用 328
8.2 虛擬模擬開發工具Proteus模擬軟體簡介 336
8.2.1 Proteus模擬軟體簡介 336
8.2.2 Proteus原理圖輸入系統(ISIS)環境簡介 338
8.2.3 Proteus ISIS的編輯環境設置 343
8.2.4 Proteus ISIS的系統運行環境設置 344
8.2.5 單片機應用系統的虛擬設計與模擬 345
8.2.6 Proteus 與Keil µVision4的聯調 355
習題8 356
第9章 課程設計與創新實驗題目 357
9.1 醫院住院病人呼叫器的設計 357
9.2 萬年曆的設計 357
9.3 學校學生生活時間提示系統的設計 357
9.4 智力競賽搶答器的設計 358
9.5 交通信號燈實時控制系統的設計 358
9.6 電子密碼鎖的設計 358
9.7 超聲波測距系統的設計 359
9.8 數字頻率計的設計 359
9.9 多路數據採集系統的設計 359
9.10 溫度控制系統的設計 359
9.11 自動電梯控制電路的設計 360
9.12 計程車計程計價器的設計 360
9.13 智能化公共汽車報站器的設計 360
9.14 自動往返電動車的設計 361
9.15 簡易IC卡收費器的設計 361
9.16 消毒櫃控制電路的設計 361
附錄A ASCII碼字元表 362
附錄B MCS-51單片機指令表 363
附錄C 著名的單片機網站 367
參考文獻 368