圖書信息
書 名: 單片機C語言程式設計實訓100例:基於AVR +Proteus仿真
內容簡介
基礎設計類案例涵蓋AVR單片機最基本的連線埠編程、定時/計數器套用、中斷程式設計、A/D轉換、比較器程式設計、EEPROM、Flash、USART及看門狗程式設計;硬體套用類案例涉及單片機存儲器擴展、接口擴展、解碼、編碼、驅動、光電、機電、感測器、I2C/TWI及SPI接口器件、MMC、紅外等器件;綜合設計類案例涉及消費類電子產品、儀器儀表及智慧型控制設備相關技術,相關案例涉及485及RTL8019的套用。
圖書目錄
第1章 AVR單片機C語言程式設計概述1
1.1 AVR單片機簡介1
1.2 AVRStudio+WinAVR開發環境安裝及套用4
1.3 AVRGCC程式設計基礎7
1.4 程式與數據記憶體訪問14
1.5 I/O連線埠編程14
1.6 外設相關暫存器及套用16
1.7 中斷服務程式31
1.8 GCC在AVR單片機套用系統開發中的優勢33
第2章 Proteus操作基礎35
2.1 Proteus操作界面簡介35
2.2 仿真電路原理圖設計37
2.3 元件選擇39
2.4 仿真運行44
2.5 Proteus與AVRStudio的聯合調試45
2.6 Proteus在AVR單片機套用系統開發中的優勢46
第3章 基礎程式設計48
3.1 閃爍的LED48
3.2 左右來回的流水燈50
3.3 花樣流水燈52
3.4 LED模擬交通燈54
3.5 單只數碼管循環顯示0~957
3.6 8隻數碼管滾動顯示單個數字59
3.7 8隻數碼管掃描顯示多個不同字元61
3.8 K1~K4控制LED移位62
3.9 數碼管顯示4×4鍵盤矩陣按鍵65
3.10 數碼管顯示撥碼開關編碼68
3.11 繼電器控制照明設備70
3.12 開關控制報警器72
3.13 按鍵發音74
3.14 INT0中斷計數76
3.15 INT0與INT1中斷計數79
3.16 TIMER0控制單只LED閃爍83
3.17 TIMER0控制流水燈85
3.18 TIMER0控制數碼管掃描顯示87
3.19 TIMER1控制交通指示燈90
3.20 TIMER1與TIMER2控制十字路口秒計時顯示屏94
3.21 用工作於計數方式的T/C0實現100以內的脈衝或按鍵計數98
3.22 用定時器設計的門鈴100
3.23 報警器與旋轉燈103
3.24 100000s以內的計時程式106
3.25 用TIMER1輸入捕獲功能設計的頻率計109
3.26 用工作於異步模式的T/C2控制的可調式數碼管電子鐘113
3.27 TIMER1定時器比較匹配中斷控制音階播放117
3.28 用TIMER1輸出比較功能調節頻率輸出120
3.29 TIMER1控制的PWM脈寬調製器123
3.30 數碼管顯示兩路A/D轉換結果126
3.31 模擬比較器測試128
3.32 EEPROM讀/寫與數碼管顯示130
3.33 Flash程式空間中的數據訪問136
3.34 單片機與PC機雙向串口通信仿真141
3.35 看門狗套用147
第4章 硬體套用150
4.1 74HC138與74HC154解碼器套用150
4.2 74HC595串入並出晶片套用153
4.3 用74LS148與74LS21擴展中斷157
4.4 62256擴展記憶體實驗160
4.5 用8255實現接口擴展163
4.6 可程式接口晶片8155套用168
4.7 可程式外圍定時/計數器8253套用173
4.8 數碼管BCD解碼驅動器7447與4511套用178
4.9 8×8LED點陣屏顯示數字181
4.10 8位數碼管段位復用串列驅動晶片MAX6951套用183
4.11 串列共陰顯示驅動器MAX7219與7221套用188
4.12 16段數碼管演示193
4.13 16鍵解碼晶片74C922套用196
4.14 1602LCD字元液晶測試程式199
4.15 1602液晶顯示DS1302實時時鐘205
4.16 1602液晶工作於4位模式實時顯示當前時間211
4.17 2×20串列字元液晶演示214
4.18 LGM12864液晶顯示程式217
4.19 PG160128A液晶圖文演示226
4.20 TG126410液晶串列模式顯示247
4.21 用帶SPI接口的MCP23S17擴展16位通用I/O連線埠257
4.22 用TWI接口控制MAX6953驅動4片5×7點陣顯示器262
4.23 用TWI接口控制MAX6955驅動16段數碼管顯示266
4.24 用DAC0832生成多種波形270
4.25 用帶SPI接口的數/模轉換晶片MAX515調節LED亮度273
4.26 正反轉可控的直流電機276
4.27 正反轉可控的步進電機279
4.28 DS18B20溫度感測器測試282
4.29 SPI接口溫度感測器TC72套用測試293
4.30 SHT75溫、濕度感測器測試299
4.31 用SPI接口讀/寫AT25F1024309
4.32 用TWI接口讀/寫24C04318
4.33 MPX4250壓力感測器測試326
4.34 MMC存儲卡測試329
4.35 紅外遙控發射與解碼仿真340
第5章 綜合設計348
5.1 多首電子音樂的選播348
5.2 電子琴仿真353
5.3 普通電話機撥號鍵盤套用357
5.4 1602LCD顯示仿手機鍵盤按鍵字元363
5.5 數碼管模擬顯示乘法口訣369
5.6 用DS1302與數碼管設計的可調電子鐘372
5.7 用DS1302與LGM12864設計的可調式中文電子日曆380
5.8 用PG12864LCD設計的指針式電子鐘393
5.9 高仿真數碼管電子鐘401
5.10 1602LCD顯示的秒表409
5.11 用DS18B20與MAX6951驅動數碼管設計的溫度報警器413
5.12 用1602LCD與DS18B20設計的溫度報警器421
5.13 溫控電機在L298驅動下改變速度與方向運行431
5.14 PG160128中文顯示日期時間及帶刻度顯示當前溫度439
5.15 液晶屏曲線顯示兩路A/D轉換結果447
5.16 用74LS595與74LS154設計的16×16點陣屏452
5.17 用8255與74LS154設計的16×16點陣屏457
5.18 8×8LED點陣屏仿電梯數字滾動顯示461
5.19 用內置EEPROM與1602液晶設計的帶MD5加密的電子密碼鎖466
5.20 12864LCD顯示24C08保存的開機畫面480
5.21 12864LCD顯示EPROM27C256保存的開機畫面488
5.22 I2CAT24C1024×2硬字型檔套用491
5.23 SPI-AT25F2048硬體字型檔套用498
5.24 帶液晶顯示的紅外遙控調速仿真505
5.25 能接收串口信息的帶中英文硬字型檔的80×16點陣顯示屏511
5.26 用AVR與1601LCD設計的計算器523
5.27 電子秤仿真設計531
5.28 模擬射擊訓練遊戲537
5.29 PC機通過485遠程控制單片機546
5.30 用IE訪問AVR+RTL8019設計的乙太網套用系統550
參考文獻568