第1篇知識(shí)準(zhǔn)備篇
第1章單片機(jī)概述2
1.1什么是單片機(jī)2
1.2單片機(jī)的發(fā)展3
1.3單片機(jī)的特點(diǎn)4
1.4單片機(jī)的用途5
1.5如何學(xué)習(xí)單片機(jī)5
1.6練習(xí)題6
第2章開發(fā)準(zhǔn)備7
2.1開發(fā)環(huán)境7
2.1.1硬件連接7
2.1.2下載器驅(qū)動(dòng)安裝8
2.1.3程序下載軟件安裝與使用12
2.1.4集成開發(fā)環(huán)境安裝與使用18
2.2開發(fā)流程23
2.2.1Keil C51工程創(chuàng)建及程序編譯23
2.2.2程序運(yùn)行31
2.3開發(fā)語言35
2.3.1C51與標(biāo)準(zhǔn)C語言36
2.3.2C51的數(shù)據(jù)類型36
2.3.3C51常用頭文件39
2.4練習(xí)題39
第3章硬件基礎(chǔ)知識(shí)41
3.1LY51S開發(fā)板簡介41
3.2板載元器件42
3.2.1電子元器件42
3.2.2集成電路49
3.2.3接插件50
3.2.4導(dǎo)線51
3.3練習(xí)題51
第4章單片機(jī)基本原理52
4.1MCS51單片機(jī)基本特性52
4.2單片機(jī)內(nèi)部結(jié)構(gòu)53
4.3單片機(jī)外部引腳54
4.3.1單片機(jī)外部引腳圖54
4.3.2單片機(jī)引腳分類55
4.4單片機(jī)時(shí)序57
4.5單片機(jī)最小系統(tǒng)58
4.6單片機(jī)存儲(chǔ)器結(jié)構(gòu)62
4.6.1程序存儲(chǔ)器62
4.6.2數(shù)據(jù)存儲(chǔ)器63
4.7練習(xí)題68
第5章I/O端口70
5.1單片機(jī)的I/O端口70
5.1.1I/O端口概述70
5.1.2I/O端口基本原理71
5.1.3I/O端口基本操作72
5.2端口輸出控制——發(fā)光二極管74
5.2.1案例51:點(diǎn)亮一個(gè)發(fā)光二極管76
5.2.2案例52:發(fā)光二極管流水顯示80
5.2.3拓展項(xiàng)目:花樣流水燈83
5.3端口輸出控制——數(shù)碼管84
5.3.1數(shù)碼管結(jié)構(gòu)與顯示原理84
5.3.2數(shù)碼管靜態(tài)顯示驅(qū)動(dòng)86
5.3.3案例53:獨(dú)立共陽數(shù)碼管循環(huán)顯示0~989
5.3.4數(shù)碼管動(dòng)態(tài)顯示驅(qū)動(dòng)90
5.3.5案例54:8位數(shù)碼管同時(shí)顯示0~793
5.3.6拓展項(xiàng)目:數(shù)碼管顯示動(dòng)態(tài)數(shù)據(jù)96
5.4端口輸入控制——獨(dú)立按鍵96
5.4.1獨(dú)立按鍵的連接方式97
5.4.2獨(dú)立按鍵的檢測原理98
5.4.3按鍵去抖及按鍵處理流程99
5.4.4案例55:搶答器101
5.4.5拓展項(xiàng)目:獨(dú)立按鍵長按、短按效果102
5.5端口輸入控制——矩陣鍵盤103
5.5.1矩陣鍵盤的連接方式103
5.5.2矩陣鍵盤的檢測原理104
5.5.3案例56:矩陣鍵盤鍵號LED顯示105
5.5.4拓展項(xiàng)目:矩陣鍵盤密碼鎖110
5.6練習(xí)題111
第6章外部中斷113
6.1中斷系統(tǒng)概述113
6.1.1中斷原理113
6.1.2中斷的作用114
6.1.3中斷應(yīng)實(shí)現(xiàn)的功能114
6.1.4中斷相關(guān)概念115
6.2單片機(jī)中斷資源116
6.2.1中斷源及入口地址116
6.2.2中斷控制及設(shè)置117
6.3C51中斷處理函數(shù)的編寫119
6.4外部中斷編程實(shí)戰(zhàn)121
6.4.1案例61:獨(dú)立按鍵控制LED狀態(tài)轉(zhuǎn)換121
6.4.2拓展項(xiàng)目:按鍵改變流水燈的流水方向124
6.5練習(xí)題125
第7章定時(shí)/計(jì)數(shù)器127
7.1定時(shí)/計(jì)數(shù)器簡介127
7.2定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)及相關(guān)寄存器127
7.2.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)127
7.2.2定時(shí)/計(jì)數(shù)器的相關(guān)寄存器128
7.3定時(shí)/計(jì)數(shù)器的工作原理129
7.3.1定時(shí)功能129
7.3.2計(jì)數(shù)功能131
7.4定時(shí)/計(jì)數(shù)器的工作方式131
7.4.1方式0131
7.4.2方式1131
7.4.3方式2132
7.4.4方式3132
7.5定時(shí)/計(jì)數(shù)器編程實(shí)戰(zhàn)133
7.5.1定時(shí)/計(jì)數(shù)器的程序設(shè)計(jì)流程133
7.5.2案例71:按鍵10次翻轉(zhuǎn)LED狀態(tài) 133
7.5.3案例72:發(fā)光二極管定時(shí)閃爍135
7.5.4案例73:定時(shí)器產(chǎn)生任意占空比PWM139
7.5.5拓展項(xiàng)目:發(fā)光二極管定時(shí)流水顯示141
7.6練習(xí)題142
第8章串口通信144
8.1串口通信概述144
8.1.1通信的基本概念144
8.1.2串行通信的工作方式145
8.1.3串行通信的時(shí)鐘及傳輸速率145
8.1.4串行通信協(xié)議146
8.2串口通信接口電路原理148
8.351單片機(jī)串口結(jié)構(gòu)及相關(guān)寄存器151
8.3.1串口的結(jié)構(gòu)151
8.3.2串口的相關(guān)寄存器152
8.4串口的工作方式及波特率設(shè)置154
8.4.1方式0154
8.4.2方式1155
8.4.3方式2和方式3156
8.4.4波特率設(shè)置158
8.5串口應(yīng)用編程實(shí)戰(zhàn)159
8.5.1串口應(yīng)用的程序設(shè)計(jì)流程159
8.5.2案例81:串口擴(kuò)展并行輸出流水燈顯示160
8.5.3案例82:雙機(jī)通信單字符收發(fā)164
8.5.4拓展項(xiàng)目:字符串收發(fā)168
8.6練習(xí)題170
第3篇進(jìn)階功能篇
第9章繼電器173
9.1什么是繼電器173
9.2繼電器的結(jié)構(gòu)及工作原理174
9.3繼電器的驅(qū)動(dòng)電路175
9.4繼電器編程實(shí)戰(zhàn)176
9.4.1繼電器的程序設(shè)計(jì)流程176
9.4.2案例91:繼電器狀態(tài)切換及LED顯示176
9.5練習(xí)題178
第10章蜂鳴器179
10.1什么是蜂鳴器179
10.2蜂鳴器的結(jié)構(gòu)原理179
10.3蜂鳴器的驅(qū)動(dòng)電路180
10.4蜂鳴器編程實(shí)戰(zhàn)181
10.4.1蜂鳴器的程序設(shè)計(jì)流程181
10.4.2案例101:蜂鳴器模擬救護(hù)車聲音181
10.5練習(xí)題183
第11章步進(jìn)電機(jī)184
11.1什么是步進(jìn)電機(jī)184
11.1.1步進(jìn)電機(jī)簡介184
11.1.2步進(jìn)電機(jī)分類185
11.2步進(jìn)電機(jī)的硬件結(jié)構(gòu)186
11.2.1步進(jìn)電機(jī)硬件結(jié)構(gòu)186
11.2.2步進(jìn)電機(jī)術(shù)語解釋186
11.2.3步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)原理187
11.3步進(jìn)電機(jī)的驅(qū)動(dòng)方式187
11.4步進(jìn)電機(jī)控制編程實(shí)戰(zhàn)189
11.4.1步進(jìn)電機(jī)的程序設(shè)計(jì)189
11.4.2案例111:電機(jī)正轉(zhuǎn)反轉(zhuǎn)190
11.4.3案例112:按鍵控制步進(jìn)電機(jī)正反轉(zhuǎn)192
11.5練習(xí)題193
第12章直流電機(jī)195
12.1什么是直流電機(jī)195
12.2直流電機(jī)的原理及分類195
12.2.1直流電機(jī)的原理195
12.2.2直流電機(jī)的分類197
12.3直流電機(jī)的驅(qū)動(dòng)方式198
12.4直流電機(jī)編程實(shí)戰(zhàn)199
12.4.1案例121:直流電機(jī)按鍵控制199
12.4.2案例122:直流電機(jī)PWM調(diào)速201
12.5練習(xí)題204
第13章舵機(jī)205
13.1什么是舵機(jī)205
13.2舵機(jī)的工作原理206
13.3舵機(jī)的角度控制原理206
13.4舵機(jī)編程實(shí)戰(zhàn)207
13.4.1舵機(jī)的程序設(shè)計(jì)流程207
13.4.2案例131:按鍵調(diào)節(jié)舵機(jī)轉(zhuǎn)角207
13.5練習(xí)題210
第14章1602液晶211
14.1概述211
14.21602液晶的基本原理及控制方式212
14.2.11602液晶的引腳結(jié)構(gòu)212
14.2.21602液晶的顯示內(nèi)容213
14.2.31602液晶的控制方式214
14.31602液晶編程實(shí)戰(zhàn)216
14.3.11602液晶模塊的程序設(shè)計(jì)流程216
14.3.2案例141:1602液晶滾動(dòng)顯示字符串217
14.4練習(xí)題221
第15章雙色點(diǎn)陣屏222
15.1雙色點(diǎn)陣的基本原理222
15.2雙色點(diǎn)陣的驅(qū)動(dòng)芯片224
15.3雙色點(diǎn)陣的硬件連線225
15.4雙色點(diǎn)陣編程實(shí)戰(zhàn)225
15.4.1雙色點(diǎn)陣的控制流程225
15.4.2案例151:雙色點(diǎn)陣顯示特定圖形226
15.5練習(xí)題230
第16章模數(shù)/數(shù)模轉(zhuǎn)換231
16.1模數(shù)/數(shù)模轉(zhuǎn)換原理231
16.2ADC轉(zhuǎn)換類型及應(yīng)用232
16.3DAC轉(zhuǎn)換類型及應(yīng)用234
16.4練習(xí)題235
第17章紅外收發(fā)236
17.1紅外接收與編解碼定義236
17.2紅外接收原理237
17.3紅外發(fā)射原理238
17.4紅外收發(fā)編程實(shí)戰(zhàn)238
17.4.1紅外收發(fā)的程序設(shè)計(jì)思路238
17.4.2案例171:紅外解碼液晶屏顯示238
17.5練習(xí)題243
第4篇總線協(xié)議篇
第18章I2C總線與E2PROM(24C02)245
18.1I2C總線概述245
18.2I2C通信協(xié)議247
18.2.1I2C通信協(xié)議247
18.2.2單片機(jī)模擬I2C總線247
18.3E2PROM 24C02應(yīng)用概述248
18.3.124C02芯片簡介248
18.3.224C02硬件原理與連接248
18.3.324C02存儲(chǔ)結(jié)構(gòu)與尋址249
18.3.424C02讀/寫操作時(shí)序250
18.4PCF8591模擬采集與輸出251
18.4.1PCF8591芯片簡介251
18.4.2PCF8591硬件原理及連接252
18.4.3PCF8591尋址及功能選擇253
18.5I2C總線應(yīng)用編程實(shí)戰(zhàn)254
18.5.1I2C總線應(yīng)用程序設(shè)計(jì)流程254
18.5.2案例181:24C02記憶開機(jī)次數(shù)255
18.5.3案例182:PCF8591的一路AD數(shù)碼管顯示261
18.5.4案例183:PCF8591 DA輸出模擬263
18.6練習(xí)題265
第19章SPI協(xié)議267
19.1SPI總線協(xié)議267
19.1.1SPI簡介267
19.1.2SPI通信模式268
19.2DS1302時(shí)鐘芯片269
19.3DS1302的引腳結(jié)構(gòu)及相關(guān)寄存器270
19.3.1DS1302的引腳結(jié)構(gòu)270
19.3.2DS1302的寄存器設(shè)置271
19.4SPI協(xié)議應(yīng)用編程實(shí)戰(zhàn)273
19.4.1SPI協(xié)議應(yīng)用的程序設(shè)計(jì)流程273
19.4.2案例191:DS1302時(shí)鐘顯示273
19.5練習(xí)題278
第20章1Wire總線279
20.1概述279
20.2DS18B20數(shù)字溫度傳感器280
20.2.1DS18B20傳感器特性280
20.2.2DS18B20的引腳結(jié)構(gòu)281
20.2.3DS18B20的硬件連接281
20.2.4DS18B20的內(nèi)部結(jié)構(gòu)282
20.2.5DS18B20的工作原理284
20.2.6DS18B20的工作時(shí)序288
20.2.7DS18B20使用中注意事項(xiàng)290
20.31Wire總線應(yīng)用編程實(shí)戰(zhàn)291
20.3.1DS18B20模塊的程序設(shè)計(jì)流程291
20.3.2案例201:溫度采集液晶顯示291
20.4練習(xí)題294
第5篇綜合實(shí)戰(zhàn)篇
第21章計(jì)算器296
21.1硬件需求296
21.2設(shè)計(jì)思路296
21.3編程實(shí)戰(zhàn)298
21.4運(yùn)行效果301
第22章串口測溫302
22.1硬件需求302
22.2設(shè)計(jì)思路302
22.3編程實(shí)戰(zhàn)302
22.4運(yùn)行效果304
第23章99分鐘倒計(jì)時(shí)器306
23.1硬件需求306
23.2設(shè)計(jì)思路306
23.3編程實(shí)戰(zhàn)308
23.4運(yùn)行效果312
附錄AASCII表314
附錄B進(jìn)制轉(zhuǎn)換表315
附錄CC51數(shù)據(jù)類型及運(yùn)算符316
參考文獻(xiàn)318