內容簡介
本書系統地介紹51單片機的基本原理及其套用系統的構成和設計方法,對傳統的51單片機的內容進行凝練,在第1版的基礎上進行較大的調整,剔除難懂的彙編指令及程式設計,減少多餘的理論介紹。全書共7章,主要內容包括:51單片機設計快速入門、51系列單片機系統結構、C51語言基礎知識簡介、51單片機控制系統的人機互動接口設計、51單片機控制系統的接口擴展、51單片機與電動機控制、51單片機控制系統實驗設計。書中案例難易結合,加強了液晶顯示、SPI和I2C匯流排等當前比較流行的技術案例分析。本書提供配套PPT、案例設計電路及程式、習題參考答案等教學資源,還提供51單片機開發常用的USB轉串列口、液晶字模提取、串列口調試助手、51單片機波特率初值設定等軟體資源。本書每章都有一些特色知識點,介紹了一些小秘籍,本書的電路設計和程式的軟體操作流程非常詳細,並附有電路分析和程式點評,對初學者學習51單片機具有很好的幫助。本書所有案例的程式都使用C51程式設計並通過了Keil μVision 5調試,所有案例的電路都通過了Proteus 8.5的仿真調試,其中,第7章為51單片機控制系統實驗設計,給出了硬體電路和基本的程式設計,讀者可以在此基礎上進行功能擴展或修改。本書可作為套用型本科院校自動化、能源與動力工程、電子信息、測控技術與儀器等專業的教材,還可供從事單片機技術開發的工程技術人員學習。
作者簡介
李精華,教授,學士畢業於國防科技大學電子工程專業,碩士畢業於天津大學通信與信息系統專業。廣西電氣及自動化教指委委員,桂林航天工業學院教學督導員,桂林市公共資源交易中心評審專家。長期任教於桂林航天工業學院,講授單片機原理及套用、數字電子技術、EDA技術等課程。
目 錄
目 錄
第1章 51單片機設計快速入門 1
1.1 單片機的基本概念 1
1.2 單片機的分類 3
1.3 常用51單片機介紹 4
1.3.1 MCS-51單片機 4
1.3.2 Atmel-51單片機 5
1.3.3 STC-51單片機 5
1.4 常用51單片機的產品標號與引腳信息 6
1.5 51單片機控制系統的開發流程與開發工具 7
1.5.1 51單片機控制系統的開發流程 7
1.5.2 Keil C51軟體簡介 8
1.5.3 Proteus軟體簡介 9
1.5.4 單片機仿真器 9
1.5.5 編程器 10
1.6 51單片機控制8個LED閃爍的設計流程介紹 10
1.6.1 基於Keil C51的8個LED閃爍的程式設計過程 10
1.6.2 基於Proteus 8.5的8個LED的電路原理圖設計及仿真 15
本章小結 21
習題1 21
第2章 51系列單片機系統結構 23
2.1 51系列單片機的內部結構 23
2.1.1 CPU 24
2.1.2 存儲器 26
2.2 51系列單片機的連線埠及引腳介紹 31
2.3 51系列單片機中斷系統概述 38
2.3.1 中斷的相關概念 38
2.3.2 51系列單片機的中斷系統 38
2.3.3 51系列單片機的中斷類型 38
2.3.4 51系列單片機的中斷控制暫存器 40
2.3.5 51系列單片機的中斷回響與處理 43
2.3.6 51系列單片機的中斷服務程式的設計與套用 46
2.4 51系列單片機定時/計數器 48
2.4.1 51系列單片機的定時/計數器的結構和工作原理 48
2.4.2 51系列單片機定時/計數器的工作方式 49
2.4.3 51系列單片機定時/計數器的套用注意事項 53
2.5 51系列單片機串列通信 53
2.5.1 通信基本概念 53
2.5.2 51系列單片機串列口的結構 55
2.5.3 51系列單片機串列口的工作方式 57
2.5.4 51系列單片機串列通信波特率的設定 61
本章小結 62
習題2 63
第3章 C51語言基礎知識簡介 67
3.1 C51語言在單片機開發中的套用 67
3.1.1 C51語言簡介 67
3.1.2 C51語言與標準C的比較 68
3.2 C51語言基礎 69
3.2.1 標識符 69
3.2.2 關鍵字 69
3.2.3 數據類型 70
3.2.4 數據的存儲類型 72
3.2.5 局部變數與全局變數 73
3.2.6 預處理命令 73
3.3 C51語言的基本運算 75
3.4 C51語言基本語句 78
3.4.1 C51語言語句概述 78
3.4.2 分支控制語句 79
3.4.3 循環控制語句 83
3.4.4 轉移語句 85
3.5 C51函式簡介 87
3.5.1 C51函式概述 87
3.5.2 用戶自定義函式 87
3.5.3 C51中斷函式 89
本章小結 91
習題3 91
第4章 51單片機控制系統的人機互動接口設計 94
4.1 鍵盤的接口設計 94
4.1.1 按鍵概述 94
4.1.2 獨立式按鍵案例分析 96
4.1.3 矩陣式按鍵案例分析 104
4.2 LED數碼管接口設計 106
4.2.1 LED數碼管的結構及工作原理 106
4.2.2 51單片機與LED數碼管的靜態顯示接口案例分析 108
4.2.3 51單片機與LED數碼管的動態顯示接口案例分析 110
4.3 液晶顯示器接口設計 113
4.3.1 字元型LCM外形及引腳功能 114
4.3.2 字元型LCM組成結構 114
4.3.3 字元型LCM的操作命令 116
4.3.4 51單片機與LCM1602的接口設計 118
4.4 51單片機與LED點陣顯示器的接口設計 122
4.5 蜂鳴器接口設計 125
本章小結 127
習題4 127
第5章 51單片機控制系統的接口擴展 129
5.1 51單片機的外部並行匯流排 129
5.1.1 並行匯流排結構 129
5.1.2 編址技術 131
5.2 A/D與D/A轉換器簡介 133
5.2.1 A/D轉換器 133
5.2.2 D/A轉換器 134
5.3 SPI匯流排簡介及典型SPI晶片介紹 135
5.3.1 SPI匯流排結構 135
5.3.2 基於SPI匯流排的A/D轉換器TLC549晶片簡介 136
5.3.3 基於SPI匯流排的D/A轉換器TLC5615晶片簡介 138
5.4 I2C匯流排簡介及典型I2C晶片介紹 141
5.4.1 I2C串列匯流排簡介 141
5.4.2 基於I2C匯流排的E2PROM存儲器AT24C02晶片簡介 146
5.4.3 基於I2C匯流排的8位A/D和D/A轉換器PCF8591晶片簡介 149
5.5 51單片機基於SPI和I2C匯流排的接口擴展套用設計 151
5.5.1 基於SPI匯流排TLC549的模擬信號採集電路設計 151
5.5.2 基於SPI匯流排TLC5615的正弦函式發生器設計 154
5.5.3 基於I2C匯流排PCF8591的路燈控制系統設計 158
5.5.4 基於I2C匯流排AT24C02的開機次數記錄器系統設計 162
本章小結 167
習題5 168
第6章 51單片機與電動機控制 170
6.1 51單片機對直流電動機的控制 171
6.1.1 直流電動機控制的基本概念 171
6.1.2 51單片機對直流電動機控制的案例分析 173
6.2 單片機對步進電動機的控制 180
6.2.1 步進電動機的基本概念 180
6.2.2 51單片機對步進電動機控制的案例分析 183
6.3 51單片機對舵機的控制 195
6.3.1 舵機的基本概念 195
6.3.2 51單片機對舵機控制的案例分析 197
習題6 202
第7章 51單片機控制系統實驗設計 204
7.1 51單片機控制系統的電源模組 204
7.2 51單片機小系統模組 207
7.3 51單片機控制系統與PC通信單元電路 208
7.4 51單片機控制的8個LED跑馬燈實驗 210
7.5 51單片機控制的數碼管動態顯示實驗 213
7.6 51單片機控制系統的矩陣鍵盤設計實驗 215
7.7 51單片機控制系統的簡易交通燈控制系統設計實驗 219
7.8 51單片機控制系統的簡易秒表設計實驗 224
7.9 51單片機控制系統的A/D和D/A轉換實驗 227
7.10 51單片機與單片機之間的雙機通信設計 232
部分習題參考答案 238
參考文獻 248