出版時間:2012-9 出版社:電子工業(yè)出版社 作者:程國鋼 頁數:377 字數:621000
內容概要
iccavr是atmega128單片機軟件開發(fā)環(huán)境,proteus是目前應用最廣泛的硬件仿真環(huán)境?!栋咐庹f單片機c語言開發(fā)——基于avr+proteus仿真》基于iccavr和proteus介紹了atmega128單片機體系結構、c語言、內部資源,以及常用擴展器件的使用方法。全書分為3個部分:第1章和第2章是基礎部分,介紹了iccavr和proteus的基礎用法。第3~9章是基礎應用部分,各個章節(jié)基于iccavr和proteus介紹了atmega128單片機的內部資源和典型外部擴展器件的使用方法,對于這些資源和器件進行了基礎知識和proteus庫的介紹,還提供了詳盡的實例。第10章是綜合應用部分,介紹了atmega128單片機應用系統(tǒng)的基礎設計方法,提供了包括頻率計、簡易數字時鐘、可控自校準數字電源、倉庫自動通風控制系統(tǒng)在內的4個大型綜合應用實例。
《案例解說單片機c語言開發(fā)——基于avr+proteus仿真》提供了大量實例,它們都有詳細的設計思路、典型器件列表、proteus應用電路、c語言應用代碼和仿真運行結果。
《案例解說單片機c語言開發(fā)——基于avr+proteus仿真》包含豐富的單片機內部資源和外圍模塊的應用實例,并且都基于ro比us仿真,簡單直觀,適合具有初步單片機基礎的單片機工程師進階學習,以及高等院校電子類專業(yè)的學生和單片機愛好者閱讀,也可以作為工程設計人員的參考手冊。
書籍目錄
第1章 atmega128應用基礎
1.1 atmega128的體系結構
1.1.1 atmega128的內核
1.1.2 atmega128的存儲器體系
1.1.3 atmega128的系統(tǒng)時鐘
1.1.4 atmega128的電源管理
1.1.5 atmega128的復位
1.1.6 atmega128的外部引腳封裝
1.1.7 atmega128的中斷系統(tǒng)
1.2 atmega128的c語言
1.2.1 atmega128 c語言的數據類型、運算符和表達式
1.2.2 atmega128 c語言的結構
1.2.3 atmega128 c語言的函數
1.2.4 atmega128 c語言的數組和指針
1.2.5 atmega128 c語言的自構造類型
1.3 iccavr軟件開發(fā)環(huán)境應用基礎
1.3.1 iccavr的工作界面
1.3.2 iccavr的菜單
1.3.3 iccavr的擴展關鍵字
1.3.4 iccavr的庫函數
1.3.5 使用iccavr
第2章 proteus硬件仿真環(huán)境
2.1 proteus應用基礎
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的聯合調試應用實例
第3章 proteus中的atmega128內部基礎資源應用實例
3.1 atmega128的i/o引腳應用實例
3.1.1 i/o引腳基礎
3.1.2 i/o引腳輸出高低脈沖電平應用實例
3.2 atmega128的外部中斷應用實例
3.2.1 外部中斷基礎
3.2.2 外部中斷控制i/o引腳輸出應用實例
3.3 atmega128的定時/計數器應用實例
3.3.1 定時/計數器基礎
3.3.2 定時器控制i/o引腳輸出方波應用實例
3.3.3 定時器輸出pwm波形應用實例
3.3.4 輸出頻率可調的pwm波形應用實例
3.3.5 定時/計數器秒定時輸出高低電平應用實例
3.4 atmega128的串行口應用實例
3.4.1 串行口基礎
3.4.2 atmega128串口0數據發(fā)送應用實例
3.4.3 atmega128串口1數據發(fā)送應用實例
3.4.4 和pc進行串行通信應用實例
3.4.5 雙串口聯合使用應用實例
3.5 atmega128的twi(i2c)總線接口應用實例
3.5.1 twi(i2c)總線接口基礎
3.5.2 雙機atmega128使用twi總線通信應用實例
3.6 atmega128的spi總線接口應用實例
3.6.1 spi總線接口基礎
3.6.2 雙機atmega128使用spi總線通信應用實例
3.7 atmega128的內置看門狗模塊應用實例
3.7.1 內置看門狗模塊基礎
3.7.2 內置看門狗模塊測試應用實例
3.8 建立并引用用戶庫函數應用實例
3.8.1 實例的設計思路
3.8.2 實例的proteus電路圖
3.8.3 應用實例代碼
3.8.4 應用實例的仿真結果和說明
第4章 proteus中的atmega128人機交互通道應用實例
4.1 發(fā)光二極管應用實例
4.1.1 器件基礎
4.1.2 應用實例設計分析
4.1.3 應用實例的代碼
4.1.4 應用實例的仿真結果和說明
4.2 單位數碼管應用實例
4.2.1 器件基礎
4.2.2 應用實例設計分析
4.2.3 應用實例的代碼
4.2.4 應用實例的仿真結果和說明
4.3 多位數碼管應用實例
4.3.1 器件基礎
4.3.2 應用實例設計分析
4.3.3 應用實例的代碼
4.3.4 應用實例的仿真結果和說明
4.4 max7219應用實例
4.4.1 器件基礎
4.4.2 應用實例設計分析
4.4.3 應用實例的代碼
4.4.4 應用實例的仿真結果和說明
4.5 1602液晶應用實例
4.5.1 器件基礎
4.5.2 應用實例設計分析
4.5.3 應用實例的代碼
4.5.4 應用實例的仿真結果和說明
4.6 獨立按鍵應用實例
4.6.1 器件基礎
4.6.2 應用實例設計分析
4.6.3 應用實例的代碼
4.6.4 應用實例的仿真結果和說明
4.7 行列掃描鍵盤應用實例
4.7.1 器件基礎
4.7.2 應用實例設計分析
4.7.3 應用實例的代碼
4.7.4 應用實例的仿真結果和說明
4.8 撥碼開關應用實例
4.8.1 器件基礎
4.8.2 應用實例設計分析
4.8.3 應用實例的代碼
4.8.4 應用實例的仿真結果和說明
第5章 proteus中的atmega128信號采集通道應用實例
5.1 atmega128的內置比較器模塊應用實例
5.1.1 內置比較器模塊基礎
5.1.2 雙通道模擬信號比較應用實例
5.1.3 多通道模擬信號比較應用實例
5.2 atmega128的內置a/d模塊應用實例
5.2.1 內置a/d模塊基礎
5.2.2 單通道模擬信號采集實例
5.2.3 多通道模擬信號采集實例
5.2.4 增益放大模擬信號采集實例
5.2.5 差分模擬信號比較采集實例
5.2.6 多通道模擬信號比較采集實例
5.3 ds1302應用實例
5.3.1 器件基礎
5.3.2 應用實例設計分析
5.3.3 應用實例的代碼
5.3.4 應用實例的仿真結果和說明
5.4 ds18b20應用實例
5.4.1 器件基礎
5.4.2 應用實例設計分析
5.4.3 應用實例的代碼
5.4.4 應用實例的仿真結果和說明
第6章 proteus中的atmega128信號輸出通道應用實例
6.1 dac0832應用實例
6.1.1 器件基礎
6.1.2 應用實例設計分析
6.1.3 應用實例的代碼
6.1.4 應用實例的仿真結果和說明
6.2 74hc165應用實例
6.2.1 器件基礎
6.2.2 應用實例設計分析
6.3 74hc595應用實例
6.3.1 器件基礎
6.3.2 應用實例設計分析
6.3.3 應用實例的代碼
6.3.4 應用實例的仿真結果和說明
第7章 proteus中的atmega128 存儲器應用實例
7.1 atmega128的內部e2prom應用實例
7.1.1 e2prom基礎
7.1.2 e2prom讀寫應用實例
7.2 62256應用實例
7.2.1 器件基礎
7.2.2 應用實例設計分析
7.2.3 應用實例的代碼
7.2.4 應用實例的仿真結果和說明
第8章 proteus中的atmega128執(zhí)行機構應用實例
8.1 三極管應用實例
8.1.1 器件基礎
8.1.2 應用實例設計分析
8.1.3 應用實例的代碼
8.1.4 應用實例的仿真結果和說明
8.2 uln2803應用實例
8.2.1 器件基礎
8.2.2 應用實例設計分析
8.2.3 應用實例的代碼
8.2.4 應用實例的仿真結果和說明
8.3 光電隔離器應用實例
8.3.1 器件基礎
8.3.2 應用實例設計分析
8.3.3 應用實例的代碼
8.3.4 應用實例的仿真結果和說明
8.4 直流電動機應用實例
8.4.1 器件基礎
8.4.2 應用實例設計分析
8.4.3 應用實例的代碼
8.4.4 應用實例的仿真結果和說明
8.5 步進電動機應用實例
8.5.1 器件基礎
8.5.2 應用實例設計分析
8.5.3 應用實例的代碼
8.5.4 應用實例的仿真結果和說明
8.6 繼電器應用實例
8.6.1 器件基礎
8.6.2 應用實例設計分析
8.6.3 應用實例的代碼
8.6.4 應用實例的仿真結果和說明
8.7 蜂鳴器應用實例
8.7.1 器件基礎
8.7.2 應用實例設計分析
8.7.3 應用實例的代碼
8.7.4 應用實例的仿真結果和說明
第9章 proteus中的atmega128通信應用實例
9.1 max232應用實例
9.1.1 器件基礎
9.1.2 應用實例設計分析
9.1.3 應用實例的代碼
9.1.4 實例的仿真結果和說明
9.2 sn75179應用實例
9.2.1 器件基礎
9.2.2 應用實例設計分析
9.2.3 應用實例的代碼
9.2.4 實例的仿真結果和說明
9.3 max487應用實例
9.3.1 器件基礎
9.3.2 應用實例設計分析
9.3.3 應用實例的代碼
9.3.4 實例的仿真結果和說明
第10章 在proteus中設計atmega128的應用系統(tǒng)
10.1 atmega128綜合應用實例設計基礎
10.2 頻率計應用實例
10.2.1 頻率計的需求分析和系統(tǒng)設計
10.2.2 頻率計的硬件設計
10.2.3 頻率計的軟件設計
10.2.4 proteus中的虛擬信號發(fā)生器
10.2.5 實例的仿真結果和總結
10.3 簡易數字時鐘應用實例
10.3.1 簡易數字時鐘的需求分析和系統(tǒng)設計
10.3.2 簡易數字時鐘的硬件設計
10.3.3 簡易數字時鐘的軟件設計
10.3.4 實例的仿真結果和總結
10.4 可控自校準數字電源應用實例
10.4.1 可控自校準數字電源的需求分析和系統(tǒng)設計
10.4.2 可控自校準數字電源的硬件設計
10.4.3 可控自校準數字電源的軟件設計
10.4.4 實例的仿真結果和總結
10.5 倉庫自動通風控制系統(tǒng)應用實例
10.5.1 倉庫自動通風控制系統(tǒng)的需求分析和系統(tǒng)設計
10.5.2 倉庫自動通風控制系統(tǒng)的硬件設計
10.5.3 倉庫自動通風控制系統(tǒng)的軟件設計
10.5.4 實例的仿真結果和總結
章節(jié)摘錄
版權頁: 插圖: 可以通過修改ATmega128的ADMUX寄存器中MUX4~MUXO位來選擇A/D采樣的輸入通道,在進行選擇時需要遵循以下原則: ?當ADC工作于單次轉換模式時,總是在啟動轉換之前選定通道,在ADSC被置位后的第一個ADC時鐘周期就可以選擇新的模擬輸入通道了,但是最簡單的辦法是等待轉換結束后再改變通道。 ?當ADC工作于連續(xù)轉換模式時,總是在第一次轉換開始之前選定通道,在ADSC被置位后的第一個ADC時鐘周期就可以選擇新的模擬輸入通道了,但是最簡單的辦法是等待轉換結束后再改變通道。但是此時新一次轉換已經自動開始了,下一次的轉換結果反映的是以前選定的模擬輸入通道,以后的轉換結果才是新通道的。 ?當ADC切換到差分增益通道時,由于自動偏移抵消電路需要沉積時間,第一次轉換結果準確率很低,最好舍棄第一次轉換結果。 5.ND模塊的基準電壓源選擇 ADC模塊的基準電壓源(VREF)是A/D轉換的一個參考源,若單端通道電平超過VREF,其結果將無限接近Ox3FF,ATmega128的VREF可以來自AVCC、內部2.56V基準或外加在AREF引腳上的電壓。 ATmega128的AVCC引腳通過一個無源開關與A/D模塊連接,而片內的2.56V參考電壓則由能隙基準源(VBG)通過內部放大器產生。無論使用何種基準源,AREF都直接與A/D模塊相連,通過在AREF與地之間外加電容可以提高參考電壓的抗噪性。VREF可以通過高輸入內阻的伏特表在AREF引腳測得,由于VREF的阻抗很高,因此,只能連接容性負載。 如果在AREF引腳上加上一個固定電壓,ATmega128則不能選擇其他的基準源,因為這會導致片內基準源與外部參考源的短路,如果AREF引腳上沒有連接任何外部參考源,用戶可以選擇AVCC或2.56V作為基準源。 6.A/D模塊的差分增益通道 當ATmega128使用差分增益通道時則需要考慮轉換的確定特征,因為在進行差分轉換時,A/D模塊與內部時鐘CKADC2同步,該時鐘的頻率為ADC時鐘頻率的1/2,其同步是由A/D模塊在CKADC2邊沿出現采樣與保持時自動實現的。當CKADC2為低時,通過啟動轉換(包括單次轉換與第一次連續(xù)轉換)將與單端轉換使用的時間相同,即預分頻后的13個ADC時鐘周期;當CKADC2為高時,由于同步機制,將會使用14個ADC時鐘周期。在連續(xù)轉換工作模式下,一次ADC轉換結束后立即啟動新的轉換,由于CKADC2此時為高,所有的除第一次外的自動啟動將使用14個ADC時鐘周期。 在所有的增益設置中,當帶寬為4kHz時增益級最優(yōu),更高的頻率可能會造成非線性放大。當輸入信號包含高于增益級帶寬的頻率時,應在輸入前加入低通濾波器。需要注意的是,ADC時鐘頻率不受增益級帶寬限制,例如,不管通道帶寬是多少,ADC的時鐘周期均為6μs,允許通道采樣率為12kSPS。 如果使用差分增益通道且通過自動觸發(fā)啟動轉換,在轉換時ADC必須關閉,當使用自動觸發(fā)時,ADC預分頻器在轉換啟動前復位。由于在轉換前的增益級依靠穩(wěn)定的ADC時鐘,該轉換無效。在每次轉換(對寄存器ADCSRA的ADEN位清零后立刻置“1”),通過禁用然后重使能ADC,只執(zhí)行擴展轉換,擴展轉換結果有效。
編輯推薦
《案例解說單片機C語言開發(fā):基于AVR+Proteus仿真》包含豐富的單片機內部資源和外圍模塊的應用實例,并且都基于Proteus仿真,簡單直觀,適合具有初步單片機基礎的單片機工程師進階學習,以及高等院校電子類專業(yè)的學生和單片機愛好者閱讀,也可以作為工程設計人員的參考手冊。
圖書封面
評論、評分、閱讀與下載