案例解說單片機C語言開發(fā)

出版時間:2012-9  出版社:電子工業(yè)出版社  作者:程國鋼  頁數(shù):377  字?jǐn)?shù):621000  

內(nèi)容概要

  iccavr是atmega128單片機軟件開發(fā)環(huán)境,proteus是目前應(yīng)用最廣泛的硬件仿真環(huán)境?!栋咐庹f單片機c語言開發(fā)——基于avr+proteus仿真》基于iccavr和proteus介紹了atmega128單片機體系結(jié)構(gòu)、c語言、內(nèi)部資源,以及常用擴展器件的使用方法。全書分為3個部分:第1章和第2章是基礎(chǔ)部分,介紹了iccavr和proteus的基礎(chǔ)用法。第3~9章是基礎(chǔ)應(yīng)用部分,各個章節(jié)基于iccavr和proteus介紹了atmega128單片機的內(nèi)部資源和典型外部擴展器件的使用方法,對于這些資源和器件進行了基礎(chǔ)知識和proteus庫的介紹,還提供了詳盡的實例。第10章是綜合應(yīng)用部分,介紹了atmega128單片機應(yīng)用系統(tǒng)的基礎(chǔ)設(shè)計方法,提供了包括頻率計、簡易數(shù)字時鐘、可控自校準(zhǔn)數(shù)字電源、倉庫自動通風(fēng)控制系統(tǒng)在內(nèi)的4個大型綜合應(yīng)用實例。
  《案例解說單片機c語言開發(fā)——基于avr+proteus仿真》提供了大量實例,它們都有詳細的設(shè)計思路、典型器件列表、proteus應(yīng)用電路、c語言應(yīng)用代碼和仿真運行結(jié)果。
  《案例解說單片機c語言開發(fā)——基于avr+proteus仿真》包含豐富的單片機內(nèi)部資源和外圍模塊的應(yīng)用實例,并且都基于ro比us仿真,簡單直觀,適合具有初步單片機基礎(chǔ)的單片機工程師進階學(xué)習(xí),以及高等院校電子類專業(yè)的學(xué)生和單片機愛好者閱讀,也可以作為工程設(shè)計人員的參考手冊。

書籍目錄

第1章 atmega128應(yīng)用基礎(chǔ)
 1.1 atmega128的體系結(jié)構(gòu)
 1.1.1 atmega128的內(nèi)核
 1.1.2 atmega128的存儲器體系
 1.1.3 atmega128的系統(tǒng)時鐘
 1.1.4 atmega128的電源管理
 1.1.5 atmega128的復(fù)位
 1.1.6 atmega128的外部引腳封裝
 1.1.7 atmega128的中斷系統(tǒng)
 1.2 atmega128的c語言
 1.2.1 atmega128 c語言的數(shù)據(jù)類型、運算符和表達式
 1.2.2 atmega128 c語言的結(jié)構(gòu)
 1.2.3 atmega128 c語言的函數(shù)
 1.2.4 atmega128 c語言的數(shù)組和指針
 1.2.5 atmega128 c語言的自構(gòu)造類型
 1.3 iccavr軟件開發(fā)環(huán)境應(yīng)用基礎(chǔ)
 1.3.1 iccavr的工作界面
 1.3.2 iccavr的菜單
 1.3.3 iccavr的擴展關(guān)鍵字
 1.3.4 iccavr的庫函數(shù)
 1.3.5 使用iccavr
第2章 proteus硬件仿真環(huán)境
 2.1 proteus應(yīng)用基礎(chǔ)
 2.1.1 proteus的界面
 2.1.1 proteus的界面
 2.1.2 proteus支持的文件格式
 2.1.2 proteus的菜單
 2.1.3 proteus的快捷工具欄和工具箱
 2.2 使用proteus
 2.3 protues中的atmega128
 2.4 proteus和iccavr的聯(lián)合調(diào)試應(yīng)用實例
第3章 proteus中的atmega128內(nèi)部基礎(chǔ)資源應(yīng)用實例
 3.1 atmega128的i/o引腳應(yīng)用實例
 3.1.1 i/o引腳基礎(chǔ)
 3.1.2 i/o引腳輸出高低脈沖電平應(yīng)用實例
 3.2 atmega128的外部中斷應(yīng)用實例
 3.2.1 外部中斷基礎(chǔ)
 3.2.2 外部中斷控制i/o引腳輸出應(yīng)用實例
 3.3 atmega128的定時/計數(shù)器應(yīng)用實例
 3.3.1 定時/計數(shù)器基礎(chǔ)
 3.3.2 定時器控制i/o引腳輸出方波應(yīng)用實例
 3.3.3 定時器輸出pwm波形應(yīng)用實例
 3.3.4 輸出頻率可調(diào)的pwm波形應(yīng)用實例
 3.3.5 定時/計數(shù)器秒定時輸出高低電平應(yīng)用實例
 3.4 atmega128的串行口應(yīng)用實例
 3.4.1 串行口基礎(chǔ)
 3.4.2 atmega128串口0數(shù)據(jù)發(fā)送應(yīng)用實例
 3.4.3 atmega128串口1數(shù)據(jù)發(fā)送應(yīng)用實例
 3.4.4 和pc進行串行通信應(yīng)用實例
 3.4.5 雙串口聯(lián)合使用應(yīng)用實例
 3.5 atmega128的twi(i2c)總線接口應(yīng)用實例
 3.5.1 twi(i2c)總線接口基礎(chǔ)
 3.5.2 雙機atmega128使用twi總線通信應(yīng)用實例
 3.6 atmega128的spi總線接口應(yīng)用實例
 3.6.1 spi總線接口基礎(chǔ)
 3.6.2 雙機atmega128使用spi總線通信應(yīng)用實例
 3.7 atmega128的內(nèi)置看門狗模塊應(yīng)用實例
 3.7.1 內(nèi)置看門狗模塊基礎(chǔ)
 3.7.2 內(nèi)置看門狗模塊測試應(yīng)用實例
 3.8 建立并引用用戶庫函數(shù)應(yīng)用實例
 3.8.1 實例的設(shè)計思路
 3.8.2 實例的proteus電路圖
 3.8.3 應(yīng)用實例代碼
 3.8.4 應(yīng)用實例的仿真結(jié)果和說明
第4章 proteus中的atmega128人機交互通道應(yīng)用實例
 4.1 發(fā)光二極管應(yīng)用實例
 4.1.1 器件基礎(chǔ)
 4.1.2 應(yīng)用實例設(shè)計分析
 4.1.3 應(yīng)用實例的代碼
 4.1.4 應(yīng)用實例的仿真結(jié)果和說明
 4.2 單位數(shù)碼管應(yīng)用實例
 4.2.1 器件基礎(chǔ)
 4.2.2 應(yīng)用實例設(shè)計分析
 4.2.3 應(yīng)用實例的代碼
 4.2.4 應(yīng)用實例的仿真結(jié)果和說明
 4.3 多位數(shù)碼管應(yīng)用實例
 4.3.1 器件基礎(chǔ)
 4.3.2 應(yīng)用實例設(shè)計分析
 4.3.3 應(yīng)用實例的代碼
 4.3.4 應(yīng)用實例的仿真結(jié)果和說明
 4.4 max7219應(yīng)用實例
 4.4.1 器件基礎(chǔ)
 4.4.2 應(yīng)用實例設(shè)計分析
 4.4.3 應(yīng)用實例的代碼
 4.4.4 應(yīng)用實例的仿真結(jié)果和說明
 4.5 1602液晶應(yīng)用實例
 4.5.1 器件基礎(chǔ)
 4.5.2 應(yīng)用實例設(shè)計分析
 4.5.3 應(yīng)用實例的代碼
 4.5.4 應(yīng)用實例的仿真結(jié)果和說明
 4.6 獨立按鍵應(yīng)用實例
 4.6.1 器件基礎(chǔ)
 4.6.2 應(yīng)用實例設(shè)計分析
 4.6.3 應(yīng)用實例的代碼
 4.6.4 應(yīng)用實例的仿真結(jié)果和說明
 4.7 行列掃描鍵盤應(yīng)用實例
 4.7.1 器件基礎(chǔ)
 4.7.2 應(yīng)用實例設(shè)計分析
 4.7.3 應(yīng)用實例的代碼
 4.7.4 應(yīng)用實例的仿真結(jié)果和說明
 4.8 撥碼開關(guān)應(yīng)用實例
 4.8.1 器件基礎(chǔ)
 4.8.2 應(yīng)用實例設(shè)計分析
 4.8.3 應(yīng)用實例的代碼
 4.8.4 應(yīng)用實例的仿真結(jié)果和說明
第5章 proteus中的atmega128信號采集通道應(yīng)用實例
 5.1 atmega128的內(nèi)置比較器模塊應(yīng)用實例
 5.1.1 內(nèi)置比較器模塊基礎(chǔ)
 5.1.2 雙通道模擬信號比較應(yīng)用實例
 5.1.3 多通道模擬信號比較應(yīng)用實例
 5.2 atmega128的內(nèi)置a/d模塊應(yīng)用實例
 5.2.1 內(nèi)置a/d模塊基礎(chǔ)
 5.2.2 單通道模擬信號采集實例
 5.2.3 多通道模擬信號采集實例
 5.2.4 增益放大模擬信號采集實例
 5.2.5 差分模擬信號比較采集實例
 5.2.6 多通道模擬信號比較采集實例
 5.3 ds1302應(yīng)用實例
 5.3.1 器件基礎(chǔ)
 5.3.2 應(yīng)用實例設(shè)計分析
 5.3.3 應(yīng)用實例的代碼
 5.3.4 應(yīng)用實例的仿真結(jié)果和說明
 5.4 ds18b20應(yīng)用實例
 5.4.1 器件基礎(chǔ)
 5.4.2 應(yīng)用實例設(shè)計分析
 5.4.3 應(yīng)用實例的代碼
 5.4.4 應(yīng)用實例的仿真結(jié)果和說明
第6章 proteus中的atmega128信號輸出通道應(yīng)用實例
 6.1 dac0832應(yīng)用實例
 6.1.1 器件基礎(chǔ)
 6.1.2 應(yīng)用實例設(shè)計分析
 6.1.3 應(yīng)用實例的代碼
 6.1.4 應(yīng)用實例的仿真結(jié)果和說明
 6.2 74hc165應(yīng)用實例
 6.2.1 器件基礎(chǔ)
 6.2.2 應(yīng)用實例設(shè)計分析
 6.3 74hc595應(yīng)用實例
 6.3.1 器件基礎(chǔ)
 6.3.2 應(yīng)用實例設(shè)計分析
 6.3.3 應(yīng)用實例的代碼
 6.3.4 應(yīng)用實例的仿真結(jié)果和說明
第7章 proteus中的atmega128 存儲器應(yīng)用實例
 7.1 atmega128的內(nèi)部e2prom應(yīng)用實例
 7.1.1 e2prom基礎(chǔ)
 7.1.2 e2prom讀寫應(yīng)用實例
 7.2 62256應(yīng)用實例
 7.2.1 器件基礎(chǔ)
 7.2.2 應(yīng)用實例設(shè)計分析
 7.2.3 應(yīng)用實例的代碼
 7.2.4 應(yīng)用實例的仿真結(jié)果和說明
第8章 proteus中的atmega128執(zhí)行機構(gòu)應(yīng)用實例
 8.1 三極管應(yīng)用實例
 8.1.1 器件基礎(chǔ)
 8.1.2 應(yīng)用實例設(shè)計分析
 8.1.3 應(yīng)用實例的代碼
 8.1.4 應(yīng)用實例的仿真結(jié)果和說明
 8.2 uln2803應(yīng)用實例
 8.2.1 器件基礎(chǔ)
 8.2.2 應(yīng)用實例設(shè)計分析
 8.2.3 應(yīng)用實例的代碼
 8.2.4 應(yīng)用實例的仿真結(jié)果和說明
 8.3 光電隔離器應(yīng)用實例
 8.3.1 器件基礎(chǔ)
 8.3.2 應(yīng)用實例設(shè)計分析
 8.3.3 應(yīng)用實例的代碼
 8.3.4 應(yīng)用實例的仿真結(jié)果和說明
 8.4 直流電動機應(yīng)用實例
 8.4.1 器件基礎(chǔ)
 8.4.2 應(yīng)用實例設(shè)計分析
 8.4.3 應(yīng)用實例的代碼
 8.4.4 應(yīng)用實例的仿真結(jié)果和說明
 8.5 步進電動機應(yīng)用實例
 8.5.1 器件基礎(chǔ)
 8.5.2 應(yīng)用實例設(shè)計分析
 8.5.3 應(yīng)用實例的代碼
 8.5.4 應(yīng)用實例的仿真結(jié)果和說明
 8.6 繼電器應(yīng)用實例
 8.6.1 器件基礎(chǔ)
 8.6.2 應(yīng)用實例設(shè)計分析
 8.6.3 應(yīng)用實例的代碼
 8.6.4 應(yīng)用實例的仿真結(jié)果和說明
 8.7 蜂鳴器應(yīng)用實例
 8.7.1 器件基礎(chǔ)
 8.7.2 應(yīng)用實例設(shè)計分析
 8.7.3 應(yīng)用實例的代碼
 8.7.4 應(yīng)用實例的仿真結(jié)果和說明
第9章 proteus中的atmega128通信應(yīng)用實例
 9.1 max232應(yīng)用實例
 9.1.1 器件基礎(chǔ)
 9.1.2 應(yīng)用實例設(shè)計分析
 9.1.3 應(yīng)用實例的代碼
 9.1.4 實例的仿真結(jié)果和說明
 9.2 sn75179應(yīng)用實例
 9.2.1 器件基礎(chǔ)
 9.2.2 應(yīng)用實例設(shè)計分析
 9.2.3 應(yīng)用實例的代碼
 9.2.4 實例的仿真結(jié)果和說明
 9.3 max487應(yīng)用實例
 9.3.1 器件基礎(chǔ)
 9.3.2 應(yīng)用實例設(shè)計分析
 9.3.3 應(yīng)用實例的代碼
 9.3.4 實例的仿真結(jié)果和說明
第10章 在proteus中設(shè)計atmega128的應(yīng)用系統(tǒng)
 10.1 atmega128綜合應(yīng)用實例設(shè)計基礎(chǔ)
 10.2 頻率計應(yīng)用實例
 10.2.1 頻率計的需求分析和系統(tǒng)設(shè)計
 10.2.2 頻率計的硬件設(shè)計
 10.2.3 頻率計的軟件設(shè)計
 10.2.4 proteus中的虛擬信號發(fā)生器
 10.2.5 實例的仿真結(jié)果和總結(jié)
 10.3 簡易數(shù)字時鐘應(yīng)用實例
 10.3.1 簡易數(shù)字時鐘的需求分析和系統(tǒng)設(shè)計
 10.3.2 簡易數(shù)字時鐘的硬件設(shè)計
 10.3.3 簡易數(shù)字時鐘的軟件設(shè)計
 10.3.4 實例的仿真結(jié)果和總結(jié)
 10.4 可控自校準(zhǔn)數(shù)字電源應(yīng)用實例
 10.4.1 可控自校準(zhǔn)數(shù)字電源的需求分析和系統(tǒng)設(shè)計
 10.4.2 可控自校準(zhǔn)數(shù)字電源的硬件設(shè)計
 10.4.3 可控自校準(zhǔn)數(shù)字電源的軟件設(shè)計
 10.4.4 實例的仿真結(jié)果和總結(jié)
 10.5 倉庫自動通風(fēng)控制系統(tǒng)應(yīng)用實例
 10.5.1 倉庫自動通風(fēng)控制系統(tǒng)的需求分析和系統(tǒng)設(shè)計
 10.5.2 倉庫自動通風(fēng)控制系統(tǒng)的硬件設(shè)計
 10.5.3 倉庫自動通風(fēng)控制系統(tǒng)的軟件設(shè)計
 10.5.4 實例的仿真結(jié)果和總結(jié)

章節(jié)摘錄

版權(quán)頁:   插圖:   可以通過修改ATmega128的ADMUX寄存器中MUX4~MUXO位來選擇A/D采樣的輸入通道,在進行選擇時需要遵循以下原則: ?當(dāng)ADC工作于單次轉(zhuǎn)換模式時,總是在啟動轉(zhuǎn)換之前選定通道,在ADSC被置位后的第一個ADC時鐘周期就可以選擇新的模擬輸入通道了,但是最簡單的辦法是等待轉(zhuǎn)換結(jié)束后再改變通道。 ?當(dāng)ADC工作于連續(xù)轉(zhuǎn)換模式時,總是在第一次轉(zhuǎn)換開始之前選定通道,在ADSC被置位后的第一個ADC時鐘周期就可以選擇新的模擬輸入通道了,但是最簡單的辦法是等待轉(zhuǎn)換結(jié)束后再改變通道。但是此時新一次轉(zhuǎn)換已經(jīng)自動開始了,下一次的轉(zhuǎn)換結(jié)果反映的是以前選定的模擬輸入通道,以后的轉(zhuǎn)換結(jié)果才是新通道的。 ?當(dāng)ADC切換到差分增益通道時,由于自動偏移抵消電路需要沉積時間,第一次轉(zhuǎn)換結(jié)果準(zhǔn)確率很低,最好舍棄第一次轉(zhuǎn)換結(jié)果。 5.ND模塊的基準(zhǔn)電壓源選擇 ADC模塊的基準(zhǔn)電壓源(VREF)是A/D轉(zhuǎn)換的一個參考源,若單端通道電平超過VREF,其結(jié)果將無限接近Ox3FF,ATmega128的VREF可以來自AVCC、內(nèi)部2.56V基準(zhǔn)或外加在AREF引腳上的電壓。 ATmega128的AVCC引腳通過一個無源開關(guān)與A/D模塊連接,而片內(nèi)的2.56V參考電壓則由能隙基準(zhǔn)源(VBG)通過內(nèi)部放大器產(chǎn)生。無論使用何種基準(zhǔn)源,AREF都直接與A/D模塊相連,通過在AREF與地之間外加電容可以提高參考電壓的抗噪性。VREF可以通過高輸入內(nèi)阻的伏特表在AREF引腳測得,由于VREF的阻抗很高,因此,只能連接容性負載。 如果在AREF引腳上加上一個固定電壓,ATmega128則不能選擇其他的基準(zhǔn)源,因為這會導(dǎo)致片內(nèi)基準(zhǔn)源與外部參考源的短路,如果AREF引腳上沒有連接任何外部參考源,用戶可以選擇AVCC或2.56V作為基準(zhǔn)源。 6.A/D模塊的差分增益通道 當(dāng)ATmega128使用差分增益通道時則需要考慮轉(zhuǎn)換的確定特征,因為在進行差分轉(zhuǎn)換時,A/D模塊與內(nèi)部時鐘CKADC2同步,該時鐘的頻率為ADC時鐘頻率的1/2,其同步是由A/D模塊在CKADC2邊沿出現(xiàn)采樣與保持時自動實現(xiàn)的。當(dāng)CKADC2為低時,通過啟動轉(zhuǎn)換(包括單次轉(zhuǎn)換與第一次連續(xù)轉(zhuǎn)換)將與單端轉(zhuǎn)換使用的時間相同,即預(yù)分頻后的13個ADC時鐘周期;當(dāng)CKADC2為高時,由于同步機制,將會使用14個ADC時鐘周期。在連續(xù)轉(zhuǎn)換工作模式下,一次ADC轉(zhuǎn)換結(jié)束后立即啟動新的轉(zhuǎn)換,由于CKADC2此時為高,所有的除第一次外的自動啟動將使用14個ADC時鐘周期。 在所有的增益設(shè)置中,當(dāng)帶寬為4kHz時增益級最優(yōu),更高的頻率可能會造成非線性放大。當(dāng)輸入信號包含高于增益級帶寬的頻率時,應(yīng)在輸入前加入低通濾波器。需要注意的是,ADC時鐘頻率不受增益級帶寬限制,例如,不管通道帶寬是多少,ADC的時鐘周期均為6μs,允許通道采樣率為12kSPS。 如果使用差分增益通道且通過自動觸發(fā)啟動轉(zhuǎn)換,在轉(zhuǎn)換時ADC必須關(guān)閉,當(dāng)使用自動觸發(fā)時,ADC預(yù)分頻器在轉(zhuǎn)換啟動前復(fù)位。由于在轉(zhuǎn)換前的增益級依靠穩(wěn)定的ADC時鐘,該轉(zhuǎn)換無效。在每次轉(zhuǎn)換(對寄存器ADCSRA的ADEN位清零后立刻置“1”),通過禁用然后重使能ADC,只執(zhí)行擴展轉(zhuǎn)換,擴展轉(zhuǎn)換結(jié)果有效。

編輯推薦

《案例解說單片機C語言開發(fā):基于AVR+Proteus仿真》包含豐富的單片機內(nèi)部資源和外圍模塊的應(yīng)用實例,并且都基于Proteus仿真,簡單直觀,適合具有初步單片機基礎(chǔ)的單片機工程師進階學(xué)習(xí),以及高等院校電子類專業(yè)的學(xué)生和單片機愛好者閱讀,也可以作為工程設(shè)計人員的參考手冊。

圖書封面

評論、評分、閱讀與下載


    案例解說單片機C語言開發(fā) PDF格式下載


用戶評論 (總計1條)

 
 

  •   這本書實用性極強,在介紹iccavr語言編程環(huán)境的同時,也注重培養(yǎng)搭建電路的能力,對當(dāng)前流行的proteus的應(yīng)用也做了比較詳細的講解。
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7