第1章單片機(jī)高效入門1
1.1單片機(jī)簡介1
1.1.1認(rèn)識單片機(jī)1
1.1.2單片機(jī)的用途2
1.1.3典型芯片與C語言介紹2
1.1.4本書的配套實(shí)驗(yàn)板及相關(guān)學(xué)習(xí)工具介紹4
1.2點(diǎn)亮一個發(fā)光二極管13
1.2.1單片機(jī)型號命名規(guī)則13
1.2.2單片機(jī)引腳功能說明14
1.2.3制作一個最簡單的單片機(jī)實(shí)驗(yàn)電路20
1.2.4使用KeilμVision3環(huán)境編寫最簡單的程序21
1.2.5ISP下載程序到單片機(jī)26
1.2.6程序解釋27
1.3Keil仿真29
1.3.1軟件仿真29
1.3.2硬件仿真36
1.4經(jīng)典流水燈實(shí)例38
1.5單片機(jī)C語言延時(shí)程序詳解40
1.5.1學(xué)會使用計(jì)算軟件40
1.5.2計(jì)算軟件內(nèi)部運(yùn)算過程詳解42
1.5.3利用庫函數(shù)實(shí)現(xiàn)短暫精確延時(shí)47
1.5.4使用定時(shí)器/計(jì)數(shù)器實(shí)現(xiàn)精確延時(shí)48
1.6main()、void main()和int main()的區(qū)別48
1.7printf格式化輸出函數(shù)49
第2章單片機(jī)開發(fā)必須掌握的C語言基礎(chǔ)53
2.1簡單數(shù)據(jù)類型與運(yùn)算符53
2.1.1原碼、反碼、補(bǔ)碼、BCD碼和格雷碼54
2.1.2常量58
2.1.3變量的數(shù)據(jù)類型(bit、char、int、long、float)58
2.1.4變量的存儲空間(code、data、bdata、idata、xdata)67
2.1.5變量的存儲類型(auto、static、extern)68
2.1.6變量的作用域71
2.1.7運(yùn)算符72
2.1.8運(yùn)算符的優(yōu)先級與結(jié)合性78
2.2C51構(gòu)造數(shù)據(jù)類型80
2.2.1數(shù)組80
2.2.2結(jié)構(gòu)體82
2.2.3共用體85
2.2.4指針86
2.2.5#define與typedef的區(qū)別90
2.3流程與控制92
2.3.1分支結(jié)構(gòu)92
2.3.2循環(huán)結(jié)構(gòu)94
2.3.3跳轉(zhuǎn)結(jié)構(gòu)95
2.4函數(shù)97
2.4.1函數(shù)定義97
2.4.2調(diào)用格式98
2.4.3傳值調(diào)用與傳地址調(diào)用的對比98
2.4.4數(shù)組作為函數(shù)參數(shù)99
2.4.5使用指針變量作為函數(shù)形式參數(shù)100
2.4.6使用結(jié)構(gòu)體變量指針作為函數(shù)參數(shù)100
2.4.7函數(shù)作用域 101
2.4.8庫函數(shù)101
2.5模塊化編程102
2.5.1頭文件的編寫102
2.5.2條件編譯102
2.5.3多文件程序(模塊化編程)103
2.6關(guān)鍵字volatile與代碼調(diào)試小技巧105
目錄51單片機(jī)輕松入門——基于STC15W4K系列(C語言版)(第2版)第3章定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)106
3.1定時(shí)器/計(jì)數(shù)器106
3.1.1單片機(jī)定時(shí)器/計(jì)數(shù)器工作原理概述106
3.1.2定時(shí)器/計(jì)數(shù)器的相關(guān)寄存器107
3.1.3定時(shí)器/計(jì)數(shù)器的工作方式110
3.1.4初值計(jì)算113
3.1.5編程舉例114
3.2可編程時(shí)鐘輸出117
3.3中斷系統(tǒng)122
3.3.1中斷系統(tǒng)結(jié)構(gòu)圖122
3.3.2操作電路圖中的開關(guān)(相關(guān)寄存器介紹)122
3.3.3編寫中斷函數(shù)126
3.3.4中斷程序舉例127
3.3.5外部中斷代碼調(diào)試(按鍵的防抖技術(shù))131
第4章串口通信133
4.1最基本的串口通信133
4.1.1串口數(shù)據(jù)發(fā)送格式134
4.1.2串口相關(guān)的寄存器135
4.1.3波特率的計(jì)算步驟140
4.1.4單片機(jī)與計(jì)算機(jī)通信的簡單例子142
4.2徹底理解串口通信協(xié)議146
4.3串口隔離電路151
4.4計(jì)算機(jī)擴(kuò)展串口(USB轉(zhuǎn)串口芯片CH340G)153
4.5RS485串行通信157
4.6SSI通信160
4.6.1SSI數(shù)據(jù)通信格式160
4.6.2SSI硬件電路161
4.6.3SSI軟件實(shí)現(xiàn)162
4.7數(shù)據(jù)通信中的錯誤校驗(yàn)165
4.7.1校驗(yàn)和(CheckSum)與重要的串口通信實(shí)例165
4.7.2CRC校驗(yàn)168
4.8單片機(jī)向計(jì)算機(jī)發(fā)送多種格式的數(shù)據(jù)172
第5章SPI通信177
5.1SPI總線數(shù)據(jù)傳輸格式177
5.1.1接口定義177
5.1.2傳輸格式178
5.2SPI接口相關(guān)的寄存器179
5.2.1SPI相關(guān)的特殊功能寄存器179
5.2.2SPI接口引腳切換183
5.3SPI接口運(yùn)用舉例183
第6章I2C通信193
6.1I2C總線數(shù)據(jù)傳輸格式193
6.1.1各位傳輸要求193
6.1.2多字節(jié)傳輸格式196
6.2程序模塊功能測試200
6.2.1硬件仿真觀察24C02讀/寫結(jié)果(R/C時(shí)鐘:22.118 4 MHz)200
6.2.2硬件仿真觀察24C32/64讀/寫結(jié)果(R/C時(shí)鐘:22.118 4 MHz)207
6.2.3硬件仿真觀察24C512讀/寫結(jié)果(R/C時(shí)鐘:22.118 4 MHz)210
6.324C02運(yùn)用實(shí)例(斷電瞬間存儲整數(shù)或浮點(diǎn)數(shù))210
第7章單片機(jī)內(nèi)部比較器與DataFlash存儲器217
7.1STC15W系列單片機(jī)內(nèi)部比較器217
7.1.1比較器結(jié)構(gòu)圖217
7.1.2寄存器說明217
7.1.3電路講解與程序?qū)嵗?19
7.2DataFlash存儲器220
7.2.1與DataFlash操作有關(guān)的寄存器介紹221
7.2.2DataFlash操作實(shí)例(斷電瞬間存儲數(shù)據(jù))223
第8章可編程計(jì)數(shù)陣列CCP/PCA/PWM模塊(可用作DAC)229
8.1PCA模塊總體結(jié)構(gòu)圖 229
8.2PCA模塊的特殊功能寄存器230
8.3PCA模塊的工作模式與應(yīng)用舉例233
第9章模/數(shù)轉(zhuǎn)換器ADC244
9.1ADC的主要技術(shù)指標(biāo)244
9.2使用單片機(jī)內(nèi)部的10位ADC246
9.2.1與ADC相關(guān)的特殊功能寄存器246
9.2.2實(shí)例代碼248
9.312位ADC轉(zhuǎn)換芯片MCP3202B250
9.4單通道16位ADC轉(zhuǎn)換芯片ADS1110A0256
9.5單通道18位ADC轉(zhuǎn)換芯片MCP3421A0TE/CH256
第10章數(shù)/模轉(zhuǎn)換器DAC261
10.1TLC5615數(shù)/模轉(zhuǎn)換電路與基本測試程序261
10.2TLC5615產(chǎn)生鋸齒波、正弦波、三角波264
10.3TLC5615的高級運(yùn)用(播放歌曲)268
第11章單片機(jī)實(shí)用小知識272
11.1復(fù)位272
11.1.1外部RST引腳復(fù)位272
11.1.2軟件復(fù)位273
11.1.3內(nèi)部低壓檢測復(fù)位273
11.1.4看門狗定時(shí)器復(fù)位274
11.2單片機(jī)的低功耗設(shè)計(jì)275
11.2.1相關(guān)寄存器說明275
11.2.2應(yīng)用舉例278
11.3單片機(jī)擴(kuò)展32 KB外部數(shù)據(jù)存儲器62C256279
11.3.1電路講解280
11.3.2軟件測試實(shí)例281
第12章常用單片機(jī)接口程序284
12.1數(shù)碼管靜態(tài)顯示284
12.2數(shù)碼管動態(tài)顯示288
12.3獨(dú)立鍵盤292
12.4矩陣鍵盤300
第13章1602液晶308
13.11602液晶外形與電路圖308
13.21602液晶應(yīng)用舉例309
13.31602液晶顯示漢字與特殊符號313
13.4使用中文液晶屏315
第14章精密電壓表/電流表/通用顯示器/計(jì)數(shù)器的制作317
14.1功能說明與電路原理分析317
14.2程序?qū)嵗?20
14.2.1通用顯示器功能檢測程序(外部程序)320
14.2.2計(jì)數(shù)器功能檢測程序(外部程序)321
14.2.3模塊程序321
第15章步進(jìn)電機(jī)測試326
15.1步進(jìn)電機(jī)的特點(diǎn)326
15.2步進(jìn)電機(jī)的3種勵磁方式327
15.3步進(jìn)電機(jī)驅(qū)動電路328
15.4步進(jìn)電機(jī)驅(qū)動實(shí)例329
15.5步進(jìn)電機(jī)專用驅(qū)動器介紹 331
第16章頻率檢測334
16.1頻率檢測的用途與頻率定義334
16.2頻率檢測實(shí)例335
第17章DS1302時(shí)鐘芯片340
17.1DS1302的SPI數(shù)據(jù)通信格式340
17.2程序?qū)嵗?42
第18章紅外通信346
18.1紅外通信電路與基本原理346
18.2紅外接收軟件實(shí)例349
第19章單總線DS18B20通信(長距離無線通信)355
19.1DS18B20運(yùn)用基礎(chǔ)355
19.1.1單只DS18B20的溫度檢測電路355
19.1.2DS18B20的通信時(shí)序355
19.1.3DS18B20內(nèi)部功能部件ROM、RAM和指令集358
19.1.4讀取溫度步驟360
19.2單只DS18B20的溫度檢測361
19.3多只DS18B20的溫度檢測366
19.3.1讀取傳感器代碼366
19.3.2讀取傳感器溫度367
第20章SD卡與znFAT文件系統(tǒng)371
20.1認(rèn)識SD卡與SD卡驅(qū)動程序371
20.1.1認(rèn)識SD卡371
20.1.2電路講解373
20.1.3通信時(shí)序與完整驅(qū)動程序說明373
20.2znFAT文件系統(tǒng)382
20.2.1znFAT的移植方法382
20.2.2znFAT移植實(shí)例386
第21章MP3播放器實(shí)驗(yàn)388
21.1MP3的介紹與電路講解388
21.1.1VS1003B引腳說明389
21.1.2VS1003寄存器390
21.2正弦測試392
21.3通過SD卡播放MP3文件395
第22章數(shù)字存儲示波器技巧與邏輯分析儀的操作399
22.1測量直流電源開關(guān)機(jī)瞬間輸出的毛刺浪涌399
22.2測量稍縱即逝的紅外發(fā)射信號403
22.3精確測量直流電源紋波405
22.4示波器帶寬選用依據(jù)407
22.5邏輯分析儀概述408
22.6線束和測試夾409
22.7邏輯分析儀軟件的安裝409
22.8采集數(shù)據(jù)和分析儀設(shè)置413
22.8.1演示模式413
22.8.2采集數(shù)據(jù)413
22.8.3邏輯分析儀設(shè)置414
22.9導(dǎo)航數(shù)據(jù)(縮放、平移、重排、隱藏等)415
22.9.1放大和縮小415
22.9.2左右平移415
22.9.3數(shù)字邊緣跳躍416
22.9.4調(diào)整窗口大小417
22.9.5使用標(biāo)簽418
22.9.6重新排列通道419
22.9.7改變通道信號高度420
22.9.8隱藏通道420
22.10測量、時(shí)間標(biāo)記和書簽421
22.10.1數(shù)字測量421
22.10.2使用注釋422
22.10.3使用時(shí)間標(biāo)記422
22.10.4添加多個時(shí)間標(biāo)記423
22.10.5快速顯示任意兩點(diǎn)間時(shí)間(持久顯示)424
22.11使用書簽426
22.12使用協(xié)議分析器427
22.13在波形的指定點(diǎn)啟動分析器430
22.14查看協(xié)議分析器結(jié)果431
22.15導(dǎo)出分析結(jié)果432
22.16保存和加載波形433
22.17使用觸發(fā)433
22.17.1邊沿觸發(fā)433
22.17.2脈沖寬度觸發(fā)435
22.18鍵盤快捷鍵435
附錄ASCII碼表436
參考文獻(xiàn) 438