出版時間:2009-6 出版社:中國電力出版社 作者:溫正,何嘉揚,趙志鵬 編著 頁數(shù):339
Tag標(biāo)簽:無
前言
隨著嵌入式系統(tǒng)應(yīng)用技術(shù)的不斷發(fā)展,對于核心處理器性能的要求也越來越高,一些傳統(tǒng)控制芯片已經(jīng)難以勝任許多復(fù)雜的任務(wù)。使用傳統(tǒng)的5l系列單片機設(shè)計應(yīng)用系統(tǒng)常常會帶來種種限制,甚至影響到整個系統(tǒng)的性能水平。隨著微控制器技術(shù)的快速發(fā)展,我們有必要緊跟電子技術(shù)發(fā)展的前沿,研究單片機技術(shù)的最新進展,熟悉新型高性能芯片的性能,掌握其應(yīng)用技巧,為設(shè)計出有競爭力的高性價比的高端嵌入式系統(tǒng)創(chuàng)造條件。 近年來單片機技術(shù)得到快速發(fā)展,出現(xiàn)了一批新型高性能單片機,為高端應(yīng)用提供了選擇空間,AVR系列單片機就是其中的一類。AVR單片機是ATMEL公司推出的配置精簡指令集單片機系列。其片內(nèi)程序存儲器采用Flash存儲器,可反復(fù)編程修改上千次,多數(shù)指令僅用一個周期完成,從而能高效迅速地開發(fā)新產(chǎn)品?! ”緯饕訟TMEL推出的AVR單片機中的高檔產(chǎn)品——ATmegal28單片機為主線進行介紹,其間也穿插介紹了各種AVR單片機所具有的特點、片上資源和外設(shè)接口。ATmegal28單片機具有高速低功耗、超強功能、精簡指令的特點,能夠同時讀、寫。在執(zhí)行指令的同時,可通過SPI、UART或兩線接口對快閃存儲器進行編程或重新編程。ATmegal28在實際應(yīng)用中有著非常強大的功能?! Tmegal28單片機吸收了DSP雙總線的特點,采用Haryard總線結(jié)構(gòu),因此單片機的程序存儲器和數(shù)據(jù)存儲器是分離的,并且可對具有相同地址的程序存儲器和數(shù)據(jù)存儲器進行獨立尋址。在ATmegal28單片機中,CPu執(zhí)行當(dāng)前指令時取出將要執(zhí)行的下一條指令放入寄存器中,從而可以避免傳統(tǒng)MCS一5l系列單片機中多指令周期的出現(xiàn)。而且ATmegal28單片機的寄存器由32個通用工作寄存器組成,并且任何一個寄存器都可以充當(dāng)累加器,從而有效地避免了傳統(tǒng)的MCS.51系列單片機所有的數(shù)據(jù)處理由于基于一個累加器的瓶頸效應(yīng),提高了系統(tǒng)的性能。這些結(jié)構(gòu)提高了代碼效率,使AVR的運行速度比普通CISC單片機高出10倍,具有1MIPs/MHz的處理能力?! Tmegal28單片機采用低功率、非揮發(fā)性CMOS工藝制造,內(nèi)部分別集成Flash、EEPROM和SRAM三種不同性能和用途的存儲器。除了可以通過SPI口和一般的編程器對單片機的Flash程序存儲器和EEPROM數(shù)據(jù)存儲器進行編程外,還具有在線編程(ISP)的特點。 在程序設(shè)計上,ATmegal28的結(jié)構(gòu)適宜采用匯編語言和高級語言來編寫嵌入式系統(tǒng)的系統(tǒng)程序,支持C語言的開發(fā)。并且ATmegal28單片機具有多種開發(fā)工具,如IAR、WinAVR、ICCAVR、CodeVision、BASCOM:一AVR等。開發(fā)者無須昂貴的開發(fā)工具(開發(fā)板或評估板),只要在WinAVR編譯環(huán)境下把應(yīng)用程序編譯好,再結(jié)合它本身的在線可編程特性,就可以把程序下載到單片機的存儲器里。
內(nèi)容概要
本書介紹了ATMEL公司開發(fā)的AVR單片機的特點、各種AVR單片機所具有的片上資源和外設(shè)接口。并選用了一款高端AVR單片機——ATmega128單片機為王線,詳細(xì)地介紹了其硬件組成和結(jié)構(gòu);講述了ATmega128單片機的指令系統(tǒng),并在書中配有大量的實例,做到邊學(xué)習(xí)邊調(diào)試,使讀者能夠真正理解各指令的功能、使用及注意事項;深入地講解了ATmega128單片機開發(fā)工具WinAVR及集成開發(fā)環(huán)境AVR studio,并通過實例介紹了WinAVR進行ATmega128單片機系統(tǒng)開發(fā)的兩種途徑;然后講述了ATmega128單片機片上資源和接口資源的特點、應(yīng)用程序設(shè)計及應(yīng)用實例;作為進一步的提高,后續(xù)章節(jié)通過有代表性的、復(fù)雜的編程和應(yīng)用,給讀者提供一個提升的平臺。 本書有較強的系統(tǒng)性和實用性,適合于開發(fā)ATmega128單片機的工程技術(shù)人員閱讀,也可作為高等院校自動化、計算機、電子信息等專業(yè)的教學(xué)參考書和ATmega128單片機應(yīng)用技術(shù)的培訓(xùn)教材。
書籍目錄
前言第1章 AVR單片機概述 1.1 AVR單片機簡介 1.2 選擇合適的AVR單片機 1.3 ATmega128單片機簡介 1.3.1 ATmega128單片機的特點 1.3.2 ATmega128單片機的引腳配置 1.3.3 ATmega128單片機的總體結(jié)構(gòu) 1.3.4 ATmega128單片機的CPU內(nèi)核 1.3.5 ATmega128與ATmega103的兼容性第2章 ATmega128單片機的硬件結(jié)構(gòu) 2.1 ATmega128單片機的存儲器組織 2.1.1 可編程Rash程序存儲器 2.1.2 SRAM數(shù)據(jù)存儲器 2.1.3 EEPROM數(shù)據(jù)存儲器 2.1.4 I/O存儲器 2.1.5 外部存儲器接口 2.2 ATmega128單片機系統(tǒng)的時鐘 2.2.1 ATmega128單片機時鐘系統(tǒng)結(jié)構(gòu) 2.2.2 時鐘源的選擇 2.3 ATmega128單片機的休眠狀態(tài) 2.3.1 工作模式 2.3.2 與休眠狀態(tài)工作模式相關(guān)的寄存器 2.4 ATmegal28單片機的I/O端口 2.4.1 通用數(shù)字I/O端口 2.4.2 I/O端口的第二功能 2.4.3 I/O端口寄存器的說明 2.5 ATmegal28單片機的中斷 2.5.1 ATmegal28單片機的中斷向量 2.5.2 ATmegal28單片機的外部中斷 2.6 ATmegal28單片機的定時器/計數(shù)器 2.6.1 8位定時器/計數(shù)器T/CO 2.6.2 8位定時器/計數(shù)器T/C2 2.6.3 16位定時器/計數(shù)器1T/C1和T/C3 2.7 ATmega128單片機的輸出比較調(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ā)送機理 2.9.3 數(shù)據(jù)接收機理 2.9.4 接收異步數(shù)據(jù)機理 2.9.5 多處理器通信模式 2.9.6 USART接口操作相關(guān)寄存器說明 2.10 ATmega128單片機的TWI總線接口 2.10.1 TWI協(xié)議的幀格式 2.10.2 TWI接口操作相關(guān)寄存器說明 2.11 ATmega128單片機模擬比較器 2.11.1 模擬比較器操作相關(guān)寄存器說明 2.11.2 模擬比較器多工輸入 2.12 ATmega128單片機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單片機的熔絲位 2.13.1 ATmega128單片機熔絲位的配置注意事項 2.13.2 ATmega128重要熔絲位的定義和配置方式第3章 ATmega128單片機指令系統(tǒng) 3.1 ATmega128單片機的指令格式 3.1.1 ATmega128單片機指令系統(tǒng)的偽指令 3.1.2 ATmega128單片機指令系統(tǒng)的操作數(shù) 3.1.3 狀態(tài)寄存器——SREG 3.2 ATmega128單片機的指令系統(tǒng)簡述 3.3 尋址方式 3.4 數(shù)據(jù)傳送指令 3.4.1 直接數(shù)據(jù)傳輸指令 3.4.2 間接數(shù)據(jù)傳送指令 3.4.3 程序存儲器數(shù)據(jù)傳輸指令 3.4.4 I/O端口數(shù)據(jù)傳送指令 3.4.5 堆棧操作指令 3.5 算術(shù)運算指令 3.5.1 加法指令 3.5.2 減法指令 3.5.3 取反碼指令 3.5.4 求補碼指令 3.5.5 比較指令 3.5.6 乘法指令 3.6 邏輯運算指令 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 帶進位邏輯操作指令 3.8.2 位變量傳送指令 3.8.3 位變量修改指令 3.9 MCU指令 3.10 ATmega128單片機指令系統(tǒng)的應(yīng)用第4章 ATmega128單片機的系統(tǒng)開發(fā)工具 4.1 WinAVR軟件開發(fā)工具 4.2 利用PN文本編輯器及make工具進行編譯 4.2.1 源代碼的編譯過程 4.2.2 在PN中添加工具 4.2.3 多文件的編譯 4.3 利用命令行方式進行編譯 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 程序存儲器的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)知識 5.1.1 通用數(shù)字I/O端口 5.1.2 端口的第二功能 5.2 ATmega128 I/O端口的相關(guān)寄存器說明 5.3 ATmega128鍵盤掃描硬件電路設(shè)計 5.4 ATmega128 I/O端口鍵盤掃描設(shè)計構(gòu)思 5.5 ATmega128 I/O端口鍵盤掃描程序第6章 中斷系統(tǒng)及其應(yīng)用 6.1 ATmega128中斷的相關(guān)知識 6.2 ATmega128中斷的相關(guān)寄存器說明 6.3 ATmega128中斷程序 6.3.1 基本外邵中斷 6.3.2 串口通信中斷第7章 定時器/計數(shù)器應(yīng)用 7.1 ATmega128定時器/計數(shù)器的相關(guān)知識 7.2 ATmega128定時器/計數(shù)器的相關(guān)寄存器說明 7.3 ATmega128定時器/計數(shù)器程序 7.3.1 簡單定時器程序 7.3.2 電子時鐘第8章 I/O端口應(yīng)用——模擬I2C協(xié)議 8.1 24LC512芯片的相關(guān)知識 8.2 ATmega128與24LC512硬件電路設(shè)計 8.3 24LC512程序設(shè)計構(gòu)思 8.4 模擬I2C協(xié)議的24LC512程序第9章 ATmega128片內(nèi)ADC的應(yīng)用 9.1 ATmega128片內(nèi)ADC的相關(guān)知識 9.1.1 A/D轉(zhuǎn)換過程 9.1.2 A/D轉(zhuǎn)換時序 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è)計 10.1 ATmega128片內(nèi)EEPROM的相關(guān)知識 10.2 ATmega128片內(nèi)EEPROM的相關(guān)寄存器說明 10.3 ATmega128片內(nèi)EEPROM程序第11章 USART接口的應(yīng)用 11.1 USART接口的基本知識 11.1.1 時鐘產(chǎn)生 11.1.2 幀格式 11.2 微型打印機編程的基本知識 11.2.1 微型打印機的標(biāo)準(zhǔn)串口使用 11.2.2 微型打印機的串口設(shè)置 11.2.3 微型打印機的命令集 1l.3 ATmega128的USART接口寄存器說明 11.4 ATmega128與微型打印機的硬件電路設(shè)計 11.5 微型打印機的程序第12章 SPI接口的應(yīng)用 12.1 SPI接口的基本知識 12.2 SPI接口的EEPROM相關(guān)知識 12.2.1 讀命令 12.2.2 編程和擦除命令 12.2.3 其他命令 12.3 ATmega128的USART接口寄存器說明 12.4 ATmega128與AT45DB642的硬件電路設(shè)計 12.5 SPI接口的EEPROM程序第13章 串行TWI(I2C)接口應(yīng)用 13.1 I2C總線的基本知識 13.1.1 啟動條件和停止條件 13.1.2 I2C總線的數(shù)據(jù)傳輸格式 13.1.3 應(yīng)答位 13.2 I2C總線接口日歷時鐘芯片的相關(guān)知識 13.2.1 寄存器結(jié)構(gòu) 13.2.2 PCF8563的I2C總線協(xié)議 13.3 ATmega128的I2C接口寄存器說明 13.4 PCF8563硬件電路設(shè)計 13.5 程序設(shè)計構(gòu)思 13.6 PCF8563通信程序第14章 LCD接口的應(yīng)用 14.1 T6963C芯片的相關(guān)知識 14.1.1 液晶顯示模塊的結(jié)構(gòu)特點 14.1.2 T6963C芯片的指令集 14.1.3 T6963C與ATmega128的接口時序 14.2 ATmega128與LCD硬件電路設(shè)計 14.3 LCD顯示程序第15章 高速AD7891的應(yīng)用 15.1 高速AD7891芯片的相關(guān)知識 15.1.1 模擬信號輸入 15.1.2 基準(zhǔn)電壓 15.1.3 控制寄存器 15.1.4 AD7891的時序 15.2 ATmega128與AD相關(guān)寄存器說明 15.3 ATmega128與AD7891的硬件電路設(shè)計 15.4 AD7891轉(zhuǎn)換數(shù)據(jù)采集程序第16章 溫度傳感器的應(yīng)用 16.1 溫度傳感器的相關(guān)知識 16.1.1 溫度傳感器DS1620 16.1.2 溫度傳感器DS18820 16.2 ATmega128與DS1620的硬件電路設(shè)計 16.2.1 ATmega128與Ds1620的硬件電路設(shè)計 16.2.2 ATmega128與DS18820的硬件電路設(shè)計 16.3 程序設(shè)計構(gòu)思 16.4 溫度傳感器轉(zhuǎn)換程序 16.4.1 DS1620溫度傳感器轉(zhuǎn)換程序 16.4.2 DS18B20溫度傳感器轉(zhuǎn)換程序第17章 機電設(shè)備綜合參數(shù)測試儀的硬件設(shè)計 17.1 機電設(shè)備綜合參數(shù)測試儀的總體設(shè)計 17.1.1 硬件總體設(shè)計 17.1.2 軟件總體設(shè)計 17.2 信號采集調(diào)理電路設(shè)計 17.2.1 模擬信號的輸入調(diào)理 17.2.2 開關(guān)量的輸入/輸出 17.3 系統(tǒng)主要外圍電路設(shè)計 17.3.1 A/D轉(zhuǎn)換 17.3.2 液晶顯示模塊設(shè)計 17.3.3 鍵盤模塊設(shè)計 17.3.4 日歷時鐘模塊設(shè)計 17.3.5 RAM接口電路設(shè)計 17.3.6 SD卡文件系統(tǒng)的實現(xiàn) 17.3.7 電源系統(tǒng)的搭建 17.4 機電設(shè)備綜合參數(shù)測試儀的電磁兼容性設(shè)計 17.4.1 硬件抗干擾設(shè)計 17.4.2 軟件抗干擾設(shè)計附錄參考文獻
編輯推薦
《AVR單片機開發(fā)從入門到精通》由淺入深,循序漸進,以初中級開發(fā)人員為對象,先從ATmega128單片機的硬件結(jié)構(gòu)、指令系統(tǒng)講起,再介紹ATmega128單片機的開發(fā)工具和開發(fā)環(huán)境,然后介紹了初級和常規(guī)AVR單片機的應(yīng)用設(shè)計,最后通過有代表性的、復(fù)雜的應(yīng)用設(shè)計實例,給讀者提供一個提升的平臺學(xué)習(xí),讓讀者真正精通AVR單片機的開發(fā)?!禔VR單片機開發(fā)從入門到精通》講解過程中步驟詳盡,版式新穎,并附有大量的圖形說明,讓讀者在閱讀中一目了然,從而快速把握書中內(nèi)容。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載