ATmega128單片機的系統(tǒng)結(jié)構(gòu)_第1頁
ATmega128單片機的系統(tǒng)結(jié)構(gòu)_第2頁
ATmega128單片機的系統(tǒng)結(jié)構(gòu)_第3頁
ATmega128單片機的系統(tǒng)結(jié)構(gòu)_第4頁
ATmega128單片機的系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、單片機原理與接口技術(shù)ATmega128單片機的系統(tǒng)結(jié)構(gòu)1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 1、ATmega128的CPU內(nèi)核1.1 AVR CPU內(nèi)核的結(jié)構(gòu)1.2 狀態(tài)寄存器1.3 通用寄存器結(jié)構(gòu)1.4 X、Y、Z寄存器1.5 堆棧指針1.6 復(fù)位和中斷處理1.1 AVR CPU內(nèi)核的結(jié)構(gòu)圖AVR 采用了采用了Harvard 結(jié)構(gòu),結(jié)構(gòu),具有獨立的數(shù)據(jù)和程序總線。具有獨立的數(shù)據(jù)和程序總線。程序存儲器的指令通過一級流程序存

2、儲器的指令通過一級流水線運行。水線運行。1.2 狀態(tài)寄存器 oAVR 狀態(tài)寄存器 SREG Bit 7 I: 全局中斷使能全局中斷使能Bit 6 T: 位拷貝存儲位拷貝存儲Bit 5 H: 半進位標(biāo)志半進位標(biāo)志,表示算術(shù)操作發(fā)生了半進位表示算術(shù)操作發(fā)生了半進位Bit 4 S: 符號位符號位, S=N V,S 為負(fù)數(shù)標(biāo)志為負(fù)數(shù)標(biāo)志N與與2 的補碼溢出標(biāo)志的補碼溢出標(biāo)志V的異或的異或Bit 3 V: 2 的補碼溢出標(biāo)志的補碼溢出標(biāo)志,支持支持2 的補碼運算。的補碼運算。Bit 2 N: 負(fù)數(shù)標(biāo)志負(fù)數(shù)標(biāo)志Bit 1 Z: 零標(biāo)志零標(biāo)志Bit 0 C: 進位標(biāo)志進位標(biāo)志1.3 通用寄存器結(jié)構(gòu) AVR

3、CPU 32個通用工作寄存器的結(jié)構(gòu)圖 每個寄存器都有一每個寄存器都有一個數(shù)據(jù)內(nèi)存地址,將他個數(shù)據(jù)內(nèi)存地址,將他們直接映射到用戶數(shù)據(jù)們直接映射到用戶數(shù)據(jù)空間的空間的頭頭32 個地址個地址。 1.4 X、Y、Z寄存器o除了用作通用寄存器外,還可以作為數(shù)據(jù)間接尋址用的地址指針。o在不同的尋址模式中,這些地址寄存器可以實現(xiàn)固定偏移量,自動加一和自動減一功能。 1.5 堆棧指針o堆棧指針主要用來保存臨時數(shù)據(jù),局部變量和中斷/ 子程序的返回地址。堆棧指針總是指向堆棧的頂部。要注意AVR 的堆棧是向下生長的,即新數(shù)據(jù)推入堆棧時,堆棧指針的數(shù)值將減小。o堆棧指針指向位于SRAM 的函數(shù)及中斷堆棧。堆??臻g必須

4、在調(diào)用函數(shù)或中斷使能之前定義。指針必須指向高于$60 的地址。1.5 堆棧指針o用PUSH 指令推數(shù)據(jù)入棧時,堆棧指針將減一;o當(dāng)調(diào)用函數(shù)或中斷時,指針將減二。o使用POP 指令時,堆棧指針將加一;o而用RET 或RETI 返回時,指針將加二。AVR堆棧指針占用了I/O空間兩個8位寄存器1.6 復(fù)位和中斷處理 1.6.1 ATmega128的中斷處理 n兩種類型的中斷:o事件觸發(fā)并置位中斷標(biāo)志。o只要中斷條件滿足,就會一直觸發(fā)。nAVR 退出中斷后總是回到主程序并執(zhí)行一條指令才可以去執(zhí)行其他被掛起的中斷。n程序存儲器空間的最低地址缺省定義為復(fù)位和中斷向量。中斷向量所在的地址越低,優(yōu)先級越高。中

5、斷向量表:P911.6 復(fù)位和中斷處理 1.6.2 ATmega128的中斷響應(yīng)時間nAVR 中斷響應(yīng)時間最少為4個時鐘周期。 n若中斷發(fā)生時MCU 處于睡眠模式,中斷響應(yīng)時間增加到8個時鐘周期。n中斷返回亦需4個時鐘。 內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 2、ATmega128 存儲器2.1 系統(tǒng)內(nèi)可編程的Flash 程序存儲器2.2 SRAM數(shù)據(jù)存儲器2.3 EEPROM數(shù)據(jù)存儲器2.4 I/O存儲器2.5 外部

6、存儲器接口2、ATmega128 存儲器oAVR 結(jié)構(gòu)具有三個線性存儲空間:n程序寄存器n數(shù)據(jù)寄存器nEEPROM 存儲器 2.1 系統(tǒng)內(nèi)可編程的Flash 程序存儲器nATmega128具有128K字節(jié)的在線編程Flash。因為所有的AVR指令為16位或32位,故FLASH 組織成64K x 16 的形式。n Flash 程序存儲器分為:(軟件安全性)o引導(dǎo)程序區(qū)o應(yīng)用程序區(qū)主存儲器空間主存儲器空間2.2 SRAM數(shù)據(jù)存儲器$0000-$001F:32個寄存器$0020-$005F:64個I/O寄存器$0060-$00FF:160個擴展I/O寄存器$0100-$10FF:內(nèi)部4K SRAM$

7、1100-$FFFF:外擴 SRAM,最多到64K2.3 EEPROM數(shù)據(jù)存儲器oATmega128包含4K字節(jié)的EEPROM。它是作為一個獨立的數(shù)據(jù)空間而存在的,可以按字節(jié)讀寫。EEPROM 的壽命至少為100,000 次(擦除)。oEEPROM 的訪問由地址寄存器,數(shù)據(jù)寄存器和控制寄存器決定。o一般用在掉電后需要保存的數(shù)據(jù) 。2.4 I/O寄存器器oATmega128 的所有I/O 和外設(shè)寄存器都被放置在I/O 空間。在32個通用工作寄存器和I/O之間傳輸數(shù)據(jù)。o其支持的外設(shè)要比預(yù)留的64 個I/O所能支持的要多,地址: $20 - $5F 。o擴展的I/O 空間$60 - $FF 2.5

8、 外部存儲器接口o此接口非常適合于與存儲器器件互連,如外部SRAM和Flash, LCD, A/D, D/A,等等。其主要特點為:n四個不同的等待狀態(tài)設(shè)置( 包括無等待狀態(tài))。n不同的外部存儲器可以設(shè)置不同的等待狀態(tài)。n地址高字節(jié)的位數(shù)可以有選擇地確定。n數(shù)據(jù)線具有總線保持功能以降低功耗。2.5 外部存儲器接口外部存儲器接口包括:nAD7:0:多工的地址總線和數(shù)據(jù)總線。nA15:8:高位地址總線 ( 位數(shù)可配置)。nALE:地址鎖存使能。nRD:讀鎖存信號。nWR:寫使能信號。o外部存儲器接口控制位于以下3個寄存器:nMCU 控制寄存器MCUCRn外部存儲器控制寄存器A XMCRAn外部存儲器

9、控制寄存器B XMCRB2.5 外部存儲器接口內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 3、系統(tǒng)時鐘及其選項o為為ATmega128提供系統(tǒng)時鐘源時,有提供系統(tǒng)時鐘源時,有三種主要的選擇:三種主要的選擇:(1)直接使用片內(nèi)的)直接使用片內(nèi)的1/2/4/8M的的RC振蕩源;振蕩源;(2)在引腳)在引腳XTAL1和和XTAL2上外接由石英上外接由石英晶體和電容組成的諧振回路晶體和電容組成的諧振回路,配合片內(nèi)的配合片內(nèi)的OSC(

10、Oscillator)振蕩電路構(gòu)成的振蕩源;)振蕩電路構(gòu)成的振蕩源; (3)直接使用外部的時鐘源輸出的脈沖信號)直接使用外部的時鐘源輸出的脈沖信號AVR的主要時鐘系統(tǒng)及其分布圖clkCPU clkI/O clkFLASH clkADC clkASY :異步定時器時鐘3、系統(tǒng)時鐘及其選項oCPU 時鐘時鐘clkCPU CPU時鐘與操作時鐘與操作AVR內(nèi)核的子系統(tǒng)相連,內(nèi)核的子系統(tǒng)相連,如通用工作寄存器文件、狀態(tài)寄存器以及保存堆棧指針如通用工作寄存器文件、狀態(tài)寄存器以及保存堆棧指針的數(shù)據(jù)存儲器。終止的數(shù)據(jù)存儲器。終止CPU 時鐘將使內(nèi)核停止工作和計算。時鐘將使內(nèi)核停止工作和計算。oI/O 時鐘時鐘

11、clkI/O I/O時鐘用于主要的時鐘用于主要的I/O 模塊,如定時器模塊,如定時器/ 計計數(shù)器、數(shù)器、SPI 和和USART。I/O 時鐘還用于外部中斷模塊。時鐘還用于外部中斷模塊。但是有些外部中斷由異步邏輯檢測,因此即使但是有些外部中斷由異步邏輯檢測,因此即使I/O 時鐘停時鐘停止了這些中斷仍然可以得到監(jiān)控。此外,止了這些中斷仍然可以得到監(jiān)控。此外,TWI 模塊的地模塊的地址識別功能在沒有址識別功能在沒有clkI/O 的情況下也是異步實現(xiàn)的,使的情況下也是異步實現(xiàn)的,使得這個功能在任何睡眠模式下都可以正常工作。得這個功能在任何睡眠模式下都可以正常工作。3、系統(tǒng)時鐘及其選項oFlash 時鐘

12、時鐘 clkFLASH Flash 時鐘控制時鐘控制Flash 接口的接口的操作。此時鐘通常與操作。此時鐘通常與CPU 時鐘是同步的。時鐘是同步的。o異步定時器時鐘異步定時器時鐘 clkASY 異步定時器時鐘允許異步異步定時器時鐘允許異步定時器定時器/ 計數(shù)器直接由外部計數(shù)器直接由外部32 kHz 時鐘晶體驅(qū)動,時鐘晶體驅(qū)動,使得此定時器使得此定時器/ 計數(shù)器即使在睡眠模式下仍然可計數(shù)器即使在睡眠模式下仍然可以為系統(tǒng)提供一個實時時鐘。以為系統(tǒng)提供一個實時時鐘。oADC 時鐘時鐘 clkADC ADC具有專門的時鐘。這樣可具有專門的時鐘。這樣可以在以在ADC工作的時候停止工作的時候停止CPU和和

13、I/O時鐘以降低時鐘以降低數(shù)字電路產(chǎn)生的噪聲,從而提高數(shù)字電路產(chǎn)生的噪聲,從而提高ADC 轉(zhuǎn)換精度。轉(zhuǎn)換精度。3、系統(tǒng)時鐘及其選項o時鐘源時鐘源oATmega128有如下幾種通過熔絲位選擇的有如下幾種通過熔絲位選擇的時鐘源。時鐘輸入到時鐘源。時鐘輸入到AVR 時鐘發(fā)生器,并時鐘發(fā)生器,并通往其他合適模塊。通往其他合適模塊。3、系統(tǒng)時鐘及其選項o默認(rèn)時鐘源默認(rèn)時鐘源o器件出廠時器件出廠時CKSEL = “0001”, SUT = “10”。該默認(rèn)時鐘源為最長啟動時間的內(nèi)。該默認(rèn)時鐘源為最長啟動時間的內(nèi)部部RC 振蕩器。該默認(rèn)設(shè)置保證所有的用振蕩器。該默認(rèn)設(shè)置保證所有的用戶通過系統(tǒng)內(nèi)或并行編程得到

14、其需要的時戶通過系統(tǒng)內(nèi)或并行編程得到其需要的時鐘源。鐘源。3、系統(tǒng)時鐘及其選項o晶體振蕩器晶體振蕩器 oXTAL1 和和XTAL2 分別分別為用作片內(nèi)振蕩器的反為用作片內(nèi)振蕩器的反向放大器的輸入和輸出,向放大器的輸入和輸出,如圖所示。如圖所示。3、系統(tǒng)時鐘及其選項o低頻晶體振蕩器低頻晶體振蕩器o使用使用32.768 kHz 鐘表晶體作為器件的時鐘源,須將熔絲鐘表晶體作為器件的時鐘源,須將熔絲位位CKSEL 設(shè)置為設(shè)置為“1001”以選擇低頻晶體振蕩器以選擇低頻晶體振蕩器,通過對通過對熔絲位熔絲位CKOPT 的編程,用戶可以使能的編程,用戶可以使能XTAL1 和和XTAL2 的內(nèi)部電容,從而去除

15、外部電容。內(nèi)部電容的標(biāo)稱數(shù)值的內(nèi)部電容,從而去除外部電容。內(nèi)部電容的標(biāo)稱數(shù)值為為36 pF。選擇了這個振蕩器之后,啟動時間由熔絲位。選擇了這個振蕩器之后,啟動時間由熔絲位SUT 確定,如確定,如表所示。所示。3、系統(tǒng)時鐘及其選項o外部外部RC 振蕩器振蕩器o對于時間不敏感的應(yīng)用可以使用外部對于時間不敏感的應(yīng)用可以使用外部RC 振振蕩器。頻率可以通過方程蕩器。頻率可以通過方程f =1/(3RC)進行粗進行粗略地估計。電容略地估計。電容C 至少要至少要22pF。通過編程熔絲位通過編程熔絲位CKOPT,用戶可以,用戶可以使能使能XTAL1和和GND之間的片內(nèi)之間的片內(nèi) 36 pF電電容容.3、系統(tǒng)時

16、鐘及其選項o標(biāo)定的片內(nèi)標(biāo)定的片內(nèi)RC 振蕩器振蕩器o標(biāo)定的片內(nèi)標(biāo)定的片內(nèi)RC 振蕩器提供了固定的振蕩器提供了固定的1.0、2.0、4.0 或或8.0 MHz 的時鐘。這些頻率都是的時鐘。這些頻率都是5V、25C 下的標(biāo)稱數(shù)值。下的標(biāo)稱數(shù)值。o這個時鐘也可以作為系統(tǒng)時鐘,只要對熔這個時鐘也可以作為系統(tǒng)時鐘,只要對熔絲位絲位CKSEL進行編程即可。選擇這個時鐘進行編程即可。選擇這個時鐘之后就無需外部器件了。之后就無需外部器件了。3、系統(tǒng)時鐘及其選項o外部時鐘外部時鐘o為了從外部時鐘源驅(qū)動芯為了從外部時鐘源驅(qū)動芯片,片, XTAL1 必須如圖所示必須如圖所示的進行連接。同時,熔絲的進行連接。同時,熔

17、絲位位CKSEL必須編程為必須編程為“0000”。內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 4、系統(tǒng)控制和復(fù)位 o復(fù)位時所有的I/O 寄存器都被設(shè)置為初始值,程序從復(fù)位向量處開始執(zhí)行。o復(fù)位源生效時I/O 端口立即復(fù)位為初始值,不需要任何時鐘的輔助。4、系統(tǒng)控制和復(fù)位 oATmega128 有5個復(fù)位源:1.上電復(fù)位上電復(fù)位o當(dāng)電源電壓低于上電復(fù)位門限 (VPOT) 時, MCU 復(fù)位。2.外部復(fù)位外部復(fù)位o當(dāng)引腳 RES

18、ET 上的低電平持續(xù)時間大于最小脈沖寬度( 1.5us )時MCU 復(fù)位。3.看門狗復(fù)位看門狗復(fù)位o當(dāng)看門狗使能并且看門狗定時器超時時復(fù)位發(fā)生。4.掉電檢測復(fù)位掉電檢測復(fù)位o當(dāng)?shù)綦姍z測復(fù)位功能使能,且電源電壓低于掉電檢測復(fù)位門限(VBOT) 時(4.0v或或2.7v) ,MCU 即復(fù)位。5.JTAG AVR復(fù)位復(fù)位o當(dāng)復(fù)位寄存器為1 時MCU即復(fù)位。4、系統(tǒng)控制和復(fù)位 1上電復(fù)位上電復(fù)位 AVR內(nèi)部含有上電復(fù)位內(nèi)部含有上電復(fù)位POR(Power_on Reset)電路無論何時,只要電路無論何時,只要Vcc低于檢測電平低于檢測電平Vpot時,器時,器件進入復(fù)位狀態(tài)。件進入復(fù)位狀態(tài)。 4、系統(tǒng)控制

19、和復(fù)位 2外部復(fù)位外部復(fù)位外部復(fù)位是由外加在外部復(fù)位是由外加在RESET引腳上的低電平將產(chǎn)生引腳上的低電平將產(chǎn)生的。當(dāng)?shù)摹.?dāng)RESET引腳被拉低于引腳被拉低于Vrst的時間大于的時間大于1.5s時時既觸發(fā)復(fù)位過程既觸發(fā)復(fù)位過程4、系統(tǒng)控制和復(fù)位 3掉電檢測(掉電檢測(BOD)復(fù)位)復(fù)位ATmega128片內(nèi)的片內(nèi)的BOD( Brown-out Detection)電源檢測電路,用于在)電源檢測電路,用于在系統(tǒng)運行時對系統(tǒng)電壓系統(tǒng)運行時對系統(tǒng)電壓VCC的檢測,并同一個固定的閾值電壓相比較。的檢測,并同一個固定的閾值電壓相比較。BOD檢測閾值電壓可以通過檢測閾值電壓可以通過BODLEVEL熔絲位設(shè)

20、定為熔絲位設(shè)定為2.7V或或4.0V。BOD檢測閾值電壓有遲滯效應(yīng),以避免系統(tǒng)電源的尖峰毛刺誤觸發(fā)檢測閾值電壓有遲滯效應(yīng),以避免系統(tǒng)電源的尖峰毛刺誤觸發(fā)BOD檢測器。閾值電平的遲滯效應(yīng)可以理解為:上閾值電壓檢測器。閾值電平的遲滯效應(yīng)可以理解為:上閾值電壓VBOT+ = VBOT + VHYST/2,下閾值電壓,下閾值電壓VBOT- = VBOT - VHYST/2。4、系統(tǒng)控制和復(fù)位 4看門狗復(fù)位看門狗復(fù)位ATmega128片內(nèi)集成一個獨立的看門狗定時器片內(nèi)集成一個獨立的看門狗定時器WDT。該。該WDT由片內(nèi)獨由片內(nèi)獨立的立的1M振蕩器提供時鐘信號。當(dāng)振蕩器提供時鐘信號。當(dāng)WDT啟動計數(shù)后,一

21、旦發(fā)生計數(shù)溢出,啟動計數(shù)后,一旦發(fā)生計數(shù)溢出,它將觸發(fā)產(chǎn)生一個時鐘周期寬度的復(fù)位脈沖。脈沖的上升沿將使器件進它將觸發(fā)產(chǎn)生一個時鐘周期寬度的復(fù)位脈沖。脈沖的上升沿將使器件進入復(fù)位狀態(tài),脈沖的下降沿啟動延時計數(shù)器計數(shù),經(jīng)過設(shè)定的啟動延時入復(fù)位狀態(tài),脈沖的下降沿啟動延時計數(shù)器計數(shù),經(jīng)過設(shè)定的啟動延時時間,時間,CPU重新開始運行。使用重新開始運行。使用WDT功能,可以防止系統(tǒng)受到干擾而引功能,可以防止系統(tǒng)受到干擾而引起的程序運行紊亂和跑飛,提高了系統(tǒng)的可靠性起的程序運行紊亂和跑飛,提高了系統(tǒng)的可靠性 4、系統(tǒng)控制和復(fù)位 AVR單片機單片機最小系統(tǒng)最小系統(tǒng)C 1C 220PPF0PF1PF2PF3PF

22、4PF5PF6PF7SPA0PA1PA2PA3PA4PA5PA6PA7PC 7PC 6PC 5PC 4PC 3PC 2PC 1PC 0PG4PG3PG1PG0PD0PD1PD2PD3PD4PD5PD6PD7VC CPE0PE1PE2PE3PE4PE5PE6PE7PB 0PB 1PB 2PB 3PB 4PB 5PB 6PB 7R 110KVC C AR ESETR 90VC CVC CAVC C64GND63VR EF62VC C52GND53PF0/ADC 061PF1/ADC 160PF2/ADC 259PF7/ADC 754PA0/AD051PA1/AD150PA2/AD249PC 0/A

23、835PG1/R D34PG0/W R33PD7/T232PE6/T3/INT68PE5/OC 3C /INT57PE4/OC 3B /INT46PE3/OC 3A/AN15R ESET20PG4/TOSC 119GND22VC C21PB 3/M ISO13PC 6/A1441PB 4/OC 014PC 5/A1340PA6/AD645PEN1PE0/R XD02PE1/TXD03PE2/XC L0/AIN04PG3/TOSC 218PB 7/OC 1C /OC 217PB 6/OC 1B16PB 5/OC 1A15PB 2/M OSI12PB 1/SC K11PB 0/SS10PE7/IC

24、 P3/INT79PD6/T131PD5/XC K130PD4/IC P129PD3/TXD1/INT328PD2/R XD1/INT227PD1/SDA/INT126PD0/SC L/INT025XTAL124PC 1/A936PC 2/A1037PC 3/A1138PC 4/A1239PF6/ADC 655PF5/ADC 556PF4/ADC 457PF3/ADC 358PA5/AD546PA4/AD447PC 7/A1542PA3/AD348XTAL223PG2/ALE43PA7/AD744U1M EGA128VR EFLL3C 110.1PG2ALES內(nèi)容1、ATmega128的CPU

25、內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 5、ATmega128 的中斷向量1ATmega128 提供35個中斷及其對應(yīng)的中斷向量。其中1個非屏蔽中斷(復(fù)位中斷),8個外部中斷。中斷向量從flash的$0000地址開始存放,每個中斷向量占2個字,存放分別存放jmp指令和對應(yīng)中斷服務(wù)程序的入口地址。5、ATmega128 的中斷向量1向量號程序地址中斷源中斷定義1$0000RESET復(fù)位2$0002INT0外部中斷請求03$0004INT1外部中斷請求14$

26、0006INT2外部中斷請求25$0008INT3外部中斷請求36$000AINT4外部中斷請求47$000CINT5外部中斷請求58$000EINT6外部中斷請求69$0010INT7外部中斷請求710$0012TIMER2 COMPT/C 2 比較匹配11$0014TIMER2 OVFT/C 2 溢出ATmega128 的中斷向量2向量號程序地址中斷源中斷定義12$0016TIMER1 CAPTT/C 1 捕捉事件13$0018TIMER1 COMPAT/C 1 比較匹配 A14$001ATIMER1 COMPBT/C 1 比較匹配B15$001CTIMER1 OVFT/C 1 溢出16$

27、001ETIMER0 COMPT/C 0 比較匹配17$0020TIMER0 OVFT/C 0 溢出18$0022SPI, STCSPI 串行傳輸結(jié)束19$0024USART0, RXUSART0, Rx 結(jié)束20$0026USART0, UDREUSART0 數(shù)據(jù)寄存器空21$0028USART0, TXUSART0, Tx 結(jié)束22$002AADCADC 轉(zhuǎn)換結(jié)束23$002CEE READYEEPROM 就緒ATmega128 的中斷向量3向量號程序地址中斷源中斷定義24$002EANALOG COMP模擬比較器25$0030(3)TIMER1 COMPCT/C 1 比較匹配C26$00

28、32(3)TIMER3 CAPTT/C 3 捕捉事件27$0034(3)TIMER3 COMPAT/C 3 比較匹配 A28$0036(3)TIMER3 COMPBT/C 3 比較匹配B29$0038(3)TIMER3 COMPCT/C 3 比較匹配C30$003A(3)TIMER3 OVFT/C 3 溢出31$003C(3)USART1, RXUSART1, Rx 結(jié)束32$003E(3)USART1, UDREUSART1 數(shù)據(jù)寄存器空33$0040(3)USART1, TXUSART1, Tx 結(jié)束34$0042(3)TWI兩線串行接口35$0044(3)SPM READY保存程序存儲器

29、內(nèi)容就緒內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 6、I/O端口o所有AVR I/O端口都具有真正的讀-修改-寫功能。3個8位寄存器用于控制I/O端口o端口方向控制寄存器DDRxo數(shù)據(jù)寄存器PORTxo輸入引腳寄存器PINxPORTB3 表示端口表示端口B的第的第3位位 所有的寄存器和位以通用格式表所有的寄存器和位以通用格式表示:小寫的示:小寫的“x” 表示端口序號,表示端口序號,小寫的小寫的“n” 代表位的序號。代表位的

30、序號。 讀讀/寫寫 讀讀/寫寫 只讀只讀 當(dāng)當(dāng)DDxn 為為“1“時,時,Pxn 配置為輸出。配置為輸出。內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 7、定時器/ 計數(shù)器(T/C) 7.1 8位T/ C07.2 8位T/ C27.3 16位 T/ C1和T/ C37.4 定時器/ 計數(shù)器的預(yù)分頻器 7.1 8位T/ C0oT/C0 是一個通用的,單通道8 位定時器/ 計數(shù)器模塊。其主要特點如下:1.單通道計數(shù)器2.比較匹配發(fā)

31、生時,清除定時器( 自動加載)3.無毛刺的相位修正PWM4.頻率發(fā)生器5.10 位時鐘預(yù)分頻器6.溢出和比較匹配中斷源(TOV0 和OCF0)7.允許外部32kHz 晶振作為時鐘 雙緩沖的輸出比較寄存器雙緩沖的輸出比較寄存器OCR0一直與一直與T/C 的數(shù)值進行比較。比較結(jié)果的數(shù)值進行比較。比較結(jié)果可用來產(chǎn)生可用來產(chǎn)生PWM波,或在輸出比較引腳波,或在輸出比較引腳OC0上產(chǎn)生變化頻率的輸出。上產(chǎn)生變化頻率的輸出。 7.1.1 T/ C0的工作模式 (1)普通模式n(WGM01:0= 0)為最簡單的工作模式。n在此模式下計數(shù)器不停地累加。計到最大值后(TOP=0 xFF),計數(shù)器簡單地返回到最小

32、值0 x00重新開始。(2)CTC模式(比較匹配時清除定時器)n(WGM01:0 = 2) nTCNT0=OCR0時計數(shù)器清零 n波形發(fā)生器的頻率 變量變量N代表分頻因子代表分頻因子(1、8、32、64、128、256 或或1024) 7.1.1 T/ C0的工作模式(3)快速PWM模式n (WGM01:0 = 3) 可用來產(chǎn)生高頻的PWM 波形??焖貾WM 模式與其他PWM模式的不同之處是其三角波工作方式(其他PWM方式為等腰三角形方式)n輸出的PWM 頻率 (4)相位修正PWM模式 n(WGM01:0 = 1) 為用戶提供了一個獲得高精度相位修正PWM波形的方法。此模式基于雙斜線操作。n輸

33、出的PWM 頻率變量變量N代表分頻因子代表分頻因子(1、8、32、64、128、256 或或1024) 7.1.2 與T/C0相關(guān)的8位寄存器說明o8位控制寄存器(TCCR0)n工作模式、匹配輸出模式 、時鐘選擇 o8位計數(shù)寄存器(TCNT0)o8位輸出比較寄存器(OCR0)o8位中斷屏蔽寄存器(TIMSK)nBit 1 OCIE0: T/C0 輸出比較匹配中斷使能nBit 0 TOIE0: T/C0 溢出中斷使能o8位中斷標(biāo)志寄存器(TIFR)nBit 1 OCF0: 輸出比較標(biāo)志0(T/C0與OCR0的值匹配時,OCF0置位)nBit 0 TOV0:T/C0 溢出標(biāo)志7.2 8位T/ C2

34、oT/C2 是一個通用單通道8 位定時/ 計數(shù)器,其主要特點如下:1.單通道計數(shù)器2.比較匹配時,清零定時器 ( 自動重載)3.無干擾脈沖, 相位正確的脈寬調(diào)制器 (PWM)4.頻率發(fā)生器5.10 位時鐘預(yù)分頻器6.溢出與比較匹配中斷源(TOV2 與OCF2)7.外部事件計數(shù)器7.2.1 T/ C2的工作模式 (1)普通模式n(WGM21:0= 0)為最簡單的工作模式。n在此模式下計數(shù)器不停地累加。計到最大值后(TOP=0 xFF),計數(shù)器簡單地返回到最小值0 x00重新開始。(2)CTC模式(比較匹配時清除定時器)n(WGM21:0 = 2) nTCNT2=OCR2時計數(shù)器清零 n波形發(fā)生器

35、的頻率 變量變量N代表分頻因子代表分頻因子(1、8、64、256 或或1024) 7.2.1 T/ C2的工作模式(3)快速PWM模式n (WGM21:0 = 3) 可用來產(chǎn)生高頻的PWM 波形??焖貾WM 模式與其他PWM模式的不同之處是其三角波工作方式(其他PWM方式為等腰三角形方式)n輸出的PWM 頻率 (4)相位修正PWM模式 n(WGM21:0 = 1) 為用戶提供了一個獲得高精度相位修正PWM波形的方法。此模式基于雙斜線操作。n輸出的PWM 頻率變量變量N代表分頻因子代表分頻因子(1、8、64、256 或或1024) 7.2.2 與T/C2相關(guān)的8位寄存器說明o8位控制寄存器(TC

36、CR2)n工作模式、匹配輸出模式 、時鐘選擇 o8位計數(shù)寄存器(TCNT2)o8位輸出比較寄存器(OCR2)o8位中斷屏蔽寄存器(TIMSK)nBit 7 OCIE2: T/C2 輸出比較匹配中斷使能nBit 6 TOIE2: T/C2 溢出中斷使能o8位中斷標(biāo)志寄存器(TIFR)nBit 7 OCF2: 輸出比較標(biāo)志0(T/C2與OCR2的值匹配時,OCF2置位)nBit 6 TOV2:T/C2 溢出標(biāo)志7.3 16位 T/ C1和T/ C3o16位的T/C 可以實現(xiàn)精確的程序定時(事件管理)、波形產(chǎn)生和信號測量。其主要特點如下1.真正的16 位設(shè)計( 即允許16 位的PWM)2.3 個獨立

37、的輸出比較單元3.雙緩沖的輸出比較寄存器4.一個輸入比較單元5.輸入捕捉噪聲抑制器6.比較匹配發(fā)生時清除寄存器( 自動重載)7.無毛刺的相位修正PWM,可變的PWM 周期8.頻率發(fā)生器9.外部事件計數(shù)器10.10 個獨立的中斷源lTOV1、OCF1A、OCF1B、OCF1C、ICF1lTOV3、OCF3A、OCF3B、OCF3C、ICF3 7.3.1 訪問16位的定時器 oTCNTn、OCRnA/B/C與ICRn是AVR CPU 通過8位數(shù)據(jù)總線可以訪問的16位寄存器。n讀寫16位寄存器需要兩次操作。n每個16位計時器都有一個8位臨時寄存器用來存放其高8位數(shù)據(jù)。每個16位定時器所屬的16位寄存

38、器共用相同的臨時寄存器。n訪問低字節(jié)會觸發(fā)16位讀或?qū)懖僮?。?dāng)CPU 寫入數(shù)據(jù)到16 位寄存器的低字節(jié)時,寫入的8 位數(shù)據(jù)與存放在臨時寄存器中的高8位數(shù)據(jù)組成一個16位數(shù)據(jù),同步寫入到16位寄存器中。當(dāng)CPU讀取16位寄存器的低字節(jié)時,高字節(jié)內(nèi)容在讀低字節(jié)操作的同時被放置于臨時輔助寄存器中。o并非所有的16位訪問都涉及臨時寄存器。n對OCRnA/B/C 寄存器的讀操作就不涉及臨時寄存器o寫16位寄存器時,應(yīng)先寫入該寄存器的高位字節(jié)。o讀16位寄存器時,應(yīng)先讀取該寄存器的低位字節(jié)。 7.3.2 工作模式 (1)普通模式n(WGMn 1:0= 0)為最簡單的工作模式。n在此模式下計數(shù)器不停地累加。

39、計到最大值后(TOP=0 xFF),計數(shù)器簡單地返回到最小值0 x00重新開始。(2)CTC模式(比較匹配時清除定時器)n(WGMn3:0 = 4 或12)nOCRnA 或ICRn定義了計數(shù)器的TOP值nTCNTn= TOP值時計數(shù)器清零 n波形發(fā)生器的頻率 變量變量N代表分頻因子代表分頻因子(1、8、64、256 或或1024) 7.3.2 工作模式(3)快速PWM模式n (WGMn3:0 = 5、6、7、14 或15) 可用來產(chǎn)生高頻的PWM 波形。n輸出的PWM 頻率 (4)相位修正PWM模式 n(WGMn3:0 = 1、2、3、10 或11)為用戶提供了一個獲得高精度相位修正PWM波形

40、的方法。此模式基于雙斜線操作。n輸出的PWM 頻率變量變量N代表分頻因子代表分頻因子(1、8、64、256 或或1024) 7.3.3 與T/C相關(guān)的8位寄存器說明o8位控制寄存器A(TCCR1A、TCCR3A)nBit 7:6 COMnA1:0_通道A的比較輸出模式nBit 5:4 COMnB1:0_通道B的比較輸出模式nBit 3:2 COMnC1:0_通道C的比較輸出模式nBit 1:0 WGMn1:0o8位控制寄存器B(TCCR1B、TCCR3B)nBit 7 ICNCn: 輸入捕捉噪聲抑制器nBit 6 ICESn: 輸入捕捉觸發(fā)沿選擇nBit 4:3 WGMn3:2_與WGMn1:

41、0決定波形發(fā)生模式nBit 2:0 CSn2:0_ 時鐘選擇o8位控制寄存器C(TCCR1C、TCCR3C)nBit 7 FOCnA_ 強制輸出比較通道AnBit 6 FOCnB_ 強制輸出比較通道BnBit 5 FOCnC_ 強制輸出比較通道C7.3.3 與T/C相關(guān)的16位寄存器說明o16位計數(shù)寄存器nTCNT1H、TCNT1L;TCNT3H、TCNT3Lo16位輸出比較寄存器 輸出比較寄存器A(OCR1AH、OCR1AL;OCR3AH、OCR3AL) 輸出比較寄存器B(OCR1BH、OCR1BL;OCR3BH、OCR3BL) 輸出比較寄存器C(OCR1CH、OCR1CL;OCR3CH、O

42、CR3CL)o 16位捕獲寄存器:ICR1H、ICR1L;ICR3H、ICR3L數(shù)據(jù)匹配:將產(chǎn)生一個輸出比較中斷,或改變數(shù)據(jù)匹配:將產(chǎn)生一個輸出比較中斷,或改變OCnx 的輸出邏輯電平。的輸出邏輯電平??芍苯訉芍苯訉/C單元的單元的16 位計數(shù)器進行讀寫訪問位計數(shù)器進行讀寫訪問 與與TCNTn 中的計數(shù)值比較中的計數(shù)值比較 當(dāng)外部引腳當(dāng)外部引腳ICPn( 或或T/C1 的模擬比較器的模擬比較器) 有輸入捕捉觸發(fā)有輸入捕捉觸發(fā)信號產(chǎn)生時,計數(shù)器信號產(chǎn)生時,計數(shù)器TCNTn 中的值寫入中的值寫入ICR1中。中。7.3.3 與T/C相關(guān)的8位寄存器說明o8位中斷屏蔽寄存器(TIMSK) nBit

43、 5 TICIE1: T/C1 輸入捕捉中斷使能nBit 4 OCIE1A:T/C1 輸出比較 A 匹配中斷使能nBit 3 OCIE1B:T/C1 輸出比較 B 匹配中斷使能nBit 2 TOIE1:T/C1 溢出中斷使能o8位擴展中斷屏蔽寄存器(ETIMSK)nBit 5 TICIE3:T/C3, 輸入捕捉中斷使能nBit 4 OCIE3A:T/C3 輸出比較 A 匹配中斷使能nBit 3 OCIE3B:T/C3 輸出比較 B 匹配中斷使能nBit 2 TOIE3:T/C3 溢出中斷使能nBit 1 OCIE3C:T/C3 輸出比較 C 匹配中斷使能nBit 0 OCIE1C:T/C1 輸

44、出比較 C 匹配中斷使能7.3.3 與T/C相關(guān)的8位寄存器說明o8位中斷標(biāo)志屏蔽寄存器(TIFR) nBit 5 ICF1:T/C1 輸入捕捉標(biāo)志位nBit 4 OCF1A:T/C1 輸出比較 A 匹配標(biāo)志位nBit 3 OCF1B:T/C1 輸出比較 B 匹配標(biāo)志位nBit 2 TOV1:T/C1 溢出標(biāo)志o8位擴展中斷標(biāo)志寄存器(ETIFR)nBit 5 ICF3:T/C3 輸入捕捉標(biāo)志位nBit 4 OCF3A:T/C3 輸出比較 A 匹配標(biāo)志位nBit 3 OCF3B:T/C3 輸出比較 B 匹配標(biāo)志位nBit 2 TOV3:T/C3 溢出標(biāo)志nBit 1 OCF3C:T/C3 輸出

45、比較 C 匹配標(biāo)志位nBit 0 OCF1C:T/C1 輸出比較 C 匹配標(biāo)志位7.4 定時器/計數(shù)器的預(yù)分頻器o預(yù)分頻器的作用是對輸入的時鐘進行分頻,產(chǎn)生定時器/計數(shù)器的工作時鐘。T/ C0的預(yù)分頻器的預(yù)分頻器 T/C1、T/C2和和T/C3的的預(yù)分頻器的的預(yù)分頻器內(nèi)容1、ATmega128的CPU內(nèi)核2、ATmega128 存儲器 3、系統(tǒng)時鐘及其選項 4、系統(tǒng)控制和復(fù)位5、ATmega128 的中斷向量 6、I/O端口7、定時器/ 計數(shù)器(T/C) 8、模數(shù)轉(zhuǎn)換器 A/D 8、模數(shù)轉(zhuǎn)換器 A/D o8.1 模數(shù)轉(zhuǎn)換器特點o8.2 相關(guān)寄存器 o8.3 操作(啟動一次轉(zhuǎn)換)o8.4 預(yù)分頻器o8.5 ADC轉(zhuǎn)換結(jié)果處理8.1 模數(shù)轉(zhuǎn)換器特點1.10 位逐次逼近型精度2.0.5 LSB 的非線性度, 2 LSB 的絕對精度3.13 - 260 s 的轉(zhuǎn)換時間4.最高分辨率時采樣率高達15kSPS5.8 路復(fù)用的單端輸入通道6.7 路差分輸入通道7.2 路可選增益為10 x 與200 x 的差分輸入通道8.可選的左對齊ADC 讀數(shù)9.0 - VCC 的 ADC 輸入電壓范圍10.可選的

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論