出版時(shí)間:2009-7 出版社:北京航空航天大學(xué) 作者:沈建良//趙文宏//賈玉坤//王華東//胡克佳 頁(yè)數(shù):604
Tag標(biāo)簽:無(wú)
前言
單片機(jī)又稱單片微控制器,其實(shí)質(zhì)是把一個(gè)微型計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。它的優(yōu)點(diǎn)是體積小,重量輕,價(jià)格便宜;現(xiàn)在通用的單片機(jī)按位數(shù)可分為4位機(jī)、8位機(jī)、16位機(jī)和32位機(jī)等。ATmega128/128L是Atmel公司推出的一款采用低功耗CMOS工藝生產(chǎn)的新型AVR高檔8位單片機(jī),是基于RISC(Reduced Instruction Set Computer)架構(gòu)的新型的單片機(jī),芯片內(nèi)部集成了128 KB F1ash的存儲(chǔ)器和豐富的硬件接口電路,是AVR高檔單片機(jī)MEGA系列中資源最豐富、性能最強(qiáng)大的單片機(jī);再加上AVR單片機(jī)的系統(tǒng)內(nèi)可編程特性,從而無(wú)須購(gòu)買(mǎi)昂貴的仿真器和編程器也可進(jìn)行單片機(jī)嵌入式系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),同時(shí)也為單片機(jī)的初學(xué)者提供了非常方便、簡(jiǎn)捷的學(xué)習(xí)開(kāi)發(fā)環(huán)境。另外,掌握了ATmegal28單片機(jī)的性能和使用技巧,就可以很容易地了解和掌握其他AVR高檔單片機(jī)。
內(nèi)容概要
本書(shū)以引導(dǎo)讀者快速掌握對(duì)ATmega128/128L單片機(jī)的編程為目的,詳細(xì)介紹了涉及編程的ATmega128/128L單片機(jī)內(nèi)部結(jié)構(gòu)和外圍接口的特點(diǎn)、性能及其指令系統(tǒng)。在此基礎(chǔ)上,又介紹了ICCAVR 6.31A、GCCAVR、CodeVision AVR、IAR等集成開(kāi)發(fā)環(huán)境編譯器使用C語(yǔ)言的相關(guān)知識(shí)以及AVR Studio調(diào)試環(huán)境。書(shū)中穿插大量的實(shí)用程序,并在最后一章給出了許多綜合實(shí)例;實(shí)例程序全部用C語(yǔ)言編寫(xiě),且已全部在ICCAVR 6.31A開(kāi)發(fā)環(huán)境上編譯通過(guò)。本書(shū)配光盤(pán)1張,包含書(shū)中全部實(shí)例程序的源代碼以及一些相關(guān)的學(xué)習(xí)資料。 本書(shū)適合于ATmega128單片機(jī)的初學(xué)者以及有一定單片機(jī)與嵌入式系統(tǒng)應(yīng)用基礎(chǔ)的電子工程技術(shù)人員閱讀,也可作為高等院校電子信息、自動(dòng)控制等專(zhuān)業(yè)教學(xué)和科研開(kāi)發(fā)的參考書(shū)。
書(shū)籍目錄
第1章 單片機(jī)概述 1.1 單片機(jī)發(fā)展概述 1.2 嵌入式系統(tǒng)與單片機(jī) 1.3 AVR單片機(jī)概述 1.4 AVR單片機(jī)的主要特點(diǎn) 1.5 AVR單片機(jī)最小系統(tǒng) 1.6 AVR單片機(jī)實(shí)驗(yàn)系統(tǒng)概述第2章 ATmega128硬件結(jié)構(gòu) 2.1 概述 2.1.1 結(jié)構(gòu)和主要特點(diǎn) 2.1.2 主要性能 2.1.3 封裝和引腳 2.1.4 指令系統(tǒng) 2.2 內(nèi)核 2.2.1 結(jié)構(gòu)概述 2.2.2 微控制器MCU 2.2.3 指令執(zhí)行時(shí)序 2.2.4 復(fù)位和中斷處理 2.3 存儲(chǔ)器結(jié)構(gòu) 2.3.1 系統(tǒng)內(nèi)可編程的Flash程序存儲(chǔ)器 2.3.2 SRAM數(shù)據(jù)存儲(chǔ)器 2.3.3 I/O寄存器 2.4 I/O端口描述 2.4.1 作為通用數(shù)字I/O的端口 2.4.2 數(shù)字輸入使能和睡眠模式 2.4.3 端口的第2功能 2.5 時(shí)鐘系統(tǒng) 2.5.1 時(shí)鐘系統(tǒng)和時(shí)鐘分配 2.5.2 時(shí)鐘源 2.5.3 外部晶振 2.5.4 外部低頻晶振 2.5.5 外部RC振蕩器 2.5.6 可校準(zhǔn)的片內(nèi)RC振蕩器 2.5.7 外部時(shí)鐘源 2.5.8 定時(shí)器/計(jì)時(shí)器振蕩器 2.5.9 系統(tǒng)時(shí)鐘分頻控制寄存器XDIV 2.6 定時(shí)器/計(jì)數(shù)器 2.6.1 定時(shí)器/計(jì)數(shù)器預(yù)分頻器 2.6.2 8位定時(shí)器/計(jì)數(shù)器T/C0 2.6.3 16位定時(shí)器/計(jì)數(shù)器 2.6.4 8位定時(shí)器/計(jì)時(shí)器T/C2 2.6.5 輸出比較調(diào)制器 2.7 中斷系統(tǒng) 2.7.1 復(fù)位和中斷向量表的移動(dòng) 2.7.2 在應(yīng)用區(qū)和Boot區(qū)之間移動(dòng)中斷 2.8 同步串行通信SPI 2.8.1 SPI接口控制與數(shù)據(jù)傳輸過(guò)程 2.8.2 與SPI接口相關(guān)的寄存器 2.9 通用同步和異步串行接收器和轉(zhuǎn)發(fā)器 2.9.1 概述 2.9.2 串行時(shí)鐘發(fā)生 2.9.3 數(shù)據(jù)幀格式 2.9.4 USART的初始化 2.9.5 發(fā)送數(shù)據(jù) 2.9.6 數(shù)據(jù)接收 2.9.7 異步串行數(shù)據(jù)的硬件掃描檢測(cè)和接收時(shí)序 2.9.8 多處理器通信模式 2.9.9 USART寄存器 2.9.10 設(shè)置波特率與偏差 2.10 TWI總線接口 2.10.1 兩線串行接口總線 2.10.2 TWI模塊 2.10.3 TWI 寄存器 2.10.4 使用TWI總線 2.10.5 多主機(jī)系統(tǒng)和仲裁 2.11 模擬比較器 2.12 模/數(shù)轉(zhuǎn)換器ADC接口 2.12.1 特點(diǎn) 2.12.2 操作過(guò)程 2.12.3 啟動(dòng)ADC轉(zhuǎn)換 2.12.4 預(yù)分頻和轉(zhuǎn)換時(shí)序 2.12.5 差分增益通道 2.12.6 輸入通道和基準(zhǔn)電源的選擇 2.12.7 ADC噪聲抑制器 2.12.8 ADC 轉(zhuǎn)換結(jié)果 2.12.9 有關(guān)的I/O寄存器 2.13 電源管理和休眠模式 2.13.1 MCU 控制寄存器——MCUCR 2.13.2 功耗最小化 2.14 調(diào)試端口 2.14.1 JTAG接口 2.14.2 JTAG在線仿真調(diào)試 2.14.3 JTAG程序下載功能 2.14.4 JTAG邊界掃描 2.14.5 ATmega128 邊界掃描次序 2.15 系統(tǒng)復(fù)位與看門(mén)狗 2.15.1 復(fù)位源 2.15.2 MCU控制和狀態(tài)寄存器——MCUCSR 2.15.3 片內(nèi)基準(zhǔn)電壓 2.15.4 看門(mén)狗定時(shí)器 2.16 M103模式 2.16.1 ATmega103與ATmega128的兼容性 2.16.2 ATmega103兼容模式 2.17 熔絲位 2.18 引導(dǎo)加載及自編程 2.18.1 引導(dǎo)加載的過(guò)程 2.18.2 相關(guān)I/O寄存器 2.18.3 Flash的自編程 2.18.4 一個(gè)簡(jiǎn)單的引導(dǎo)程序匯編代碼 2.19 數(shù)據(jù)存儲(chǔ)器讀/寫(xiě)訪問(wèn) 2.19.1 EEPROM讀/寫(xiě)訪問(wèn) 2.19.2 寄存器描述第3章 指令系統(tǒng) 3.1 概述 3.1.1 指令表 3.1.2 指令中使用的符號(hào) 3.1.3 尋址方式和尋址空間 3.2 算術(shù)和邏輯指令 3.2.1 加法指令 3.2.2 減法指令 3.2.3 取反碼指令 3.2.4 取補(bǔ)指令 3.2.5 比較指令 3.2.6 邏輯“與”指令 3.2.7 邏輯“或”指令 3.2.8 邏輯“異或”指令 3.2.9 乘法指令 3.3 跳轉(zhuǎn)指令 3.3.1 無(wú)條件跳轉(zhuǎn)指令 3.3.2 條件跳轉(zhuǎn)指令 3.3.3 測(cè)試條件符合跳行跳轉(zhuǎn)指令 3.3.4 子程序調(diào)用和返回指令 3.4 數(shù)據(jù)傳送指令 3.4.1 直接數(shù)據(jù)傳送指令 3.4.2 間接數(shù)據(jù)傳送指令 3.4.3 從程序存儲(chǔ)器直接取數(shù)據(jù)指令 3.4.4 寫(xiě)程序存儲(chǔ)器指令 3.4.5 I/O口數(shù)據(jù)傳送 3.4.6 堆棧操作指令 3.5 位指令和位測(cè)試指令 3.5.1 帶進(jìn)位邏輯操作指令 3.5.2 位變量傳送指令 3.5.3 位變量修改指令 3.6 MCU控制指令 3.7 AVR匯編語(yǔ)言系統(tǒng) 3.7.1 匯編語(yǔ)言語(yǔ)句格式 3.7.2 匯編器偽指令 3.7.3 表達(dá)式第4章 AVR單片機(jī)開(kāi)發(fā)工具 4.1 AVR Studio集成開(kāi)發(fā)環(huán)境 4.1.1 匯編程序編譯器AVR Assembler 4.1.2 仿真調(diào)試 4.1.3 程序下載 4.2 ICCAVR集成開(kāi)發(fā)環(huán)境 4.2.1 安裝ICCAVR編譯器 4.2.2 ICCAVR介紹 4.2.3 ICCAVR導(dǎo)游 4.2.4 C庫(kù)函數(shù)與啟動(dòng)文件 4.2.5 訪問(wèn)AVR硬件的編程 4.3 其他主流AVR單片機(jī)開(kāi)發(fā)環(huán)境 4.3.1 GCCAVR開(kāi)發(fā)環(huán)境 4.3.2 CodeVision AVR集成開(kāi)發(fā)環(huán)境 4.3.3 IAR集成開(kāi)發(fā)環(huán)境第5章 ICCAVR的C語(yǔ)言基礎(chǔ) 5.1 C語(yǔ)言概述 5.1.1 發(fā)展過(guò)程 5.1.2 特點(diǎn) 5.1.3 C源程序的結(jié)構(gòu)特點(diǎn) 5.1.4 字符集 5.1.5 C語(yǔ)言詞匯 5.2 C語(yǔ)言基礎(chǔ) 5.2.1 數(shù)據(jù)類(lèi)型 5.2.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式 5.2.3 關(guān)系運(yùn)算符和表達(dá)式 5.2.4 邏輯運(yùn)算符和表達(dá)式 5.3 控制語(yǔ)句 5.3.1 if語(yǔ)句 5.3.2 條件運(yùn)算符和條件表達(dá)式 5.3.3 switch語(yǔ)句 5.3.4 goto語(yǔ)句和goto語(yǔ)句構(gòu)成循環(huán) 5.3.5 while語(yǔ)句 5.3.6 dowhile語(yǔ)句 5.3.7 for語(yǔ)句 5.3.8 循環(huán)的嵌套和幾種循環(huán)的比較 5.3.9 break和continue語(yǔ)句 5.4 數(shù)組 5.4.1 一維數(shù)組的定義和引用 5.4.2 二維數(shù)組的定義和引用 5.4.3 字符數(shù)組 5.5 函數(shù) 5.5.1 概述 5.5.2 函數(shù)定義的一般形式 5.5.3 函數(shù)的參數(shù)和函數(shù)的值 5.5.4 函數(shù)的調(diào)用 5.5.5 函數(shù)的嵌套調(diào)用 5.5.6 函數(shù)的遞歸調(diào)用 5.5.7 數(shù)組作為函數(shù)參數(shù) 5.5.8 局部變量和全局變量 5.5.9 變量的存儲(chǔ)類(lèi)別 5.5.10 中斷服務(wù)函數(shù) 5.6 指 針 5.6.1 地址指針的基本概念 5.6.2 變量的指針和指向變量的指針變量 5.6.3 數(shù)組指針和指向數(shù)組的指針變量 5.6.4 字符串的指針指向字符串的指針變量 5.6.5 函數(shù)指針變量 5.6.6 指針數(shù)組和指向指針的指針 5.6.7 有關(guān)指針的數(shù)據(jù)類(lèi)型和指針運(yùn)算的小結(jié) 5.7 結(jié)構(gòu)體與共用體 5.7.1 定義結(jié)構(gòu)的一般形式 5.7.2 結(jié)構(gòu)類(lèi)型變量的說(shuō)明 5.7.3 結(jié)構(gòu)變量成員的表示方法 5.7.4 結(jié)構(gòu)變量的初始化 5.7.5 結(jié)構(gòu)數(shù)組的定義 5.7.6 結(jié)構(gòu)指針變量的說(shuō)明和使用 5.7.7 共用體 5.7.8 枚舉類(lèi)型 5.7.9 類(lèi)型定義符typedef 5.8 位運(yùn)算 5.8.1 位運(yùn)算符 5.8.2 位域 5.9 編譯預(yù)處理 5.9.1 概述 5.9.2 宏定義 5.9.3 文件包含 5.9.4 條件編譯 5.10 ICCAVR附注與擴(kuò)充第6章 ATmega128基礎(chǔ)實(shí)例 6.1 發(fā)光二極管應(yīng)用實(shí)驗(yàn) 6.1.1 實(shí)例功能 6.1.2 器件和原理 6.1.3 硬件電路 6.1.4 程序設(shè)計(jì) 6.2 鍵盤(pán)電路應(yīng)用實(shí)例 6.2.1 實(shí)例功能 6.2.2 器件和原理 6.2.3 程序設(shè)計(jì) 6.3 LED數(shù)碼管應(yīng)用實(shí)例 6.3.1 實(shí)例功能 6.3.2 器件和原理 6.3.3 硬件電路 6.3.4 程序設(shè)計(jì) 6.4 片內(nèi)EEPROM應(yīng)用實(shí)例 6.4.1 實(shí)例功能 6.4.2 ATmega128片內(nèi)EEPROM內(nèi)部寄存器 6.4.3 硬件原理圖 6.5 PWM應(yīng)用實(shí)例 6.5.1 脈沖寬度控制PWM的工作原理 6.5.2 ATmega128內(nèi)部PWM模塊 6.5.3 利用T/C0的PWM模塊產(chǎn)生鋸齒波 6.6 ADC應(yīng)用實(shí)例 6.6.1 實(shí)例功能 6.6.2 ATmega128片內(nèi)ADC內(nèi)部寄存器 6.6.3 硬件原理圖 6.6.4 程序設(shè)計(jì) 6.7 串行口應(yīng)用實(shí)例 6.7.1 實(shí)例功能 6.7.2 硬件電路 6.7.3 程序設(shè)計(jì) 6.8 定時(shí)器應(yīng)用實(shí)例 6.8.1 實(shí)例功能 6.8.2 硬件原理圖 6.8.3 程序設(shè)計(jì)第7章 ATmega128高級(jí)應(yīng)用實(shí)例 7.1 LCD顯示屏應(yīng)用實(shí)例 7.1.1 液晶顯示概述 7.1.2 1602字符型LCD概述 7.1.3 1602 LCD的軟硬件設(shè)計(jì) 7.1.4 128×64點(diǎn)陣型LCD應(yīng)用實(shí)例 7.2 單總線數(shù)字溫度傳感器DS18B20應(yīng)用實(shí)例 7.2.1 單總線技術(shù)概述 7.2.2 單總線溫度傳感器DS18B20概述 7.2.3 DS18B20的軟/硬件設(shè)計(jì) 7.3 I2C總線軟/硬件設(shè)計(jì)實(shí)例 7.3.1 I2C串行總線概述 7.3.2 I2C總線器件工作原理及時(shí)序 7.3.3 AT24C系列存儲(chǔ)器的軟/硬件設(shè)計(jì) 7.4 93CXX系列存儲(chǔ)器應(yīng)用實(shí)例 7.4.1 SPI總線概述 7.4.2 93C46存儲(chǔ)器的軟/硬件設(shè)計(jì) 7.5 DS1302時(shí)鐘芯片應(yīng)用實(shí)例 7.5.1 實(shí)時(shí)時(shí)鐘概述 7.5.2 DS1302的軟/硬件設(shè)計(jì)實(shí)例 7.6 紅外遙控軟件解碼應(yīng)用實(shí)例 7.6.1 紅外遙控概述 7.6.2 SAA3010紅外接收的軟件解碼應(yīng)用實(shí)例 7.7 步進(jìn)電動(dòng)機(jī)應(yīng)用軟/硬件設(shè)計(jì)實(shí)例 7.7.1 步進(jìn)電動(dòng)機(jī)概述 7.7.2 步進(jìn)電動(dòng)機(jī)的控制 7.7.3 步進(jìn)電動(dòng)機(jī)的應(yīng)用設(shè)計(jì) 7.8 U盤(pán)存儲(chǔ)器應(yīng)用實(shí)例 7.8.1 USB概述 7.8.2 USB總線接口芯片CH375 7.8.3 U盤(pán)存儲(chǔ)器的應(yīng)用設(shè)計(jì) 7.9 GSM模塊應(yīng)用實(shí)例 7.9.1 GSM概述 7.9.2 西門(mén)子TC35模塊概述 7.10 D/A軟硬件設(shè)計(jì)實(shí)例 7.10.1 D/A轉(zhuǎn)換原理及主要技術(shù)指標(biāo) 7.10.2 DAC0832芯片及與單片機(jī)的接口實(shí)例 7.11 GPS模塊應(yīng)用實(shí)例 7.11.1 GPS概述 7.11.2 ublox LEA4S模塊概述 7.11.3 GPS的應(yīng)用設(shè)計(jì) 7.12 LED點(diǎn)陣顯示屏的應(yīng)用實(shí)例 7.12.1 LED點(diǎn)陣的種類(lèi)及結(jié)構(gòu) 7.12.2 8×8單色點(diǎn)陣LED的工作原理 7.12.3 LED點(diǎn)陣顯示屏的系統(tǒng)設(shè)計(jì) 參考文獻(xiàn)
章節(jié)摘錄
插圖:第1章 單片機(jī)概述單片機(jī)(Single Chip Microcomputer)也稱為單片微電腦或單片微型計(jì)算機(jī),國(guó)際上統(tǒng)稱為微控制器(Microcontroller,MCU或μC),是一類(lèi)內(nèi)部集成了計(jì)算機(jī)核心技術(shù)的智能芯片。在單片機(jī)產(chǎn)生之前,完成一項(xiàng)稍復(fù)雜的功能往往需要一塊大而復(fù)雜的模擬電路,要花費(fèi)巨大的精力去調(diào)試、完善。隨著科技的不斷進(jìn)步,現(xiàn)在只要一塊幾厘米見(jiàn)方的單片機(jī),寫(xiě)入簡(jiǎn)單的程序,就可以使電路簡(jiǎn)單很多。相信讀者在使用并掌握了單片機(jī)技術(shù)后,不管在今后開(kāi)發(fā)或是工作上,一定會(huì)帶來(lái)意想不到的驚喜。1.1 單片機(jī)發(fā)展概述單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC這3大階段:①SCM即單片微型計(jì)算機(jī)(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。②MCU即微控制器(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)前Philips公司半導(dǎo)體部(現(xiàn)稱NXP公司)。前Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì),將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和前Philips的歷史功績(jī)。③單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決,因此,專(zhuān)用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。
編輯推薦
《Atmega128單片機(jī)入門(mén)與提高》是沈建良編著的,由北京航空航天大學(xué)出版社出版。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
ATmega128單片機(jī)入門(mén)與提高 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版