第1章單片機高效入門1
1.1單片機簡介1
1.1.1認識單片機1
1.1.2單片機的用途2
1.1.3典型芯片與C語言介紹2
1.1.4本書的配套實驗板及相關(guān)學(xué)習(xí)工具介紹4
1.2點亮一個發(fā)光二極管13
1.2.1單片機型號命名規(guī)則13
1.2.2單片機引腳功能說明14
1.2.3制作一個最簡單的單片機實驗電路20
1.2.4使用KeilμVision3環(huán)境編寫最簡單的程序21
1.2.5ISP下載程序到單片機26
1.2.6程序解釋27
1.3Keil仿真29
1.3.1軟件仿真29
1.3.2硬件仿真36
1.4經(jīng)典流水燈實例38
1.5單片機C語言延時程序詳解40
1.5.1學(xué)會使用計算軟件40
1.5.2計算軟件內(nèi)部運算過程詳解42
1.5.3利用庫函數(shù)實現(xiàn)短暫精確延時47
1.5.4使用定時器/計數(shù)器實現(xiàn)精確延時48
1.6main()、void main()和int main()的區(qū)別48
1.7printf格式化輸出函數(shù)49
第2章單片機開發(fā)必須掌握的C語言基礎(chǔ)53
2.1簡單數(shù)據(jù)類型與運算符53
2.1.1原碼、反碼、補碼、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運算符72
2.1.8運算符的優(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單片機輕松入門——基于STC15W4K系列(C語言版)(第2版)第3章定時器/計數(shù)器、中斷系統(tǒng)106
3.1定時器/計數(shù)器106
3.1.1單片機定時器/計數(shù)器工作原理概述106
3.1.2定時器/計數(shù)器的相關(guān)寄存器107
3.1.3定時器/計數(shù)器的工作方式110
3.1.4初值計算113
3.1.5編程舉例114
3.2可編程時鐘輸出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波特率的計算步驟140
4.1.4單片機與計算機通信的簡單例子142
4.2徹底理解串口通信協(xié)議146
4.3串口隔離電路151
4.4計算機擴展串口(USB轉(zhuǎn)串口芯片CH340G)153
4.5RS485串行通信157
4.6SSI通信160
4.6.1SSI數(shù)據(jù)通信格式160
4.6.2SSI硬件電路161
4.6.3SSI軟件實現(xiàn)162
4.7數(shù)據(jù)通信中的錯誤校驗165
4.7.1校驗和(CheckSum)與重要的串口通信實例165
4.7.2CRC校驗168
4.8單片機向計算機發(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接口運用舉例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時鐘:22.118 4 MHz)200
6.2.2硬件仿真觀察24C32/64讀/寫結(jié)果(R/C時鐘:22.118 4 MHz)207
6.2.3硬件仿真觀察24C512讀/寫結(jié)果(R/C時鐘:22.118 4 MHz)210
6.324C02運用實例(斷電瞬間存儲整數(shù)或浮點數(shù))210
第7章單片機內(nèi)部比較器與DataFlash存儲器217
7.1STC15W系列單片機內(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ù)據(jù))223
第8章可編程計數(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ù)指標244
9.2使用單片機內(nèi)部的10位ADC246
9.2.1與ADC相關(guān)的特殊功能寄存器246
9.2.2實例代碼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的高級運用(播放歌曲)268
第11章單片機實用小知識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看門狗定時器復(fù)位274
11.2單片機的低功耗設(shè)計275
11.2.1相關(guān)寄存器說明275
11.2.2應(yīng)用舉例278
11.3單片機擴展32 KB外部數(shù)據(jù)存儲器62C256279
11.3.1電路講解280
11.3.2軟件測試實例281
第12章常用單片機接口程序284
12.1數(shù)碼管靜態(tài)顯示284
12.2數(shù)碼管動態(tài)顯示288
12.3獨立鍵盤292
12.4矩陣鍵盤300
第13章1602液晶308
13.11602液晶外形與電路圖308
13.21602液晶應(yīng)用舉例309
13.31602液晶顯示漢字與特殊符號313
13.4使用中文液晶屏315
第14章精密電壓表/電流表/通用顯示器/計數(shù)器的制作317
14.1功能說明與電路原理分析317
14.2程序?qū)嵗?20
14.2.1通用顯示器功能檢測程序(外部程序)320
14.2.2計數(shù)器功能檢測程序(外部程序)321
14.2.3模塊程序321
第15章步進電機測試326
15.1步進電機的特點326
15.2步進電機的3種勵磁方式327
15.3步進電機驅(qū)動電路328
15.4步進電機驅(qū)動實例329
15.5步進電機專用驅(qū)動器介紹 331
第16章頻率檢測334
16.1頻率檢測的用途與頻率定義334
16.2頻率檢測實例335
第17章DS1302時鐘芯片340
17.1DS1302的SPI數(shù)據(jù)通信格式340
17.2程序?qū)嵗?42
第18章紅外通信346
18.1紅外通信電路與基本原理346
18.2紅外接收軟件實例349
第19章單總線DS18B20通信(長距離無線通信)355
19.1DS18B20運用基礎(chǔ)355
19.1.1單只DS18B20的溫度檢測電路355
19.1.2DS18B20的通信時序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認識SD卡與SD卡驅(qū)動程序371
20.1.1認識SD卡371
20.1.2電路講解373
20.1.3通信時序與完整驅(qū)動程序說明373
20.2znFAT文件系統(tǒng)382
20.2.1znFAT的移植方法382
20.2.2znFAT移植實例386
第21章MP3播放器實驗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)機瞬間輸出的毛刺浪涌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使用標簽418
22.9.6重新排列通道419
22.9.7改變通道信號高度420
22.9.8隱藏通道420
22.10測量、時間標記和書簽421
22.10.1數(shù)字測量421
22.10.2使用注釋422
22.10.3使用時間標記422
22.10.4添加多個時間標記423
22.10.5快速顯示任意兩點間時間(持久顯示)424
22.11使用書簽426
22.12使用協(xié)議分析器427
22.13在波形的指定點啟動分析器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
參考文獻 438