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