內容介紹
本書主要介紹了MCS?51系列單片機系統開發軟體(Keil、Proteus、程式下載工具)、系統電路設計、C語言程式設計和電路仿真等相關技術。書中共設定23個項目設計實例,其中單片機程式設計基礎9個,主要介紹單片機內部資源的套用、C語言程式設計基礎、LED驅動、數碼管驅動、按鍵等單元項目,其中電子表設計是檢驗程式設計能力的實訓項目;單片機系統設計提高項目13個,主要介紹單片機外部器件的套用電路與程式設計方法,如溫度感測器DS18B20、I2C匯流排、串列接口、A?D轉換器、D?A轉換器、實時時鐘DS1302、單色和彩色LCD以及單片機系統常用驅動電路和接口電路等,其中漢字屏設計為提高項目的綜合訓練內容;項目23為單片機系統綜合設計內容,介紹了含有VB上位機程式設計和PCB設計的系統開發一般過程。本書列舉的項目實例詳盡地總結了MCS?51系列單片機產品開發實踐過程中所涉及的套用系統,項目設計以套用為目的,以系統實現為最終目標,分難度和深度階梯進行內容設定。
本書適合於單片初學人員、廣大單片機發燒友和專業技術人員閱讀,也可作為高等院校相關專業的教材和參考書。
作品目錄
前言第1章單片機技術基礎1
1?1單片機概述1
1?1?1單片機的基本概念1
1?1?2單片機的內部結構與硬體資源3
1?1?3單片機的外部引腳5
1?2單片機內部主要部件8
1?2?1CPU8
1?2?2存儲器10
1?2?3專用暫存器11
1?2?4特殊功能暫存器13
1?3單片機系統的電路組成16
1?3?1單片機最小系統16
1?3?2單片機系統的工作模式19
1?3?3單片機套用系統20
1?4單片機的程式語言與數據23
1?4?1彙編語言程式23
1?4?2單片機的C語言程式26
1?4?3數制轉換與編碼27
1?4?4機器數31
思考題32
第2章單片機系統開發常用軟體33
2?1單片機程式設計與開發平台33
2?1?1Keil μVision3的工作界面33
2?1?2Keil程式設計33
2?1?3調試程式39
2?2單片機系統仿真與調試42
2?2?1Proteus ISIS的工作界面42
2?2?2電路原理設計44
2?2?3仿真與調試48
2?2?4Proteus與Keil的聯合調試49
2?3單片機的程式下載與硬體仿真51
2?3?1單片機的下載接口51
2?3?2下載軟體53
2?3?3下載過程53
思考題57
第3章單片機程式設計基礎58
3?1單片機的C語言58
3?1?1C51的特點58
3?1?2C51的數據59
3?1?3C51的運算符62
3?1?4C51中常用的函式63
3?1?5單片機C語言的結構64
3?1?6數制與碼制65
3?2單片機驅動一個LED閃爍66
3?2?1單片機I/O接口輸出與驅動67
3?2?2P0?0接口驅動LED閃爍(項目1)68
3?2?3流水燈程式設計(項目2)71
3?2?4數組與套用73
3?3數碼管驅動75
3?3?1數碼管的顯示原理75
3?3?2數碼管0~9顯示程式設計(項目3)77
3?3?3函式調用78
3?3?4主程式與子程式80
3?4單片機系統的按鍵(項目4)82
3?4?1按鍵抖動現象82
3?4?2單按鍵輸入程式83
3?4?34×4鍵盤矩陣87
思考題89
第4章單片機內部硬體資源及套用91
4?1單片機的中斷系統91
4?1?1中斷系統簡介91
4?1?2中斷回響95
4?1?3中斷服務函式98
4?1?4利用外部中斷實現按鍵的輸入(項目5)100
4?2MCS?51系列單片機的定時器101
4?2?1單片機的定時器/計數器結構101
4?2?2定時器的工作方式102
4?2?3定時器/計數器的初始化104
4?2?4單只數碼管秒顯示(項目6)105
4?2?56位數碼管動態顯示(項目7)107
4?3單片機串列通信111
4?3?1串列通信原理111
4?3?2單片機的串列接口112
4?3?3串列接口的工作方式114
4?3?4單片機通信電路接口119
4?3?5PC與MCS?51系列單片機的串列通信(項目8)120
4?4電子表程式設計(項目9)122
4?4?1功能分析122
4?4?2電路設計123
4?4?3程式設計123
4?5增強型51系列單片機的內部特殊部件131
4?5?1單片機內部特殊部件131
4?5?2單片機片內看門狗定時器的使用(項目10)133
4?5?3單片機片內A?D轉換器的使用(項目11)136
思考題139
第5章單片機外圍常用器件及其套用141
5?1數字溫度感測器DS18B20的套用141
5?1?1DS18B20的功能原理141
5?1?2DS18B20的工作時序143
5?1?3DS18B20的指令145
5?1?4DS18B20的驅動程式設計146
5?1?5數字溫度計設計(項目12)149
5?2I2C匯流排器件AT24C04及其套用152
5?2?1I2C匯流排的構成和信號類型152
5?2?2AT24C04的套用原理154
5?2?3AT24C04的驅動程式設計156
5?2?4AT24C04的套用(項目13)158
5?3實時時鐘DS1302的原理與套用(項目14)160
5?3?1DS1302的功能160
5?3?2DS1302的暫存器和控制指令161
5?3?3DS1302的讀寫時序與驅動程式162
5?3?4DS1302的套用165
5?4A?D、D?A轉換器及其套用169
5?4?1A?D轉換器、D?A轉換器參數描述169
5?4?2A?D轉換器ADC0832的套用(項目15?1)170
5?4?3A?D轉換器TLC549的套用(項目15?2)174
5?4?4D?A轉換器TLC5615的套用(項目16)178
5?5單片機常用的接口電路182
5?5?1並行鎖存器182
5?5?2串列移位暫存器183
5?5?3驅動器ULN2003的套用(項目17)186
思考題191
第6章字元點陣顯示192
6?1LCD1602單色字元液晶顯示模組(項目18)192
6?1?1LCD1602液晶顯示模組工作原理192
6?1?2LCD1602的操作指令194
6?1?3LCD1602的驅動程式設計197
6?1?4LCD1602的套用199
6?2LCD12864的原理與套用(項目19)200
6?2?1LCD12864點陣液晶顯示模組的工作原理200
6?2?2LCD12864的驅動程式設計203
6?2?3LCD12864的套用212
6?3彩屏液晶TFT的原理與套用(項目20)214
6?3?1彩色液晶顯示模組概述214
6?3?2彩色液晶顯示模組介紹215
6?3?3驅動程式設計218
6?4LED點陣顯示屏224
6?4?1LED點陣結構及顯示原理225
6?4?2LED 8×8點陣字元顯示(項目21)227
6?4?3LED漢字屏原理與設計(項目22)230
6?4?416×16漢字點陣顯示程式設計232思考題236
第7章單片機系統設計(項目23)237
7?1VB6?0可視化視窗設計基礎237
7?1?1VB6?0介紹237
7?1?2可視化視窗設計步驟240
7?1?3常用控制項及函式242
7?2Protel 99SE電路設計基礎243
7?2?1Protel使用簡介244
7?2?2原理圖設計248
7?2?3PCB設計249
7?3上位機程式設計253
7?3?1上位機視窗設計253
7?3?2程式添加256
7?3?3程式運行258
7?3?4製作執行檔258
7?4單片機測溫程式與系統調試259
7?4?1程式設計260
7?4?2在線上通信265
7?4?3綜合項目設計總結266
綜合設計練習267
附錄269
附錄AMCS?51系列單片機彙編指令集269
附錄BC51常用頭檔案272