《無師自通51單片機》由淺入深,循序漸進,帶領大家進入51單片機世界。《無師自通51單片機》中給出了51單片機經典的模組,如LED、數碼管、1602液晶和常用外圍晶片等。還特別增加了時下流行的模組,如彩屏液晶、nRF24L01無線通信晶片、超音波、收音機等。每個模組按照原理、學習難點、電路圖、程式代碼等分別進行介紹,使讀者活學活用。《無師自通51單片機》有與之配套的單片機實驗板,這樣理論結合實踐進行學習,可以事半功倍。《無師自通51單片機》可作為高等院校電子相關專業的8051單片機教材,也可作為課程設計、畢業設計、電子競賽等的參考用書,還可作為電子工程技術人員的參考用書。
基本介紹
- 書名:無師自通:51單片機
- 出版社:北京航空航天大學出版社
- 頁數:432頁
- 開本:16
- 品牌:北京航空航天大學出版社
- 作者:李俊
- 出版日期:2014年3月1日
- 語種:簡體中文
- ISBN:9787512414914
內容簡介,圖書目錄,
內容簡介
《無師自通:51單片機》介紹外圍器件時,特別給初學者增加了時下流行器件,如彩屏液晶、2.4GHz無線通信晶片nRF24L01、超音波測距、TEA5767收音機晶片、ISD4004語言晶片等,這樣可以讓讀者學到更多實用的知識,這些知識更接近於實際工作需求。《無師自通:51單片機》程式代碼編程風格良好,並且代碼都有詳細的文字注釋,可以讓讀者更容易、更快速地學習51單片機程式編程。
圖書目錄
第1章帶你認識51單片機1
1.1單片機的傳奇三十年1
1.2單片機初學者疑問3
1.38051單片機的封裝和引腳4
1.48051單片機的內部結構7
1.4.1CPU8
1.4.2存儲器結構10
1.4.3內部重要模組12
1.4.4復位和周期12
1.5學習單片機的必備基礎知識13
1.5.1數制13
1.5.2數制間轉換15
1.5.3邏輯電平16
1.5.4二進制的邏輯運算16
1.6適合初學者學習的51單片機18
1.7實驗平台簡介19
1.7.1HOT51單片機實驗板簡介19
1.7.2HOT51單片機實驗板板載資源20
第2章Keil軟體使用和Keil C51介紹22
2.1Keil入門22
2.1.1Keil工程的創建22
2.1.2編寫程式24
2.1.3用Keil進行調試/仿真程式27
2.2Keil C51的基本知識34
2.2.1常量與變數34
2.2.2Keil C51的數據類型35
2.2.3C51的運算符38
2.2.4C51的基礎語句42
2.2.5數組46
2.2.6指針48
2.2.7C51的中斷子程式49
第3章LED50
3.1LED簡介50
3.2實例——手把手講解LED53
3.2.1同時點亮多個LED54
3.2.2單燈閃爍57
3.2.3花樣燈閃爍58
3.2.412個LED燈順時針點亮59
3.2.5交通燈實驗61
第4章數碼管63
4.1怎樣才能點亮數碼管63
4.2數碼管的驅動電路66
4.2.1數碼管的基本驅動電路66
4.2.2驅動8位數碼管67
4.3實例——手把手講解數碼管69
4.3.1共陰極數碼管靜態顯示69
4.3.2共陰極數碼管動態顯示71
4.3.3數碼管鎖存實驗73
4.3.4數碼管顯示數據自加75
4.3.5數碼管顯示英文並滾動顯示76
第5章LED點陣79
5.1認識LED點陣79
5.2實例——手把手講解8×8點陣82
5.2.1在8×8 LED點陣上顯示“心”型82
5.2.2在8×8 LED點陣上從0顯示到985
5.2.3在8×8 LED點陣上顯示箭頭形狀並移動86
5.316×16 LED點陣模組88
5.3.116×16 LED點陣模組電路圖88
5.3.2實例——手把手講解16×16 LED點陣模組顯示漢字92
第6章按鍵97
6.1按鍵簡介97
6.2實例——手把手講解獨立按鍵98
6.2.1獨立按鍵控制LED燈和8×8 LED點陣顯示99
6.2.2獨立按鍵控制數碼管顯示數據加減103
6.2.3獨立按鍵的多種擊鍵方式105
6.3實例——手把手講解矩陣鍵盤109
第7章MCS51中斷系統114
7.1MCS51的中斷系統簡介114
7.2中斷允許暫存器IE116
7.3中斷優先權暫存器IP117
7.4定時/計數器控制暫存器TCON118
7.5外部中斷系統的初始化過程119
7.6實例——手把手講解外部中斷INT0和INT1的使用120
第8章MCS51定時/計數器125
8.1定時/計數器簡介125
8.1.1定時/計數器的暫存器127
8.1.2定時/計數器的4種工作方式128
8.1.3計數暫存器初值的計算130
8.1.4定時/計數器的初始化步驟131
8.2AT89S52的定時/計數器T2131
8.3實例——手把手講解定時/計數器135
8.3.1定時器0的工作方式0135
8.3.2定時器0的工作方式1138
8.3.3定時器0的工作方式2139
8.3.4定時器2的使用141
8.3.5用定時器設計時鐘程式142
第9章MCS51的串列通信148
9.1串列通信基礎148
9.2MCS51的串列口152
9.2.1串列口控制暫存器SCON153
9.2.2串列口的工作方式 154
9.2.3串列通信4種方式波特率的計算157
9.3實例——手把手講解串口通信158
9.3.1串列口方式0傳送數據給74HC164控制LED燈158
9.3.2串列口方式1傳送數據到計算機161
9.3.3串列口方式1從計算機接收數據166
9.3.4兩個單片機之間進行串列口通信168
第10章單片機的看門狗和電源控制177
10.1單片機看門狗177
10.2實例——手把手講解看門狗178
10.2.1AT89S52的看門狗178
10.2.2STC89C52RC的看門狗180
10.3單片機的電源控制181
10.4實例——手把手講解電源控制182
第11章1602液晶185
11.11602液晶簡介185
11.21602液晶的指令187
11.31602液晶時序188
11.4實例——手把手講解1602液晶顯示字元189
第12章12864液晶196
12.112864液晶簡介196
12.212864液晶指令197
12.2.1基本指令集198
12.2.2擴充指令集200
12.312864液晶讀/寫時序201
12.4顯示坐標關係202
12.5實例——手把手講解12864液晶203
12.5.1並行方式控制12864顯示203
12.5.2串列方式控制12864顯示210
第13章存儲晶片AT24C02216
13.1AT24C02簡介216
13.2AT24C02內部結構217
13.3AT24C02基本時序分析(I2C協定)218
13.4AT24C02的地址傳送和數據傳送基本規則221
13.5讀/寫操作時序222
13.6實例——手把手講解控制AT24C02進行數據的存取223
第14章溫度感測器DS18B20233
14.1DS18B20簡介233
14.2DS18B20的內部結構234
14.3DS18B20的命令236
14.4工作時序分析(1WIRE協定)238
14.5實例——手把手講解利用DS18B20測溫度並在數碼管顯示240
第15章時鐘晶片DS1302246
15.1DS1302簡介246
15.2DS1302的暫存器248
15.3DS1302的控制字和數據讀/寫250
15.4實例——手把手講解控制DS1302在1602上
顯示日期和時間251
第16章模/數(數/模)轉換晶片PCF8591258
16.1PCF8591簡介258
16.2PCF8591晶片控制260
16.2.1PCF8951的地址260
16.2.2PCF8951的控制字260
16.2.3A/D轉換261
16.2.4D/A轉換262
16.2.5參考電壓和振盪器263
16.2.6PCF8591晶片讀/寫時序263
16.3實例——手把手講解PCF8591264
第17章電機269
17.1直流電機269
17.1.1直流電機簡介269
17.1.2直流電機的結構和工作原理269
17.1.3直流電機的參數271
17.1.4如何控制直流電機271
17.1.5實例——手把手講解利用PWM驅動直流電機調速273
17.2步進電機276
17.2.1步進電機簡介276
17.2.2步進電機的技術指標278
17.2.3步進電機的主要特性和特點279
17.2.4步進電機的工作原理279
17.2.5實例——手把手講解步進電機281
17.3舵機289
17.3.1舵機簡介289
17.3.2實例——手把手講解舵機290
第18章紅外線發射和接收294
18.1紅外線簡介294
18.2實例——手把手講解紅外線發射與接收295
18.3實例——手把手講解紅外線避障299
18.4紅外線遙控解碼實驗303
18.4.1NEC編碼簡介303
18.4.2紅外遙控器解碼304
18.5實例——手把手講解紅外線遙控器解碼305
第19章2.4 GHz無線通信晶片nRF24L01310
19.1nRF24L01晶片簡介310
19.2nRF24L01的功能描述311
19.2.1工作模式311
19.2.2nRF24L01收發模式312
19.2.3收發過程中的重要概念314
19.2.4配置字316
19.2.5nRF24L01的一幀數據形式320
19.3實例——手把手講解nRF24L01321
第20章超音波測距330
20.1超音波測距原理330
20.1.1超音波簡介330
20.1.2超音波測距原理331
20.2超音波測距電路圖332
20.2.1常用發射和接收電路332
20.2.2超音波測距模組334
20.3實例——手把手講解超音波測距336
第21章蜂鳴器和語音晶片340
21.1蜂鳴器340
21.1.1蜂鳴器的分類340
21.1.2蜂鳴器驅動電路341
21.2實例——手把手講解蜂鳴器每隔1 s間斷髮聲342
21.3語音晶片ISD4004343
21.3.1ISD4004晶片簡介344
21.3.2單片機利用SPI協定控制ISD4004晶片346
21.4實例——手把手講解ISD4004做公交報站系統350
第22章FM收音機359
22.1TEA5767晶片簡介359
22.2TEA5767晶片的匯流排接口和控制暫存器363
22.3FM收音機模組367
22.4實例——手把手講解TEA5767晶片播放收音機電台368
第23章彩色液晶屏377
23.1彩色液晶屏簡介377
23.2彩色液晶屏的種類378
23.3彩色液晶屏的參數379
23.4TFT液晶的構成380
23.5TFT液晶的顯示原理382
23.6ILI9341驅動晶片383
23.6.1ILI9341驅動晶片簡介383
23.6.2ILI9341驅動晶片引腳384
23.6.3基本操作時序385
23.6.4顯示部分原理387
23.6.5指令講解390
23.7觸摸晶片XPT2046394
23.8實例——手把手講解2.4寸TFT彩屏液晶397
參考文獻420
1.1單片機的傳奇三十年1
1.2單片機初學者疑問3
1.38051單片機的封裝和引腳4
1.48051單片機的內部結構7
1.4.1CPU8
1.4.2存儲器結構10
1.4.3內部重要模組12
1.4.4復位和周期12
1.5學習單片機的必備基礎知識13
1.5.1數制13
1.5.2數制間轉換15
1.5.3邏輯電平16
1.5.4二進制的邏輯運算16
1.6適合初學者學習的51單片機18
1.7實驗平台簡介19
1.7.1HOT51單片機實驗板簡介19
1.7.2HOT51單片機實驗板板載資源20
第2章Keil軟體使用和Keil C51介紹22
2.1Keil入門22
2.1.1Keil工程的創建22
2.1.2編寫程式24
2.1.3用Keil進行調試/仿真程式27
2.2Keil C51的基本知識34
2.2.1常量與變數34
2.2.2Keil C51的數據類型35
2.2.3C51的運算符38
2.2.4C51的基礎語句42
2.2.5數組46
2.2.6指針48
2.2.7C51的中斷子程式49
第3章LED50
3.1LED簡介50
3.2實例——手把手講解LED53
3.2.1同時點亮多個LED54
3.2.2單燈閃爍57
3.2.3花樣燈閃爍58
3.2.412個LED燈順時針點亮59
3.2.5交通燈實驗61
第4章數碼管63
4.1怎樣才能點亮數碼管63
4.2數碼管的驅動電路66
4.2.1數碼管的基本驅動電路66
4.2.2驅動8位數碼管67
4.3實例——手把手講解數碼管69
4.3.1共陰極數碼管靜態顯示69
4.3.2共陰極數碼管動態顯示71
4.3.3數碼管鎖存實驗73
4.3.4數碼管顯示數據自加75
4.3.5數碼管顯示英文並滾動顯示76
第5章LED點陣79
5.1認識LED點陣79
5.2實例——手把手講解8×8點陣82
5.2.1在8×8 LED點陣上顯示“心”型82
5.2.2在8×8 LED點陣上從0顯示到985
5.2.3在8×8 LED點陣上顯示箭頭形狀並移動86
5.316×16 LED點陣模組88
5.3.116×16 LED點陣模組電路圖88
5.3.2實例——手把手講解16×16 LED點陣模組顯示漢字92
第6章按鍵97
6.1按鍵簡介97
6.2實例——手把手講解獨立按鍵98
6.2.1獨立按鍵控制LED燈和8×8 LED點陣顯示99
6.2.2獨立按鍵控制數碼管顯示數據加減103
6.2.3獨立按鍵的多種擊鍵方式105
6.3實例——手把手講解矩陣鍵盤109
第7章MCS51中斷系統114
7.1MCS51的中斷系統簡介114
7.2中斷允許暫存器IE116
7.3中斷優先權暫存器IP117
7.4定時/計數器控制暫存器TCON118
7.5外部中斷系統的初始化過程119
7.6實例——手把手講解外部中斷INT0和INT1的使用120
第8章MCS51定時/計數器125
8.1定時/計數器簡介125
8.1.1定時/計數器的暫存器127
8.1.2定時/計數器的4種工作方式128
8.1.3計數暫存器初值的計算130
8.1.4定時/計數器的初始化步驟131
8.2AT89S52的定時/計數器T2131
8.3實例——手把手講解定時/計數器135
8.3.1定時器0的工作方式0135
8.3.2定時器0的工作方式1138
8.3.3定時器0的工作方式2139
8.3.4定時器2的使用141
8.3.5用定時器設計時鐘程式142
第9章MCS51的串列通信148
9.1串列通信基礎148
9.2MCS51的串列口152
9.2.1串列口控制暫存器SCON153
9.2.2串列口的工作方式 154
9.2.3串列通信4種方式波特率的計算157
9.3實例——手把手講解串口通信158
9.3.1串列口方式0傳送數據給74HC164控制LED燈158
9.3.2串列口方式1傳送數據到計算機161
9.3.3串列口方式1從計算機接收數據166
9.3.4兩個單片機之間進行串列口通信168
第10章單片機的看門狗和電源控制177
10.1單片機看門狗177
10.2實例——手把手講解看門狗178
10.2.1AT89S52的看門狗178
10.2.2STC89C52RC的看門狗180
10.3單片機的電源控制181
10.4實例——手把手講解電源控制182
第11章1602液晶185
11.11602液晶簡介185
11.21602液晶的指令187
11.31602液晶時序188
11.4實例——手把手講解1602液晶顯示字元189
第12章12864液晶196
12.112864液晶簡介196
12.212864液晶指令197
12.2.1基本指令集198
12.2.2擴充指令集200
12.312864液晶讀/寫時序201
12.4顯示坐標關係202
12.5實例——手把手講解12864液晶203
12.5.1並行方式控制12864顯示203
12.5.2串列方式控制12864顯示210
第13章存儲晶片AT24C02216
13.1AT24C02簡介216
13.2AT24C02內部結構217
13.3AT24C02基本時序分析(I2C協定)218
13.4AT24C02的地址傳送和數據傳送基本規則221
13.5讀/寫操作時序222
13.6實例——手把手講解控制AT24C02進行數據的存取223
第14章溫度感測器DS18B20233
14.1DS18B20簡介233
14.2DS18B20的內部結構234
14.3DS18B20的命令236
14.4工作時序分析(1WIRE協定)238
14.5實例——手把手講解利用DS18B20測溫度並在數碼管顯示240
第15章時鐘晶片DS1302246
15.1DS1302簡介246
15.2DS1302的暫存器248
15.3DS1302的控制字和數據讀/寫250
15.4實例——手把手講解控制DS1302在1602上
顯示日期和時間251
第16章模/數(數/模)轉換晶片PCF8591258
16.1PCF8591簡介258
16.2PCF8591晶片控制260
16.2.1PCF8951的地址260
16.2.2PCF8951的控制字260
16.2.3A/D轉換261
16.2.4D/A轉換262
16.2.5參考電壓和振盪器263
16.2.6PCF8591晶片讀/寫時序263
16.3實例——手把手講解PCF8591264
第17章電機269
17.1直流電機269
17.1.1直流電機簡介269
17.1.2直流電機的結構和工作原理269
17.1.3直流電機的參數271
17.1.4如何控制直流電機271
17.1.5實例——手把手講解利用PWM驅動直流電機調速273
17.2步進電機276
17.2.1步進電機簡介276
17.2.2步進電機的技術指標278
17.2.3步進電機的主要特性和特點279
17.2.4步進電機的工作原理279
17.2.5實例——手把手講解步進電機281
17.3舵機289
17.3.1舵機簡介289
17.3.2實例——手把手講解舵機290
第18章紅外線發射和接收294
18.1紅外線簡介294
18.2實例——手把手講解紅外線發射與接收295
18.3實例——手把手講解紅外線避障299
18.4紅外線遙控解碼實驗303
18.4.1NEC編碼簡介303
18.4.2紅外遙控器解碼304
18.5實例——手把手講解紅外線遙控器解碼305
第19章2.4 GHz無線通信晶片nRF24L01310
19.1nRF24L01晶片簡介310
19.2nRF24L01的功能描述311
19.2.1工作模式311
19.2.2nRF24L01收發模式312
19.2.3收發過程中的重要概念314
19.2.4配置字316
19.2.5nRF24L01的一幀數據形式320
19.3實例——手把手講解nRF24L01321
第20章超音波測距330
20.1超音波測距原理330
20.1.1超音波簡介330
20.1.2超音波測距原理331
20.2超音波測距電路圖332
20.2.1常用發射和接收電路332
20.2.2超音波測距模組334
20.3實例——手把手講解超音波測距336
第21章蜂鳴器和語音晶片340
21.1蜂鳴器340
21.1.1蜂鳴器的分類340
21.1.2蜂鳴器驅動電路341
21.2實例——手把手講解蜂鳴器每隔1 s間斷髮聲342
21.3語音晶片ISD4004343
21.3.1ISD4004晶片簡介344
21.3.2單片機利用SPI協定控制ISD4004晶片346
21.4實例——手把手講解ISD4004做公交報站系統350
第22章FM收音機359
22.1TEA5767晶片簡介359
22.2TEA5767晶片的匯流排接口和控制暫存器363
22.3FM收音機模組367
22.4實例——手把手講解TEA5767晶片播放收音機電台368
第23章彩色液晶屏377
23.1彩色液晶屏簡介377
23.2彩色液晶屏的種類378
23.3彩色液晶屏的參數379
23.4TFT液晶的構成380
23.5TFT液晶的顯示原理382
23.6ILI9341驅動晶片383
23.6.1ILI9341驅動晶片簡介383
23.6.2ILI9341驅動晶片引腳384
23.6.3基本操作時序385
23.6.4顯示部分原理387
23.6.5指令講解390
23.7觸摸晶片XPT2046394
23.8實例——手把手講解2.4寸TFT彩屏液晶397
參考文獻420