




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章ATmega16單片機的基本結(jié)構(gòu)1ATmega16單片機的內(nèi)部結(jié)構(gòu)2.2ATmega16單片機簡介2.1存儲器結(jié)構(gòu)和地址空間2.3I/O存儲器空間2.4ATmega16單片機的工作狀態(tài)2.52.1ATmega16單片機簡介21)
采用先進RISC結(jié)構(gòu)的AVR內(nèi)核?131條機器指令,且大多數(shù)為單周期指令;?32個8位通用工作寄存器;?工作在16MHz時具有16MIPS的性能。?配備只需要2個時鐘周期的硬件乘法器3
ATmega16單片機的特點2)片內(nèi)含有較大容量的非易失性的程序和數(shù)據(jù)存儲器?16K字節(jié)在線可編程(ISP,In-SysytemProgramming)Flash程序存儲器(擦除次數(shù)>1萬次),采用BootLoad技術(shù)支持IAP(InApplicationProgramming)功能;?1K字節(jié)的片內(nèi)SRAM數(shù)據(jù)存儲器,可實現(xiàn)3級鎖定的程序加密;?512字節(jié)片內(nèi)在線可編程EEPROM數(shù)據(jù)存儲器(壽命>10萬次);43)片內(nèi)含JTAG接口?支持符合JTAG(
JointTestActionGroup)標準的邊界掃描功能用于芯片檢測;?支持擴展的片內(nèi)在線調(diào)試功能;?可通過JTAG口對片內(nèi)的Flash、EEPROM、配置熔絲位和鎖定加密位實施下載編程;54)外圍接口
?2個帶有分別獨立、可設(shè)置預(yù)分頻器的8位定時器/計數(shù)器;
?1個帶有可設(shè)置預(yù)分頻器、具有比較、捕捉功能的16位定時器/計數(shù)器;
?片內(nèi)含獨立振蕩器的實時時鐘RTC;
?4路PWM通道;
?8路10位ADC;
64)外圍接口?面向字節(jié)的兩線接口TWI(兼容I2C硬件接口);
?1個可編程的增強型全雙工的,支持同步/異步通信的串行接口USART;
?1個可工作于主機/從機模式的SPI串行外設(shè)接口(支持ISP程序下載);?片內(nèi)模擬比較器;
?內(nèi)含可編程的,具有獨立片內(nèi)振蕩器的看門狗定時器WDT。7
5)特殊的處理器特點
?片內(nèi)含上電復(fù)位電路以及可編程的掉電檢測復(fù)位電路BOD;
?片內(nèi)含有1M/2M/4M/8M,經(jīng)過標定的、可校正的RC振蕩器,可作為系統(tǒng)時鐘使用;
?多達21個各種類型的內(nèi)外部中斷源;
?有6種休眠模式支持省電方式工作。86)寬電壓、高速度、低功耗
?工作電壓范圍寬:ATmega16L2.7—5.5v,ATmega164.5—5.5v;
?運行速度:ATmega16L0—8M,ATmega160—16M;
?低功耗:ATmega16L工作在1MHz、3v、25°時的典型功耗:正常工作模式為1.1mA,空閑工作模式0.35mA,掉電工作模式<1uA。9ATmega16共有32個可編程的I/O口(腳),芯片封裝形式有:
?40引腳的PDIP
?44引腳的TQFP10
ATmega16單片機的引腳1112
1)電源、系統(tǒng)晶振、芯片復(fù)位引腳?Vcc:使用時連接到電源正極。13?
AVcc:為端口A和片內(nèi)ADC模擬電路電源輸入引腳。不使用ADC時,直接連接到電源正極;使用ADC時,應(yīng)通過一個低通電源濾波器與Vcc連接。?
AREF:使用ADC時,可作為外部ADC參考源的輸入引腳。
?
GND:使用時接地。1)電源、系統(tǒng)晶振、芯片復(fù)位引腳?XTAL2:片內(nèi)反相振蕩放大器的輸出端。14
?
XTAL1:片內(nèi)反相振蕩放大器和內(nèi)部時鐘操作電路的輸入端。?
RESET:在該引腳上施加(拉低)一個最小脈沖寬度為1.5us的低電平,將引起芯片的硬件復(fù)位(外部復(fù)位)。2)32根I/O引腳
分成PA、PB、PC和PD四個8位端口,他們?nèi)渴强删幊炭刂频碾p(多)功能復(fù)用的I/O引腳(口)。15
如果AVR的I/O口設(shè)置為輸出方式工作,當其輸出高電平時,能夠輸出20mA的電流;而當其輸出低電平時,可以吸收最大40mA的電流。而早期單片機I/O口的驅(qū)動能力只有5mA,驅(qū)動LED時,還需要增加外部的驅(qū)動電路和器件。芯片Reset復(fù)位后,所有I/O口的缺省狀態(tài)為:輸入方式,上拉電阻無效,即I/O為輸入高阻的三態(tài)狀態(tài)。162.2ATmega16單片機的內(nèi)部結(jié)構(gòu)1718AVR單片機的內(nèi)部結(jié)構(gòu)19
ATmage16是AVR內(nèi)核的具體化,其內(nèi)核結(jié)構(gòu)下圖所示。ATmega16內(nèi)部的主要構(gòu)成部分有以下幾部分:●
中央處理器CPU●
程序存儲器Flash●
數(shù)據(jù)存儲器RAM和EEPROM●
I/O端口ATmega16單片機的內(nèi)核結(jié)構(gòu)2021ATmega16單片機的內(nèi)核結(jié)構(gòu)中央處理器CPU·運算邏輯單元ALU
·程序計數(shù)器、指令寄存器和指令譯碼器
·通用工作寄存器組存儲器·SRAM數(shù)據(jù)存儲器:1KB
·E2PROM數(shù)據(jù)數(shù)據(jù)存儲器:512B
·Flash程序存儲器:16KB22ATmega16單片機的內(nèi)核結(jié)構(gòu)I/O口
ATmega16有32個I/O引腳,對應(yīng)四個8位的雙向I/O端口PA、PB、PC、PD。在5V工作電壓下,引腳可以輸出20mA的驅(qū)動電流,能吸納最大為40mA的電流。每一個引腳可以獨立地用于邏輯信號的輸入和輸出,可直接驅(qū)動發(fā)光二極管和小型繼電器。23ATmega16單片機的系統(tǒng)時鐘部件系統(tǒng)時鐘
·直接使用片內(nèi)1/2/4/8M的RC振蕩源;
·在引腳XTAL1和XTAL2上外接由石英晶體和電容組成的諧振回路,配合片內(nèi)的OSC(Oscillator)振蕩電路構(gòu)成的振蕩源;
·直接使用外部的時鐘源輸出的脈沖信號。24ATmega16單片機的系統(tǒng)時鐘部件系統(tǒng)時鐘
·外接晶體的時鐘電路;
·直接使用外部時鐘源。25ATmega16單片機的系統(tǒng)時鐘部件內(nèi)部看門狗時鐘AVR片內(nèi)集成了一個1MHz獨立的看門狗定時器(WDT),因此,在使用AVR系列單片機時,就不需要外接看門狗電路。26ATmega16單片機CPU的工作時序并行指令存取和指令執(zhí)行時序27ATmega16單片機CPU的工作時序單周期ALU操作時序28ATmega16單片機CPU的工作時序
片內(nèi)數(shù)據(jù)SRAM訪問時序2.3存儲器結(jié)構(gòu)和地址空間29存儲器結(jié)構(gòu)和地址空間
1.Flash程序存儲器Flash存儲器的使用壽命最少為1萬次寫/擦循環(huán)。ATmega16單片機的程序存儲器為8Kx16位,程序計數(shù)器PC寬為13位,以此來對8K字程序存儲器地址進行尋址。程序存儲器的地址空間與數(shù)據(jù)存儲器的地址空間是分開的,地址空間從$000開始。30存儲器結(jié)構(gòu)和地址空間2.SRAM數(shù)據(jù)存儲器31全部共1120個數(shù)據(jù)存儲器地址為線性編址,其中:前96個地址為寄存器組(32個8位通用寄存器),I/O寄存器(64個8位I/O寄存器),分配在SRAM數(shù)據(jù)地址空間的$0000~$001F,$0020~$005F。接下來的1024個地址是片內(nèi)數(shù)據(jù)SRAM,地址空間占用$0060~$045F。32存儲器結(jié)構(gòu)和地址空間
3.內(nèi)部E2PROM存儲器內(nèi)部512字節(jié)的EEPROM數(shù)據(jù)存儲器,用來保存一些掉電后用戶不希望丟失的數(shù)據(jù)及開機時用到的參數(shù)等,這些數(shù)據(jù)在程序運行過程中可以改變。其地址范圍為$0000~$01FF。可以按字節(jié)讀寫,壽命至少為10萬次擦除周期。其訪問由地址寄存器、數(shù)據(jù)寄存器和控制寄存器決定。33存儲器結(jié)構(gòu)和地址空間?E2PROM地址寄存器——EEARH和EEARL34E2PROM地址寄存器EEARH和EEARL指定了512字節(jié)的E2PROM空間。?Bits15...9—保留位:讀操作返回值為零。?Bits8...0—EEAR8...0:EEPROM地址。存儲器結(jié)構(gòu)和地址空間?E2PROM數(shù)據(jù)寄存器——EEDR35
當CPU對EEPROM進行寫操作時,EEDR寄存器里存放的是需要寫到地址寄存器EEAR單元的數(shù)據(jù);當CPU對EEPROM進行讀操作時,EEDR寄存器里存放的是從地址寄存器EEAR讀取的數(shù)據(jù)。存儲器結(jié)構(gòu)和地址空間?E2PROM控制寄存器——EECR36EEPROM控制寄存器EECR定義了CPU對EEPROM進行操作的各個控制位,包括準備好中斷使能、讀操作使能、寫操作使能等。存儲器結(jié)構(gòu)和地址空間?E2PROM控制寄存器——EECR37?Bits7...4—保留位:讀操作返回值為零。?Bit3—EERIE:使能EEPROM準備好中斷。?Bit2—EEMWE:EEPROM主機寫使能。?Bit1—EEWE:EEPROM寫使能。?Bit0—EERE:EEPROM讀使能。存儲器結(jié)構(gòu)和地址空間?E2PROM控制寄存器——EECR38?Bits7...4—保留位:讀操作返回值為零。?Bit3—EERIE:使能EEPROM準備好中斷。若SREG寄存器的I位為“1”,則當EERIE位為“1”時,將使能EEPROM準備好中斷;當EERIE位為“0”時,則禁止此中斷。當EEWE位清零時,EEPROM準備好中斷即可發(fā)生。2.4I/O寄存器空間39
ATmega16I/O寄存器空間分配表4064個I/O寄存器414243AVR系列單片機所有I/O口及外圍接口的功能和配置均通過I/O寄存器進行設(shè)置和使用。CPU訪問I/O寄存器可以使用兩種不同的方法,使用對I/O寄存器訪問的IN、OUT專用指令,以及使用對SRAM訪問的指令。在I/O寄存器專用指令I(lǐng)N、OUT中使用I/O寄存器地址$00~$3F。當以SRAM方式尋址I/O寄存器時,必須將該地址加上$0020,映射成在數(shù)據(jù)存儲器空間的地址(在圓括號中)。44狀態(tài)寄存器SREG是一個8位標志寄存器,用來存放指令執(zhí)行后的有關(guān)狀態(tài)和結(jié)果的標志。?Bit7—I:全局中斷使能位該標志位為AVR中斷總控制開關(guān),當I位被置位(“1”)時,表示CPU可以響應(yīng)中斷請求,而當I位被清零(“0”),則所有的中斷被禁止,CPU不響應(yīng)任何的中斷請求。45I狀態(tài)寄存器?Bit6—T:位復(fù)制存儲位復(fù)制指令BLD和BST使用T標志位作為源和目標。通用寄存器組中任何一個寄存器中的一位可以通過BST指令被復(fù)制到T中,而用BLD指令則可將T中的位值復(fù)制到通用寄存器組中的任何一個寄存器的一位中。46T?Bit5—H:半進位標志位半進位標志位H表示在一些運算操作過程中有無半進位(低四位向高四位進、借位)的產(chǎn)生,該標志對于BCD碼的運算和處理非常有用。47H?Bit4—S:符號標志位,S=N⊕VS位是負數(shù)標志位N和2的補碼溢出標志位V兩者異或值。在正常運算條件下(V=0,不溢出)S=N,即運算結(jié)果最高位作為符號是正確的。而當產(chǎn)生溢出時V=1,此時N已不能正確指示運算結(jié)果的正負,但S=N⊕V還是正確的。對于單(或多)字節(jié)有符號數(shù)據(jù)說,執(zhí)行減法或比較操作后,S標志能正確指示參與相減或比較的兩個數(shù)的大小。48S?Bit3—V:2的補碼溢出標志位2的補碼溢出標志位V,支持2的補碼運算,為模2補碼加、減運算溢出標志。溢出表示運算結(jié)果超過了正數(shù)(或負數(shù))所能表示的范圍。加法溢出表現(xiàn)為正+正=負,或負+負=正;減法溢出表現(xiàn)為正-負=負,或負-正=正。49V?Bit2—N:負數(shù)標志位負數(shù)標志位直接取自運算結(jié)果的最高位,N=1時表示運算結(jié)果為負,否則為正。但發(fā)生溢出時不能表示真實的結(jié)果。?Bit1—Z:零值標志位零值標志位表明在CPU運算和邏輯操作之后,其結(jié)果是否為零,當Z=1表示結(jié)果為零。?Bit0-C:進/借位標志進位標志位表明在CPU的運算和邏輯操作過程中有無發(fā)生進/借位。50NZC堆棧是由一塊連續(xù)的SRAM空間和一個堆棧指針寄存器SP組成,主要應(yīng)用于快速便捷的保存臨時數(shù)據(jù)、局部變量和中斷調(diào)用或子程序調(diào)用的返回地址。只要程序中使用了中斷和子程序調(diào)用,就必須正確的設(shè)置堆棧指針寄存器SP,在SRAM空間建立堆棧區(qū)。堆棧是一種特殊的線性數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)的進出在堆棧的頂部進行,并遵循后進先出(LIFO)的原則。堆棧指針就是堆棧頂部的地址,它隨著堆棧中數(shù)據(jù)的進出而變化。堆棧指針寄存器SP中保存著堆棧指針。51堆棧指針寄存器SP16位堆棧指針寄存器SP由處在I/O地址空間$3E($005E)、$3D($005D)的兩個8位寄存器SPH和SPL構(gòu)成。AVR單片機復(fù)位后堆棧寄存器的初始值為SPH=$00、SPL=$00,因此用戶程序必須首先對堆棧指針寄存器SP進行初始化設(shè)置。52AVR的堆棧區(qū)是建立在SRAM空間的,16位的SP寄存器可以尋址的空間為64K。但在實際應(yīng)用中,還必須考慮所使用AVR芯片SRAM空間的實際情況和所配備的SRAM容量的大小。首先,堆棧區(qū)應(yīng)該避開寄存器區(qū)域所對應(yīng)的SRAM空間,防止堆棧操作時改變了寄存器的設(shè)置。由于AVR的堆棧是向下增長的,即新數(shù)據(jù)進入堆棧時棧頂指針的數(shù)據(jù)將減小,所以通常初始化時將SP的指針設(shè)在SRAM最高處。53對于ATmega16芯片,堆棧指針必須指向高于$0060的SRAM地址空間,因為低于$0060的區(qū)域為寄存器空間。ATmega16片內(nèi)集成有1K的SRAM,不支持外部擴展SRAM,所以堆棧指針寄存器SP的初始值應(yīng)設(shè)在SRAM的最高端:$045F處。542
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 付費團課營銷活動方案
- 代號英雄活動方案
- 代表委員+活動方案
- 代賬公司部門策劃方案
- 以文會友活動方案
- 仲景文化宣傳周活動方案
- 企業(yè)義務(wù)植樹活動方案
- 企業(yè)會客廳活動策劃方案
- 企業(yè)公司內(nèi)部團建活動方案
- 企業(yè)參訪園區(qū)活動方案
- 2024年國家知識產(chǎn)權(quán)局知識產(chǎn)權(quán)發(fā)展研究中心招聘考試真題
- 酒店工傷事故預(yù)防
- 保險公司迎檢工作方案
- 2025年廣東省深圳市31校聯(lián)考中考二?;瘜W試題(含答案)
- 2025年安全管理員安全培訓考試試題(典型題)
- 電商運營崗位技能測試卷
- 語言習得神經(jīng)機制探究-深度研究
- 中國海洋生態(tài)環(huán)境監(jiān)測市場調(diào)查研究及行業(yè)投資潛力預(yù)測報告
- 安全環(huán)保專業(yè)試題庫
- 機房動力系統(tǒng)綜合實訓知到智慧樹章節(jié)測試課后答案2024年秋四川郵電職業(yè)技術(shù)學院
- GB 45184-2024眼視光產(chǎn)品元件安全技術(shù)規(guī)范
評論
0/150
提交評論