單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于AVR+Proteus仿真
定 價(jià):65 元
- 作者:彭偉 著
- 出版時(shí)間:2010/5/1
- ISBN:9787512400689
- 出 版 社:北京航空航天大學(xué)出版社
- 中圖法分類(lèi):TP312C
- 頁(yè)碼:567
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
基于AVR Studio+WinAVR(GCC)組合環(huán)境和Proteus硬件仿真平臺(tái),精心安排了100個(gè)AVR單片機(jī)C程序設(shè)計(jì)案例!秵纹瑱C(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于AVR+Proteus仿真》提供了所有案例完整的C語(yǔ)言源程序,各案例設(shè)計(jì)了難易適中的實(shí)訓(xùn)目標(biāo)。
基礎(chǔ)設(shè)計(jì)類(lèi)案例涵蓋AVR單片機(jī)最基本的端口編程、定時(shí)/計(jì)數(shù)器應(yīng)用、中斷程序設(shè)計(jì)、A/D轉(zhuǎn)換、比較器程序設(shè)計(jì)、EEPROM、Flash、USART及看門(mén)狗程序設(shè)計(jì);硬件應(yīng)用類(lèi)案例涉及單片機(jī)存儲(chǔ)器擴(kuò)展、接口擴(kuò)展、譯碼、編碼、驅(qū)動(dòng)、光電、機(jī)電、傳感器、I2C/TWI及SPI接口器件、MMC、紅外等器件;綜合設(shè)計(jì)類(lèi)案例涉及消費(fèi)類(lèi)電子產(chǎn)品、儀器儀表及智能控制設(shè)備相關(guān)技術(shù),相關(guān)案例涉及485及RTL8019的應(yīng)用。
《單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于AVR+Proteus仿真》適合用作大專院校學(xué)生學(xué)習(xí)實(shí)踐AVR單片機(jī)C語(yǔ)言程序設(shè)計(jì)技術(shù)的參考書(shū),也可用作電子工程技術(shù)人員、單片機(jī)技術(shù)愛(ài)好者的學(xué)習(xí)參考書(shū)。
目前,各高校電類(lèi)專業(yè)都將C語(yǔ)言作為專業(yè)基礎(chǔ)課程納入教學(xué)計(jì)劃。由于C語(yǔ)言功能強(qiáng)大、便于模塊化開(kāi)發(fā)、所帶庫(kù)函數(shù)非常豐富、編寫(xiě)的程序易于移植,因此,它成為單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)最快速高效的程序設(shè)計(jì)語(yǔ)言。僅具有C語(yǔ)言基礎(chǔ)知識(shí)但不熟悉單片機(jī)指令系統(tǒng)的讀者也能很快掌握單片機(jī)C程序設(shè)計(jì)技術(shù),C語(yǔ)言在單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)上的效率優(yōu)勢(shì)已經(jīng)遠(yuǎn)遠(yuǎn)高于匯編、BASIC等開(kāi)發(fā)語(yǔ)言。
單片機(jī)C程序設(shè)計(jì)不同于通用計(jì)算機(jī)應(yīng)用程序設(shè)計(jì),它必須針對(duì)具體的微控制器及外圍電路來(lái)完成。為便于學(xué)習(xí)單片機(jī)應(yīng)用程序設(shè)計(jì)和系統(tǒng)開(kāi)發(fā),很多公司推出了單片機(jī)實(shí)驗(yàn)箱、仿真器和開(kāi)發(fā)板等,這些硬件設(shè)備可用于驗(yàn)證單片機(jī)程序、開(kāi)發(fā)和調(diào)試單片機(jī)應(yīng)用系統(tǒng)。但由于這些設(shè)備價(jià)格不菲,它們阻礙了普通讀者對(duì)單片機(jī)技術(shù)的學(xué)習(xí)和研究。令人高興的是,英國(guó)Labcenter公司推出了具有單片機(jī)系統(tǒng)仿真功能的Proteus軟件,單片機(jī)系統(tǒng)開(kāi)發(fā)通常是基于上位機(jī)加目標(biāo)系統(tǒng)進(jìn)行的,Proteus的出現(xiàn)使讀者僅用一臺(tái)PC在純軟件環(huán)境中完成系統(tǒng)設(shè)計(jì)與調(diào)試成為可能。目前Proteus支持8051、AVR、PIC等多種單片機(jī),系統(tǒng)庫(kù)中包含有大量的模擬、數(shù)字、光電和機(jī)電類(lèi)元器件,系統(tǒng)還提供了多種虛擬儀器,用AVR Studio+WinAVR(GCC)開(kāi)發(fā)的程序可以在用Proteus設(shè)計(jì)的仿真電路中調(diào)試和交互運(yùn)行。這無(wú)疑為讀者學(xué)習(xí)和提高AVR單片機(jī)C程序設(shè)計(jì)技術(shù),為單片機(jī)應(yīng)用系統(tǒng)高水平工程師的成長(zhǎng)提供了理想平臺(tái)。
為幫助讀者快速提高AVR單片機(jī)C程序設(shè)計(jì)水平,本書(shū)基于AVR Studio+WinAVR(GCC)組合開(kāi)發(fā)環(huán)境和Labcenter公司的Proteus仿真平臺(tái),精心安排了100個(gè)AVR單片機(jī)C程序設(shè)計(jì)案例,各案例同時(shí)給出了難易適中的實(shí)訓(xùn)目標(biāo)。
前2章分別對(duì)AVRGCC程序設(shè)計(jì)和Proteus操作基礎(chǔ)作了概述。第3章基礎(chǔ)程序部分給出的案例涵蓋AVR單片機(jī)端口編程、定時(shí)/計(jì)數(shù)器應(yīng)用、A/D轉(zhuǎn)換、模擬比較器程序設(shè)計(jì)、中斷程序設(shè)計(jì)、EEPROM、Flash、USART及看門(mén)狗程序設(shè)計(jì),各案例分別對(duì)相關(guān)知識(shí)和技術(shù)要點(diǎn)作了闡述與分析,源程序中也給出了豐富的注釋信息。第4章硬件應(yīng)用部分針對(duì)AVR單片機(jī)的存儲(chǔ)器擴(kuò)展、接口擴(kuò)展、譯碼、編碼、驅(qū)動(dòng)、光電、機(jī)電、傳感器、I2C/TWI及SPI接口器件、MMC、紅外等器件給出了數(shù)十個(gè)案例,對(duì)案例中涉及的硬件技術(shù)資料亦進(jìn)行了有針對(duì)性的分析,以便于讀者快速理解相關(guān)代碼的編寫(xiě)原理。第5章的案例綜合應(yīng)用了單片機(jī)內(nèi)部資源和外部擴(kuò)展硬件,通過(guò)對(duì)這些案例的獨(dú)立分析研究與調(diào)試運(yùn)行,讀者用C語(yǔ)言開(kāi)發(fā)AVR單片機(jī)應(yīng)用系統(tǒng)的能力會(huì)得到大幅提升。
本書(shū)是單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)仿真系列8051版之后的第2冊(cè)。為使本書(shū)能早日與讀者見(jiàn)面,筆者堅(jiān)持?jǐn)D出時(shí)間不懈耕耘。在編寫(xiě)過(guò)程中,劉靜、張力、王魏參與了案例的調(diào)試與校稿工作,在此對(duì)他們深表感謝!本書(shū)從選題、撰稿到出版的全過(guò)程中,學(xué)院領(lǐng)導(dǎo)、學(xué)院科研處及高教研究所對(duì)本選題始終給予大力支持,并提供項(xiàng)目資助,教務(wù)處和信息技術(shù)系也一直關(guān)注本書(shū)的編寫(xiě)與進(jìn)展情況,在此一并對(duì)學(xué)院和部門(mén)領(lǐng)導(dǎo)的關(guān)心與支持表示由衷感謝!
第1章 AVR單片機(jī)C語(yǔ)言程序設(shè)計(jì)概述1
1.1 AVR單片機(jī)簡(jiǎn)介1
1.2 AVRStudio+WinAVR開(kāi)發(fā)環(huán)境安裝及應(yīng)用4
1.3 AVRGCC程序設(shè)計(jì)基礎(chǔ)7
1.4 程序與數(shù)據(jù)內(nèi)存訪問(wèn)14
1.5 I/O端口編程14
1.6 外設(shè)相關(guān)寄存器及應(yīng)用16
1.7 中斷服務(wù)程序31
1.8 GCC在AVR單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì)33
第2章 Proteus操作基礎(chǔ)35
2.1 Proteus操作界面簡(jiǎn)介35
2.2 仿真電路原理圖設(shè)計(jì)37
2.3 元件選擇39
2.4 仿真運(yùn)行44
2.5 Proteus與AVRStudio的聯(lián)合調(diào)試45
2.6 Proteus在AVR單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)中的優(yōu)勢(shì)46
第3章 基礎(chǔ)程序設(shè)計(jì)48
3.1 閃爍的LED48
3.2 左右來(lái)回的流水燈50
3.3 花樣流水燈52
3.4 LED模擬交通燈54
3.5 單只數(shù)碼管循環(huán)顯示0~957
3.6 8只數(shù)碼管滾動(dòng)顯示單個(gè)數(shù)字59
3.7 8只數(shù)碼管掃描顯示多個(gè)不同字符61
3.8 K1~K4控制LED移位62
3.9 數(shù)碼管顯示4×4鍵盤(pán)矩陣按鍵65
3.10 數(shù)碼管顯示撥碼開(kāi)關(guān)編碼68
3.11 繼電器控制照明設(shè)備70
3.12 開(kāi)關(guān)控制報(bào)警器72
3.13 按鍵發(fā)音74
3.14 INT0中斷計(jì)數(shù)76
3.15 INT0與INT1中斷計(jì)數(shù)79
3.16 TIMER0控制單只LED閃爍83
3.17 TIMER0控制流水燈85
3.18 TIMER0控制數(shù)碼管掃描顯示87
3.19 TIMER1控制交通指示燈90
3.20 TIMER1與TIMER2控制十字路口秒計(jì)時(shí)顯示屏94
3.21 用工作于計(jì)數(shù)方式的T/C0實(shí)現(xiàn)100以內(nèi)的脈沖或按鍵計(jì)數(shù)98
3.22 用定時(shí)器設(shè)計(jì)的門(mén)鈴100
3.23 報(bào)警器與旋轉(zhuǎn)燈103
3.24 100000s以內(nèi)的計(jì)時(shí)程序106
3.25 用TIMER1輸入捕獲功能設(shè)計(jì)的頻率計(jì)109
3.26 用工作于異步模式的T/C2控制的可調(diào)式數(shù)碼管電子鐘113
3.27 TIMER1定時(shí)器比較匹配中斷控制音階播放117
3.28 用TIMER1輸出比較功能調(diào)節(jié)頻率輸出120
3.29 TIMER1控制的PWM脈寬調(diào)制器123
3.30 數(shù)碼管顯示兩路A/D轉(zhuǎn)換結(jié)果126
3.31 模擬比較器測(cè)試128
3.32 EEPROM讀/寫(xiě)與數(shù)碼管顯示130
3.33 Flash程序空間中的數(shù)據(jù)訪問(wèn)136
3.34 單片機(jī)與PC機(jī)雙向串口通信仿真141
3.35 看門(mén)狗應(yīng)用147
第4章 硬件應(yīng)用150
4.1 74HC138與74HC154譯碼器應(yīng)用150
4.2 74HC595串入并出芯片應(yīng)用153
4.3 用74LS148與74LS21擴(kuò)展中斷157
4.4 62256擴(kuò)展內(nèi)存實(shí)驗(yàn)160
4.5 用8255實(shí)現(xiàn)接口擴(kuò)展163
4.6 可編程接口芯片8155應(yīng)用168
4.7 可編程外圍定時(shí)/計(jì)數(shù)器8253應(yīng)用173
4.8 數(shù)碼管BCD解碼驅(qū)動(dòng)器7447與4511應(yīng)用178
4.9 8×8LED點(diǎn)陣屏顯示數(shù)字181
4.10 8位數(shù)碼管段位復(fù)用串行驅(qū)動(dòng)芯片MAX6951應(yīng)用183
4.11 串行共陰顯示驅(qū)動(dòng)器MAX7219與7221應(yīng)用188
4.12 16段數(shù)碼管演示193
4.13 16鍵解碼芯片74C922應(yīng)用196
4.14 1602LCD字符液晶測(cè)試程序199
4.15 1602液晶顯示DS1302實(shí)時(shí)時(shí)鐘205
4.16 1602液晶工作于4位模式實(shí)時(shí)顯示當(dāng)前時(shí)間211
4.17 2×20串行字符液晶演示214
4.18 LGM12864液晶顯示程序217
4.19 PG160128A液晶圖文演示226
4.20 TG126410液晶串行模式顯示247
4.21 用帶SPI接口的MCP23S17擴(kuò)展16位通用I/O端口257
4.22 用TWI接口控制MAX6953驅(qū)動(dòng)4片5×7點(diǎn)陣顯示器262
4.23 用TWI接口控制MAX6955驅(qū)動(dòng)16段數(shù)碼管顯示266
4.24 用DAC0832生成多種波形270
4.25 用帶SPI接口的數(shù)/模轉(zhuǎn)換芯片MAX515調(diào)節(jié)LED亮度273
4.26 正反轉(zhuǎn)可控的直流電機(jī)276
4.27 正反轉(zhuǎn)可控的步進(jìn)電機(jī)279
4.28 DS18B20溫度傳感器測(cè)試282
4.29 SPI接口溫度傳感器TC72應(yīng)用測(cè)試293
4.30 SHT75溫、濕度傳感器測(cè)試299
4.31 用SPI接口讀/寫(xiě)AT25F1024309
4.32 用TWI接口讀/寫(xiě)24C04318
4.33 MPX4250壓力傳感器測(cè)試326
4.34 MMC存儲(chǔ)卡測(cè)試329
4.35 紅外遙控發(fā)射與解碼仿真340
第5章 綜合設(shè)計(jì)348
5.1 多首電子音樂(lè)的選播348
5.2 電子琴仿真353
5.3 普通電話機(jī)撥號(hào)鍵盤(pán)應(yīng)用357
5.4 1602LCD顯示仿手機(jī)鍵盤(pán)按鍵字符363
5.5 數(shù)碼管模擬顯示乘法口訣369
5.6 用DS1302與數(shù)碼管設(shè)計(jì)的可調(diào)電子鐘372
5.7 用DS1302與LGM12864設(shè)計(jì)的可調(diào)式中文電子日歷380
5.8 用PG12864LCD設(shè)計(jì)的指針式電子鐘393
5.9 高仿真數(shù)碼管電子鐘401
5.10 1602LCD顯示的秒表409
5.11 用DS18B20與MAX6951驅(qū)動(dòng)數(shù)碼管設(shè)計(jì)的溫度報(bào)警器413
5.12 用1602LCD與DS18B20設(shè)計(jì)的溫度報(bào)警器421
5.13 溫控電機(jī)在L298驅(qū)動(dòng)下改變速度與方向運(yùn)行431
5.14 PG160128中文顯示日期時(shí)間及帶刻度顯示當(dāng)前溫度439
5.15 液晶屏曲線顯示兩路A/D轉(zhuǎn)換結(jié)果447
5.16 用74LS595與74LS154設(shè)計(jì)的16×16點(diǎn)陣屏452
5.17 用8255與74LS154設(shè)計(jì)的16×16點(diǎn)陣屏457
5.18 8×8LED點(diǎn)陣屏仿電梯數(shù)字滾動(dòng)顯示461
5.19 用內(nèi)置EEPROM與1602液晶設(shè)計(jì)的帶MD5加密的電子密碼鎖466
5.20 12864LCD顯示24C08保存的開(kāi)機(jī)畫(huà)面480
5.21 12864LCD顯示EPROM27C256保存的開(kāi)機(jī)畫(huà)面488
5.22 I2CAT24C1024×2硬字庫(kù)應(yīng)用491
5.23 SPI-AT25F2048硬件字庫(kù)應(yīng)用498
5.24 帶液晶顯示的紅外遙控調(diào)速仿真505
5.25 能接收串口信息的帶中英文硬字庫(kù)的80×16點(diǎn)陣顯示屏511
5.26 用AVR與1601LCD設(shè)計(jì)的計(jì)算器523
5.27 電子秤仿真設(shè)計(jì)531
5.28 模擬射擊訓(xùn)練游戲537
5.29 PC機(jī)通過(guò)485遠(yuǎn)程控制單片機(jī)546
5.30 用IE訪問(wèn)AVR+RTL8019設(shè)計(jì)的以太網(wǎng)應(yīng)用系統(tǒng)550
參考文獻(xiàn)568