AVR單片機(jī)開發(fā)從入門到精通

出版時(shí)間:2009-6  出版社:中國電力出版社  作者:溫正,何嘉揚(yáng),趙志鵬 編著  頁數(shù):339  
Tag標(biāo)簽:無  

前言

  隨著嵌入式系統(tǒng)應(yīng)用技術(shù)的不斷發(fā)展,對于核心處理器性能的要求也越來越高,一些傳統(tǒng)控制芯片已經(jīng)難以勝任許多復(fù)雜的任務(wù)。使用傳統(tǒng)的5l系列單片機(jī)設(shè)計(jì)應(yīng)用系統(tǒng)常常會(huì)帶來種種限制,甚至影響到整個(gè)系統(tǒng)的性能水平。隨著微控制器技術(shù)的快速發(fā)展,我們有必要緊跟電子技術(shù)發(fā)展的前沿,研究單片機(jī)技術(shù)的最新進(jìn)展,熟悉新型高性能芯片的性能,掌握其應(yīng)用技巧,為設(shè)計(jì)出有競爭力的高性價(jià)比的高端嵌入式系統(tǒng)創(chuàng)造條件?! 〗陙韱纹瑱C(jī)技術(shù)得到快速發(fā)展,出現(xiàn)了一批新型高性能單片機(jī),為高端應(yīng)用提供了選擇空間,AVR系列單片機(jī)就是其中的一類。AVR單片機(jī)是ATMEL公司推出的配置精簡指令集單片機(jī)系列。其片內(nèi)程序存儲(chǔ)器采用Flash存儲(chǔ)器,可反復(fù)編程修改上千次,多數(shù)指令僅用一個(gè)周期完成,從而能高效迅速地開發(fā)新產(chǎn)品?! ”緯饕訟TMEL推出的AVR單片機(jī)中的高檔產(chǎn)品——ATmegal28單片機(jī)為主線進(jìn)行介紹,其間也穿插介紹了各種AVR單片機(jī)所具有的特點(diǎn)、片上資源和外設(shè)接口。ATmegal28單片機(jī)具有高速低功耗、超強(qiáng)功能、精簡指令的特點(diǎn),能夠同時(shí)讀、寫。在執(zhí)行指令的同時(shí),可通過SPI、UART或兩線接口對快閃存儲(chǔ)器進(jìn)行編程或重新編程。ATmegal28在實(shí)際應(yīng)用中有著非常強(qiáng)大的功能?! Tmegal28單片機(jī)吸收了DSP雙總線的特點(diǎn),采用Haryard總線結(jié)構(gòu),因此單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是分離的,并且可對具有相同地址的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器進(jìn)行獨(dú)立尋址。在ATmegal28單片機(jī)中,CPu執(zhí)行當(dāng)前指令時(shí)取出將要執(zhí)行的下一條指令放入寄存器中,從而可以避免傳統(tǒng)MCS一5l系列單片機(jī)中多指令周期的出現(xiàn)。而且ATmegal28單片機(jī)的寄存器由32個(gè)通用工作寄存器組成,并且任何一個(gè)寄存器都可以充當(dāng)累加器,從而有效地避免了傳統(tǒng)的MCS.51系列單片機(jī)所有的數(shù)據(jù)處理由于基于一個(gè)累加器的瓶頸效應(yīng),提高了系統(tǒng)的性能。這些結(jié)構(gòu)提高了代碼效率,使AVR的運(yùn)行速度比普通CISC單片機(jī)高出10倍,具有1MIPs/MHz的處理能力。  ATmegal28單片機(jī)采用低功率、非揮發(fā)性CMOS工藝制造,內(nèi)部分別集成Flash、EEPROM和SRAM三種不同性能和用途的存儲(chǔ)器。除了可以通過SPI口和一般的編程器對單片機(jī)的Flash程序存儲(chǔ)器和EEPROM數(shù)據(jù)存儲(chǔ)器進(jìn)行編程外,還具有在線編程(ISP)的特點(diǎn)。  在程序設(shè)計(jì)上,ATmegal28的結(jié)構(gòu)適宜采用匯編語言和高級(jí)語言來編寫嵌入式系統(tǒng)的系統(tǒng)程序,支持C語言的開發(fā)。并且ATmegal28單片機(jī)具有多種開發(fā)工具,如IAR、WinAVR、ICCAVR、CodeVision、BASCOM:一AVR等。開發(fā)者無須昂貴的開發(fā)工具(開發(fā)板或評估板),只要在WinAVR編譯環(huán)境下把應(yīng)用程序編譯好,再結(jié)合它本身的在線可編程特性,就可以把程序下載到單片機(jī)的存儲(chǔ)器里。

內(nèi)容概要

本書介紹了ATMEL公司開發(fā)的AVR單片機(jī)的特點(diǎn)、各種AVR單片機(jī)所具有的片上資源和外設(shè)接口。并選用了一款高端AVR單片機(jī)——ATmega128單片機(jī)為王線,詳細(xì)地介紹了其硬件組成和結(jié)構(gòu);講述了ATmega128單片機(jī)的指令系統(tǒng),并在書中配有大量的實(shí)例,做到邊學(xué)習(xí)邊調(diào)試,使讀者能夠真正理解各指令的功能、使用及注意事項(xiàng);深入地講解了ATmega128單片機(jī)開發(fā)工具WinAVR及集成開發(fā)環(huán)境AVR studio,并通過實(shí)例介紹了WinAVR進(jìn)行ATmega128單片機(jī)系統(tǒng)開發(fā)的兩種途徑;然后講述了ATmega128單片機(jī)片上資源和接口資源的特點(diǎn)、應(yīng)用程序設(shè)計(jì)及應(yīng)用實(shí)例;作為進(jìn)一步的提高,后續(xù)章節(jié)通過有代表性的、復(fù)雜的編程和應(yīng)用,給讀者提供一個(gè)提升的平臺(tái)。    本書有較強(qiáng)的系統(tǒng)性和實(shí)用性,適合于開發(fā)ATmega128單片機(jī)的工程技術(shù)人員閱讀,也可作為高等院校自動(dòng)化、計(jì)算機(jī)、電子信息等專業(yè)的教學(xué)參考書和ATmega128單片機(jī)應(yīng)用技術(shù)的培訓(xùn)教材。

書籍目錄

前言第1章 AVR單片機(jī)概述  1.1 AVR單片機(jī)簡介  1.2 選擇合適的AVR單片機(jī)  1.3 ATmega128單片機(jī)簡介    1.3.1 ATmega128單片機(jī)的特點(diǎn)    1.3.2 ATmega128單片機(jī)的引腳配置    1.3.3 ATmega128單片機(jī)的總體結(jié)構(gòu)    1.3.4 ATmega128單片機(jī)的CPU內(nèi)核    1.3.5 ATmega128與ATmega103的兼容性第2章 ATmega128單片機(jī)的硬件結(jié)構(gòu)  2.1 ATmega128單片機(jī)的存儲(chǔ)器組織    2.1.1 可編程Rash程序存儲(chǔ)器    2.1.2 SRAM數(shù)據(jù)存儲(chǔ)器    2.1.3 EEPROM數(shù)據(jù)存儲(chǔ)器    2.1.4 I/O存儲(chǔ)器    2.1.5 外部存儲(chǔ)器接口  2.2 ATmega128單片機(jī)系統(tǒng)的時(shí)鐘    2.2.1 ATmega128單片機(jī)時(shí)鐘系統(tǒng)結(jié)構(gòu)    2.2.2 時(shí)鐘源的選擇  2.3 ATmega128單片機(jī)的休眠狀態(tài)    2.3.1 工作模式    2.3.2 與休眠狀態(tài)工作模式相關(guān)的寄存器  2.4 ATmegal28單片機(jī)的I/O端口    2.4.1 通用數(shù)字I/O端口    2.4.2 I/O端口的第二功能    2.4.3 I/O端口寄存器的說明  2.5 ATmegal28單片機(jī)的中斷    2.5.1 ATmegal28單片機(jī)的中斷向量    2.5.2 ATmegal28單片機(jī)的外部中斷  2.6 ATmegal28單片機(jī)的定時(shí)器/計(jì)數(shù)器    2.6.1 8位定時(shí)器/計(jì)數(shù)器T/CO    2.6.2 8位定時(shí)器/計(jì)數(shù)器T/C2    2.6.3 16位定時(shí)器/計(jì)數(shù)器1T/C1和T/C3  2.7 ATmega128單片機(jī)的輸出比較調(diào)節(jié)器  2.8 同步串行口SPI    2.8.1 SPI工作原理    2.8.2 與SPI接口操作相關(guān)的寄存器說明  2.9 通用同步/異步串行口USART    2.9.1 USART概述    2.9.2 數(shù)據(jù)發(fā)送機(jī)理    2.9.3 數(shù)據(jù)接收機(jī)理    2.9.4 接收異步數(shù)據(jù)機(jī)理    2.9.5 多處理器通信模式    2.9.6 USART接口操作相關(guān)寄存器說明  2.10 ATmega128單片機(jī)的TWI總線接口    2.10.1 TWI協(xié)議的幀格式    2.10.2 TWI接口操作相關(guān)寄存器說明  2.11 ATmega128單片機(jī)模擬比較器    2.11.1 模擬比較器操作相關(guān)寄存器說明    2.11.2 模擬比較器多工輸入  2.12 ATmega128單片機(jī)A/D轉(zhuǎn)換    2.12.1 模數(shù)轉(zhuǎn)換器的結(jié)構(gòu)    2.12.2 與A/D轉(zhuǎn)換相關(guān)的寄存器  2.13 ATmega128單片機(jī)的熔絲位    2.13.1 ATmega128單片機(jī)熔絲位的配置注意事項(xiàng)    2.13.2 ATmega128重要熔絲位的定義和配置方式第3章 ATmega128單片機(jī)指令系統(tǒng)  3.1 ATmega128單片機(jī)的指令格式    3.1.1 ATmega128單片機(jī)指令系統(tǒng)的偽指令    3.1.2 ATmega128單片機(jī)指令系統(tǒng)的操作數(shù)    3.1.3 狀態(tài)寄存器——SREG  3.2 ATmega128單片機(jī)的指令系統(tǒng)簡述  3.3 尋址方式  3.4 數(shù)據(jù)傳送指令    3.4.1 直接數(shù)據(jù)傳輸指令    3.4.2 間接數(shù)據(jù)傳送指令    3.4.3 程序存儲(chǔ)器數(shù)據(jù)傳輸指令    3.4.4 I/O端口數(shù)據(jù)傳送指令    3.4.5 堆棧操作指令  3.5 算術(shù)運(yùn)算指令    3.5.1 加法指令    3.5.2 減法指令    3.5.3 取反碼指令    3.5.4 求補(bǔ)碼指令    3.5.5 比較指令    3.5.6 乘法指令  3.6 邏輯運(yùn)算指令    3.6.1 邏輯與指令    3.6.2 邏輯或指令    3.6.3 邏輯異或指令  3.7 跳轉(zhuǎn)指令    3.7.1 無條件跳轉(zhuǎn)指令    3.7.2 條件跳轉(zhuǎn)指令    3.7.3 調(diào)用和返回指令  3.8 位指令和位測試指令    3.8.1 帶進(jìn)位邏輯操作指令    3.8.2 位變量傳送指令    3.8.3 位變量修改指令  3.9 MCU指令  3.10 ATmega128單片機(jī)指令系統(tǒng)的應(yīng)用第4章 ATmega128單片機(jī)的系統(tǒng)開發(fā)工具  4.1 WinAVR軟件開發(fā)工具  4.2 利用PN文本編輯器及make工具進(jìn)行編譯    4.2.1 源代碼的編譯過程    4.2.2 在PN中添加工具    4.2.3 多文件的編譯  4.3 利用命令行方式進(jìn)行編譯  4.4 AVR Studio集成開發(fā)環(huán)境    4.4.1 軟件仿真    4.4.2 JTAG在線調(diào)試    4.4.3 JTAGICE簡介  4.5 AVR-GCC支持的API函數(shù)    4.5.1 程序存儲(chǔ)器的API函數(shù)    4.5.2 EEPROM的API函數(shù)    4.5.3 中斷的API函數(shù)    4.5.4 I/O端口的API函數(shù)    4.5.5 看門狗API  4.6 AVR-GCC API函數(shù)的應(yīng)用    4.6.1EEPROM API操作函數(shù)編程    4.6.2 看門狗API操作函數(shù)編程第5章 I/O端口的應(yīng)用  5.1 ATmega128 I/O端口的相關(guān)知識(shí)    5.1.1 通用數(shù)字I/O端口    5.1.2 端口的第二功能  5.2 ATmega128 I/O端口的相關(guān)寄存器說明  5.3 ATmega128鍵盤掃描硬件電路設(shè)計(jì)  5.4 ATmega128 I/O端口鍵盤掃描設(shè)計(jì)構(gòu)思  5.5 ATmega128 I/O端口鍵盤掃描程序第6章 中斷系統(tǒng)及其應(yīng)用  6.1 ATmega128中斷的相關(guān)知識(shí)  6.2 ATmega128中斷的相關(guān)寄存器說明  6.3 ATmega128中斷程序    6.3.1 基本外邵中斷    6.3.2 串口通信中斷第7章 定時(shí)器/計(jì)數(shù)器應(yīng)用  7.1 ATmega128定時(shí)器/計(jì)數(shù)器的相關(guān)知識(shí)  7.2 ATmega128定時(shí)器/計(jì)數(shù)器的相關(guān)寄存器說明  7.3 ATmega128定時(shí)器/計(jì)數(shù)器程序    7.3.1 簡單定時(shí)器程序    7.3.2 電子時(shí)鐘第8章 I/O端口應(yīng)用——模擬I2C協(xié)議  8.1 24LC512芯片的相關(guān)知識(shí)  8.2 ATmega128與24LC512硬件電路設(shè)計(jì)  8.3 24LC512程序設(shè)計(jì)構(gòu)思  8.4 模擬I2C協(xié)議的24LC512程序第9章 ATmega128片內(nèi)ADC的應(yīng)用  9.1 ATmega128片內(nèi)ADC的相關(guān)知識(shí)    9.1.1 A/D轉(zhuǎn)換過程    9.1.2 A/D轉(zhuǎn)換時(shí)序    9.1.3 A/D數(shù)據(jù)采集中的相關(guān)操作  9.2 ATmega128片內(nèi)ADC的相關(guān)寄存器說明  9.3 Armega128片內(nèi)ADC數(shù)據(jù)采集程序第10章 ATmega128片內(nèi)EEPROM應(yīng)用設(shè)計(jì)  10.1 ATmega128片內(nèi)EEPROM的相關(guān)知識(shí)  10.2 ATmega128片內(nèi)EEPROM的相關(guān)寄存器說明  10.3 ATmega128片內(nèi)EEPROM程序第11章 USART接口的應(yīng)用  11.1 USART接口的基本知識(shí)    11.1.1 時(shí)鐘產(chǎn)生    11.1.2 幀格式  11.2 微型打印機(jī)編程的基本知識(shí)    11.2.1 微型打印機(jī)的標(biāo)準(zhǔn)串口使用    11.2.2 微型打印機(jī)的串口設(shè)置    11.2.3 微型打印機(jī)的命令集  1l.3 ATmega128的USART接口寄存器說明  11.4 ATmega128與微型打印機(jī)的硬件電路設(shè)計(jì)  11.5 微型打印機(jī)的程序第12章 SPI接口的應(yīng)用  12.1 SPI接口的基本知識(shí)  12.2 SPI接口的EEPROM相關(guān)知識(shí)    12.2.1 讀命令    12.2.2 編程和擦除命令    12.2.3 其他命令  12.3 ATmega128的USART接口寄存器說明  12.4 ATmega128與AT45DB642的硬件電路設(shè)計(jì)  12.5 SPI接口的EEPROM程序第13章 串行TWI(I2C)接口應(yīng)用  13.1 I2C總線的基本知識(shí)    13.1.1 啟動(dòng)條件和停止條件    13.1.2 I2C總線的數(shù)據(jù)傳輸格式    13.1.3 應(yīng)答位  13.2 I2C總線接口日歷時(shí)鐘芯片的相關(guān)知識(shí)    13.2.1 寄存器結(jié)構(gòu)    13.2.2 PCF8563的I2C總線協(xié)議  13.3 ATmega128的I2C接口寄存器說明  13.4 PCF8563硬件電路設(shè)計(jì)  13.5 程序設(shè)計(jì)構(gòu)思  13.6 PCF8563通信程序第14章 LCD接口的應(yīng)用  14.1 T6963C芯片的相關(guān)知識(shí)    14.1.1 液晶顯示模塊的結(jié)構(gòu)特點(diǎn)    14.1.2 T6963C芯片的指令集    14.1.3 T6963C與ATmega128的接口時(shí)序  14.2 ATmega128與LCD硬件電路設(shè)計(jì)  14.3 LCD顯示程序第15章 高速AD7891的應(yīng)用  15.1 高速AD7891芯片的相關(guān)知識(shí)    15.1.1 模擬信號(hào)輸入    15.1.2 基準(zhǔn)電壓    15.1.3 控制寄存器    15.1.4 AD7891的時(shí)序  15.2 ATmega128與AD相關(guān)寄存器說明  15.3 ATmega128與AD7891的硬件電路設(shè)計(jì)  15.4 AD7891轉(zhuǎn)換數(shù)據(jù)采集程序第16章 溫度傳感器的應(yīng)用  16.1 溫度傳感器的相關(guān)知識(shí)    16.1.1 溫度傳感器DS1620    16.1.2 溫度傳感器DS18820  16.2 ATmega128與DS1620的硬件電路設(shè)計(jì)    16.2.1 ATmega128與Ds1620的硬件電路設(shè)計(jì)    16.2.2 ATmega128與DS18820的硬件電路設(shè)計(jì)  16.3 程序設(shè)計(jì)構(gòu)思  16.4 溫度傳感器轉(zhuǎn)換程序    16.4.1 DS1620溫度傳感器轉(zhuǎn)換程序    16.4.2 DS18B20溫度傳感器轉(zhuǎn)換程序第17章 機(jī)電設(shè)備綜合參數(shù)測試儀的硬件設(shè)計(jì)  17.1 機(jī)電設(shè)備綜合參數(shù)測試儀的總體設(shè)計(jì)    17.1.1 硬件總體設(shè)計(jì)    17.1.2 軟件總體設(shè)計(jì)  17.2 信號(hào)采集調(diào)理電路設(shè)計(jì)    17.2.1 模擬信號(hào)的輸入調(diào)理    17.2.2 開關(guān)量的輸入/輸出  17.3 系統(tǒng)主要外圍電路設(shè)計(jì)    17.3.1 A/D轉(zhuǎn)換    17.3.2 液晶顯示模塊設(shè)計(jì)    17.3.3 鍵盤模塊設(shè)計(jì)    17.3.4 日歷時(shí)鐘模塊設(shè)計(jì)    17.3.5 RAM接口電路設(shè)計(jì)    17.3.6 SD卡文件系統(tǒng)的實(shí)現(xiàn)    17.3.7 電源系統(tǒng)的搭建  17.4 機(jī)電設(shè)備綜合參數(shù)測試儀的電磁兼容性設(shè)計(jì)    17.4.1 硬件抗干擾設(shè)計(jì)    17.4.2 軟件抗干擾設(shè)計(jì)附錄參考文獻(xiàn)

編輯推薦

  《AVR單片機(jī)開發(fā)從入門到精通》由淺入深,循序漸進(jìn),以初中級(jí)開發(fā)人員為對象,先從ATmega128單片機(jī)的硬件結(jié)構(gòu)、指令系統(tǒng)講起,再介紹ATmega128單片機(jī)的開發(fā)工具和開發(fā)環(huán)境,然后介紹了初級(jí)和常規(guī)AVR單片機(jī)的應(yīng)用設(shè)計(jì),最后通過有代表性的、復(fù)雜的應(yīng)用設(shè)計(jì)實(shí)例,給讀者提供一個(gè)提升的平臺(tái)學(xué)習(xí),讓讀者真正精通AVR單片機(jī)的開發(fā)?!禔VR單片機(jī)開發(fā)從入門到精通》講解過程中步驟詳盡,版式新穎,并附有大量的圖形說明,讓讀者在閱讀中一目了然,從而快速把握書中內(nèi)容。

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    AVR單片機(jī)開發(fā)從入門到精通 PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

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

京ICP備13047387號(hào)-7