第2章 AVR體系結(jié)構(gòu)_第1頁
第2章 AVR體系結(jié)構(gòu)_第2頁
第2章 AVR體系結(jié)構(gòu)_第3頁
第2章 AVR體系結(jié)構(gòu)_第4頁
第2章 AVR體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西南(xnn)大學(xué)電子信息工程學(xué)院1第二章 AVR單片機(jī)的基本(jbn)結(jié)構(gòu)共七十二頁2共七十二頁3單片機(jī)的基本(jbn)體系結(jié)構(gòu)內(nèi)部中斷內(nèi)部總匯振蕩器和時(shí)序電路操作管理寄存器程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器定時(shí)器計(jì)數(shù)器CPU中斷控制總 線 擴(kuò)展控制器并行I/O接口串行I/O接口圖2-1 典型單片機(jī)的基本組成結(jié)構(gòu)外部時(shí)鐘元 外部時(shí)間計(jì)數(shù)共七十二頁4單片機(jī)基本(jbn)單元與作用 MCU (CPU、時(shí)鐘系統(tǒng)、復(fù)位、總線控制(kngzh)邏輯等電路 )SRAM程序存儲(chǔ)器IO口操作管理寄存器 共七十二頁MCUMCU單元部分包括(boku)了CPU、時(shí)鐘系統(tǒng)、復(fù)位、總線控制邏輯等電路。CPU是按照面向測(cè)控對(duì)象、嵌

2、入式應(yīng)用的要求設(shè)計(jì)的,其功能有進(jìn)行算術(shù)、邏輯、比較等運(yùn)算和操作,并將結(jié)果和狀態(tài)信息與存儲(chǔ)器以及狀態(tài)寄存器進(jìn)行交換(讀/寫)。時(shí)鐘和復(fù)位電路實(shí)現(xiàn)上電復(fù)位、信號(hào)控制復(fù)位,產(chǎn)生片內(nèi)各種時(shí)鐘及功耗管理等。總線控制電路則產(chǎn)生各類控制邏輯信號(hào),滿足MCU對(duì)內(nèi)部和外部總線的控制。其中,內(nèi)部總線用以實(shí)現(xiàn)片內(nèi)各單元電路的協(xié)調(diào)操作和數(shù)據(jù)傳輸,而外部總線控制用于單片機(jī)外圍擴(kuò)展的操作管理。5共七十二頁片內(nèi)存儲(chǔ)器(ni cn ch q)單片機(jī)的存儲(chǔ)器一般分成程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,它們往往構(gòu)成相互獨(dú)立的兩個(gè)存儲(chǔ)空間,分別尋址,互不干擾。在這一點(diǎn)上,與通用計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)是不同的。通用計(jì)算機(jī)系統(tǒng)通常采用(ciyng)“V

3、on-Neumann”結(jié)構(gòu),在這種結(jié)構(gòu)體系中采用了單一的數(shù)據(jù)總線用于指令和數(shù)據(jù)的存取,因此數(shù)據(jù)和指令是存放在同一個(gè)存儲(chǔ)空間中的,CPU使用同一條數(shù)據(jù)總線與數(shù)據(jù)和程序進(jìn)行交換。而單片機(jī)的內(nèi)部結(jié)構(gòu)通常使用“Harvard”體系結(jié)構(gòu),在這種體系中采用分開的指令和數(shù)據(jù)總線,以及分開的指令和數(shù)據(jù)地址空間。單片機(jī)采用Harvard雙(多)總線結(jié)構(gòu)的優(yōu)點(diǎn)是,指令和數(shù)據(jù)空間完全分開,分別通過專用的總線同CPU交換,可以實(shí)現(xiàn)對(duì)程序和數(shù)據(jù)的同時(shí)訪問,提高了CPU的執(zhí)行速度和數(shù)據(jù)的吞吐率。6共七十二頁程序(chngx)存儲(chǔ)器程序存儲(chǔ)器用于存放嵌入式系統(tǒng)的應(yīng)用程序。由于單片機(jī)嵌入式系統(tǒng)的應(yīng)用程序在開發(fā)調(diào)試(dio s

4、h)完成后不需要經(jīng)常改變,因此單片機(jī)的程序存儲(chǔ)器多采用只讀型ROM存儲(chǔ)器,用于永久性的存儲(chǔ)系統(tǒng)的應(yīng)用程序。為適應(yīng)不同產(chǎn)品、用戶和不同場(chǎng)合的需要。7共七十二頁程序(chngx)存儲(chǔ)器ROMLessEPROMMaskROMOTPROMFLASH ROM8共七十二頁數(shù)據(jù)(shj)存儲(chǔ)器隨機(jī)存儲(chǔ)器用來存儲(chǔ)系統(tǒng)程序在運(yùn)行期間(qjin)的工作變量和臨時(shí)數(shù)據(jù)的電可擦除存儲(chǔ)器這類數(shù)據(jù)存儲(chǔ)器用于存放一些永久或比較固定的系統(tǒng)參數(shù),如放大倍率、電話號(hào)碼、時(shí)間常數(shù)等。EEPROM的壽命大于10萬次,具有掉電后不丟失數(shù)據(jù)的特點(diǎn),并且通過系統(tǒng)程序可以隨時(shí)修改,這些特性都給用戶設(shè)計(jì)開發(fā)產(chǎn)品帶來極大的方便和想象空間。9共七

5、十二頁輸入(shr)/輸出(I/O)端口并行總線輸入/輸出端口(并型I/O口)通用數(shù)字I/O端口。片內(nèi)功能單元的輸入/輸出端口。串行I/O通信口其它專用(zhunyng)接口10共七十二頁操作(cozu)管理寄存器操作管理寄存器也是單片機(jī)芯片中的重要組成部分之一。它的功能(gngnng)是管理、協(xié)調(diào)、控制和操作單片機(jī)芯片中的各功能(gngnng)單元的使用和運(yùn)行。這類寄存器的種類有:狀態(tài)寄存器、控制寄存器、方式寄存器、數(shù)據(jù)寄存器等等。11共七十二頁12AVR單片機(jī)內(nèi)核共七十二頁AVR ATmega16 特點(diǎn)(tdin)先進(jìn)RISC結(jié)構(gòu)的AVR內(nèi)核片內(nèi)含有較大(jio d)容量的非易失性的程序和

6、數(shù)據(jù)存儲(chǔ)器片內(nèi)含JTAG接口外圍接口其他特點(diǎn)寬電壓、高速度、低功耗13共七十二頁14AVR ATmega16 特點(diǎn)(tdin)先進(jìn)RISC結(jié)構(gòu)的AVR內(nèi)核131條機(jī)器指令,且大多數(shù)指令的執(zhí)行時(shí)間為單個(gè)系統(tǒng)時(shí)鐘周期;32個(gè)8位通用工作寄存器;工作在16MHz時(shí)具有(jyu)16MIPS的性能。配備只需要2個(gè)時(shí)鐘周期的硬件乘法器共七十二頁15AVR ATmega16 特點(diǎn)(tdin)片內(nèi)含有較大容量的非易失性的程序和數(shù)據(jù)存儲(chǔ)器16K字節(jié)(z ji)在線可編程(ISP)Flash程序存儲(chǔ)器(擦除次數(shù)1萬次),采用Boot Load技術(shù)支持IAP功能;1K字節(jié)的片內(nèi)SRAM數(shù)據(jù)存儲(chǔ)器,可實(shí)現(xiàn)3級(jí)鎖定的

7、程序加密;512個(gè)字節(jié)片內(nèi)在線可編程EEPROM數(shù)據(jù)存儲(chǔ)器(壽命10萬次);共七十二頁16AVR ATmega16 特點(diǎn)(tdin)片內(nèi)含JTAG接口支持符合JTAG標(biāo)準(zhǔn)的邊界掃描功能(gngnng)用于芯片檢測(cè);支持?jǐn)U展的片內(nèi)在線調(diào)試功能可通過JTAG口對(duì)片內(nèi)的Flash、EEPROM、配置熔絲位和鎖定加密位實(shí)施下載編程;共七十二頁17AVR ATmega16 特點(diǎn)(tdin)外圍接口2個(gè)帶有分別獨(dú)立、可設(shè)置預(yù)分頻器的8位定時(shí)器/計(jì)數(shù)器;1個(gè)帶有可設(shè)置預(yù)分頻器、具有比較、捕捉功能的16位定時(shí)器/計(jì)數(shù)器;片內(nèi)含獨(dú)立振蕩器的實(shí)時(shí)時(shí)鐘RTC;4路PWM通道;8路10位ADC面向字節(jié)的兩線接口TWI

8、(兼容I2C硬件接口);1個(gè)可編程的增強(qiáng)型全雙工的,支持同步/異步通信的串行接口USART;1個(gè)可工作于主機(jī)/從機(jī)模式的SPI串行接口(支持ISP程序(chngx)下載);片內(nèi)模擬比較器;內(nèi)含可編程的,具有獨(dú)立片內(nèi)振蕩器的看門狗定時(shí)器WDT;共七十二頁18AVR ATmega16 特點(diǎn)(tdin)其它的特點(diǎn)片內(nèi)含(ni hn)上電復(fù)位電路以及可編程的掉電檢測(cè)復(fù)位電路BOD;片內(nèi)含有1M/2M/4M/8M,經(jīng)過標(biāo)定的、可校正的RC振蕩器,可作為系統(tǒng)時(shí)鐘使用;多達(dá)21個(gè)各種類型的內(nèi)外部中斷源;有6種休眠模式支持省電方式工作;共七十二頁19AVR ATmega16 特點(diǎn)(tdin)寬電壓、高速度、低

9、功耗工作電壓范圍寬:ATmega16L 2.75.5v,ATmega16 4.55.5v;運(yùn)行速度:ATmega16L 08M,ATmega16 016M;低功耗:ATmega16L工作在1MHz、3v、25度時(shí)的典型功耗為,正常(zhngchng)工作模式 1.1mA,空閑工作模式 0.35mA,掉電工作模式 1uA; 共七十二頁20AVR ATmega16 特點(diǎn)(tdin)芯片(xn pin)封裝形式有40引腳的PDIP、44引腳的TQFP和44引腳的MLF封裝。共七十二頁21AVR ATmega16 引腳與封裝共七十二頁AVR實(shí)驗(yàn)(shyn)箱22共七十二頁I/O引腳32根I/O引腳,分

10、成PA、PB、PC和PD四個(gè)8位端口,他們?nèi)渴强删幊炭刂频?,雙(多)功能復(fù)用的I/O引腳(口)四個(gè)端口的第一功能是通用的雙向數(shù)字輸入/輸出(I/O)口,其中每一位都可以由指令設(shè)置為獨(dú)立的輸入口,或輸出口。當(dāng)I/O設(shè)置為輸入時(shí),引腳內(nèi)部還配置有上拉電阻,這個(gè)(zh ge)內(nèi)部的上拉電阻可通過編程設(shè)置為上拉有效或上拉無效。23共七十二頁I/O說明(shumng)24共七十二頁25AVR Mega16 結(jié)構(gòu)共七十二頁26AVR 中央處理器CPU 運(yùn)算邏輯(lu j)單元ALU程序計(jì)數(shù)器PC指令寄存器指令譯碼器 通用工作寄存器組共七十二頁27運(yùn)算(yn sun)邏輯單元ALU運(yùn)算邏輯單元ALU的功能

11、是進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算,可對(duì)半字節(jié)(4位)、單字節(jié)等數(shù)據(jù)進(jìn)行操作。如能完成加、減、自動(dòng)加1、自動(dòng)減1、比較等算術(shù)運(yùn)算和與、或、異或、求補(bǔ)、循環(huán)移位等邏輯操作。操作結(jié)果的狀態(tài),如產(chǎn)生(chnshng)進(jìn)位、結(jié)果為零等狀態(tài)信息將影響到狀態(tài)寄存器SREG相應(yīng)的標(biāo)志位。運(yùn)算邏輯單元ALU還包含一個(gè)布爾處理器,用來處理位操作。它可執(zhí)行置位、清零、取反等操作。ATmega16的ALU還能實(shí)現(xiàn)無符號(hào)數(shù)、有符號(hào)數(shù)以及浮點(diǎn)數(shù)的硬件乘法操作。一次硬件乘法操作的時(shí)間為2個(gè)時(shí)鐘周期。共七十二頁28程序(chngx)計(jì)數(shù)器PC指令寄存器指令譯碼器程序計(jì)數(shù)器PC用來存放下一條需要執(zhí)行指令在程序存儲(chǔ)器空間的地址(指向Fl

12、ash空間)。取出的指令存放在指令寄存器中,然后送入指令譯碼器產(chǎn)生各種控制信號(hào),控制CPU的運(yùn)行(執(zhí)行指令)AVR一條指令的長(zhǎng)度大多數(shù)為16位,還有少部分為32位,因此AVR的程序存儲(chǔ)器結(jié)構(gòu)實(shí)際上是以字(16位)為一個(gè)存儲(chǔ)單元的。ATmega16的程序計(jì)數(shù)器為13位,正好滿足了對(duì)片內(nèi)8K字(即手冊(cè)上的16K字節(jié))的Flash程序存儲(chǔ)器空間直接尋址的需要,因此也不能(不支持)在外部擴(kuò)展程序存儲(chǔ)器。AVRCPU在譯碼執(zhí)行一條指令的同時(shí),就將PC中指定的Flash單元(dnyun)中的指令取出,放入指令寄存器中(圖中的InstructionRegister),構(gòu)成了一級(jí)流水線運(yùn)行方式。AVR采用一級(jí)

13、流水線技術(shù),在當(dāng)前指令執(zhí)行的時(shí)候,就取出下一條將要執(zhí)行的指令,加上大多數(shù)AVR指令的長(zhǎng)度是一個(gè)字,就使得AVRCPU實(shí)現(xiàn)了一個(gè)時(shí)鐘周期執(zhí)行一條指令。采用這種結(jié)構(gòu),減少了取指令的次數(shù),大大提高了CPU的運(yùn)行速度,同時(shí)也提高了取指令操作的(系統(tǒng)的)可靠性。而在其它的CISC以及類似的RISC結(jié)構(gòu)的單片機(jī)中,外部振蕩器的時(shí)鐘被分頻降低到傳統(tǒng)的內(nèi)部指令執(zhí)行周期,這種分頻最大達(dá)12倍(例如,標(biāo)準(zhǔn)8031結(jié)構(gòu)的單片機(jī))。共七十二頁29通用(tngyng)工作寄存器組32個(gè)8位通用(tngyng)工作寄存器組:R0R31共七十二頁通用(tngyng)工作寄存器組AVRCPU中的ALU與這32個(gè)通用工作寄存器

14、組直接相連,為了使ALU能夠高效和靈活地對(duì)寄存器組進(jìn)行訪問操作,通用寄存器組提供和支持ALU使用4種不同(b tn)的數(shù)據(jù)輸入/輸出的操作方式:提供一個(gè)8位源操作數(shù),并保存的一個(gè)8位結(jié)果提供兩個(gè)8位源操作數(shù),并保存的一個(gè)8位結(jié)果提供兩個(gè)8位源操作數(shù),并保存的一個(gè)16位結(jié)果提供一個(gè)16位源操作數(shù),并保存的一個(gè)16位結(jié)果30共七十二頁31系統(tǒng)時(shí)鐘(shzhng)部件 系統(tǒng)時(shí)鐘片內(nèi)的1/2/4/8M 的RC振蕩源在引腳XTAL1 和XTAL2 上外接由石英晶體(jngt)直接使用外部的時(shí)鐘源輸出的脈沖信號(hào) 內(nèi)部看門狗時(shí)鐘 共七十二頁32共七十二頁33系統(tǒng)(xtng)時(shí)鐘外部(wib)晶振 外部(wi

15、b)RC 外部時(shí)鐘共七十二頁CPU的工作(gngzu)時(shí)序AVRCPU的工作是由系統(tǒng)時(shí)鐘直接驅(qū)動(dòng)的,在片內(nèi)不再進(jìn)行分頻(fn pn)。圖2-7所示為Harvard結(jié)構(gòu)和快速訪問寄存器組的并行指令存取和指令執(zhí)行時(shí)序。CPU在啟動(dòng)后第一個(gè)時(shí)鐘周期T1取出第一條指令,在T2周期便執(zhí)行取出的指令,并同時(shí)又取出第二條指令,依次進(jìn)行。這種基于流水線形式的取指方式,使AVR可以以非常高的速度執(zhí)行指令,獲得高達(dá)1MIPSMHz的效率。34共七十二頁CPU的工作(gngzu)時(shí)序35共七十二頁CPU的工作(gngzu)時(shí)序36共七十二頁CPU的工作(gngzu)時(shí)序37共七十二頁存儲(chǔ)器AVR單片機(jī)在片內(nèi)集成了F

16、lash程序存儲(chǔ)器、SRAM數(shù)據(jù)存儲(chǔ)器和EEPROM數(shù)據(jù)存儲(chǔ)器。三個(gè)存儲(chǔ)器空間互相獨(dú)立(dl),物理結(jié)構(gòu)也不同。程序存儲(chǔ)器為閃存存儲(chǔ)器Flash,以16位(字)為一個(gè)存儲(chǔ)單元,作為數(shù)據(jù)讀取時(shí),以字節(jié)為單位,而擦除、寫入則是以頁為單位的(不同型號(hào)AVR單片機(jī)一頁的大小也不同)。SRAM數(shù)據(jù)存儲(chǔ)器是以8位(字節(jié))為一個(gè)存儲(chǔ)單元,編址方式采用與工作寄存器組、I/O寄存器和SRAM統(tǒng)一尋址的方式。EEPROM數(shù)據(jù)存儲(chǔ)器也是以8位(字節(jié))為一個(gè)存儲(chǔ)單元,對(duì)其的讀寫操作都以字節(jié)為單位。38共七十二頁I/O端口ATmega16有四個(gè)8位的雙向I/O端口PA、PB、PC、PD,它們對(duì)外對(duì)應(yīng)(duyng)32個(gè)

17、I/O引腳,每一位都可以獨(dú)立地用于邏輯信號(hào)的輸入和輸出。在5伏工作電壓下,輸出時(shí)每個(gè)引腳可供出達(dá)20mA的驅(qū)動(dòng)電流。而輸入時(shí),每個(gè)引腳可吸納最大為40mA的電流,可直接驅(qū)動(dòng)發(fā)光二極管LED(一般LED的驅(qū)動(dòng)電流為10mA左右)和小型繼電器。AVR大部分的I/O端口都具備雙重功能,分別同片內(nèi)的各種不同功能的外圍接口電路組合成一些可以完成特殊功能的I/O口,如定時(shí)器、計(jì)數(shù)器、串行接口、模擬比較器、捕捉器等。39共七十二頁402.4存儲(chǔ)器結(jié)構(gòu)(jigu)和地址空間Flash 程序(chngx)存儲(chǔ)器SRAM 數(shù)據(jù)存儲(chǔ)器EEPROM 數(shù)據(jù)存儲(chǔ)器 共七十二頁41Flash 程序(chngx)存儲(chǔ)器AVR

18、單片機(jī)包括1K128K字節(jié)的片內(nèi)可下載Flash程序存儲(chǔ)器。由于AVR所有指令為16位字或32位雙字,故Flash程序存儲(chǔ)器的結(jié)構(gòu)為(512B64Kb)x16位。Flash存儲(chǔ)器的使用壽命最少為1萬次寫/擦循環(huán)。Atmega16單片機(jī)的程序存儲(chǔ)器為8Kx16(16Kx8),程序計(jì)數(shù)器PC寬為13位,以此來對(duì)8K字程序存儲(chǔ)器地址進(jìn)行(jnxng)尋址。程序存儲(chǔ)器的地址空間與數(shù)據(jù)存儲(chǔ)器的地址空間是分開的,地址空間從$000開始。如要在程序存儲(chǔ)器中使用常量表,則常量表可以被設(shè)定在整個(gè)Flash地址空間中。共七十二頁SRAM42程序存儲(chǔ)器空間數(shù)據(jù)存儲(chǔ)器空間EEPROM 數(shù)據(jù)存儲(chǔ)器空間Flash 程序存

19、儲(chǔ)器(8Kx16或16Kx8)EEPROM數(shù)據(jù)存儲(chǔ)器(512x8)32 個(gè)通用寄存器64 個(gè)I/O寄存器內(nèi)部SRAM數(shù)據(jù)存儲(chǔ)器(1024x8)$0000$1FFF$0000$001F$0020$005F$0060$0060$01FF$0000圖2-10 ATmeag16 存儲(chǔ)器結(jié)構(gòu)共七十二頁EEPROM 數(shù)據(jù)(shj)存儲(chǔ)器 AVR系列單片機(jī)還包括(boku)64B4K字節(jié)的EEPROM數(shù)據(jù)存儲(chǔ)器。它們被組織在一個(gè)獨(dú)立的數(shù)據(jù)空間中。這個(gè)數(shù)據(jù)空間采用單字節(jié)讀寫方式。EEPROM的使用壽命至少為10萬次寫/擦循環(huán)。ATmega16的EEPROM容量是512字節(jié),地址范圍為$0000$01FF。EE

20、PROM數(shù)據(jù)存儲(chǔ)器可用于存放一些需要掉電保護(hù),而且比較固定的系統(tǒng)參數(shù)、表格等。43共七十二頁2.5通用寄存器組與I/O寄存器通用寄存器組I/O寄存器44共七十二頁通用寄存器45共七十二頁46通用寄存器32個(gè)通用寄存器 R0R31對(duì)應(yīng)(duyng)SRAM地址$0000$001F地址指針寄存器X、Y、ZXR27 R26YR29 R28ZR30 R31共七十二頁通用寄存器47共七十二頁48I/O寄存器64個(gè)I/O寄存器I/O寄存器地址(dzh)$00$3FSRAM映射地址$00+$20$3F+$20 ($20) ($5F)指令:專用指令、SRAM通用指令共七十二頁49寄存器狀態(tài)(zhungti)寄

21、存器SREG 位7I: 全局中斷使能位 位6T: 位復(fù)制(fzh)存儲(chǔ)位5H: 半進(jìn)位標(biāo)志位 位4S: 符號(hào)標(biāo)志位 位3V: 2 補(bǔ)碼溢出標(biāo)志位 位2N: 負(fù)數(shù)標(biāo)志位1Z: 零值標(biāo)志位 位0C:進(jìn)/借位標(biāo)志共七十二頁50寄存器堆棧(duzhn)指針寄存器SP 16位SPSPH SPLSP上電初始值 0000SP指向SRAM空間、堆棧放在SRAM中堆棧向下生長(zhǎng)匯編程序一定(ydng)要初始化SP操作方式:手動(dòng)進(jìn)出棧、自動(dòng)進(jìn)出棧共七十二頁51AVR單片機(jī)最小系統(tǒng)(xtng)共七十二頁AVR單片機(jī)最小系統(tǒng)(xtng)52共七十二頁53AVR工作(gngzu)方式復(fù)位方式(fngsh)正常程序執(zhí)行工作

22、方式休眠節(jié)電工作方式程序運(yùn)行代碼下載的編程方式 共七十二頁單片機(jī)復(fù)位(f wi)AVR單片機(jī)的復(fù)位操作,其主要功能是把程序計(jì)數(shù)器PC初始化為$0000(指非BOOTLOAD方式啟動(dòng)),使單片機(jī)從$0000單元開始(kish)執(zhí)行程序。同時(shí)決大部分的寄存器(通用寄存器和I/O寄存器)也被復(fù)位操作清零,有關(guān)各個(gè)寄存器的復(fù)位初始化值請(qǐng)注意書中對(duì)各寄存器的詳細(xì)說明54共七十二頁復(fù)位(f wi)方式上電復(fù)位(f wi)看門狗復(fù)位BOD復(fù)位(掉電檢測(cè)復(fù)位)外部復(fù)位JTAG復(fù)位55共七十二頁56AVR工作(gngzu)方式復(fù)位方式共七十二頁上電復(fù)位(f wi)57共七十二頁上電復(fù)位(f wi)58共七十二頁

23、外部(wib)復(fù)位59共七十二頁掉電檢測(cè)(jin c)(BOD)復(fù)位60共七十二頁看門狗復(fù)位(f wi)ATmega16片內(nèi)還集成一個(gè)獨(dú)立的看門狗定時(shí)器WDT。WDT由片內(nèi)獨(dú)立的1M振蕩器提供時(shí)鐘信號(hào),并且可用專用的熔絲位或由用戶通過指令控制WDT的啟動(dòng)和關(guān)閉,以及設(shè)置(shzh)和清另計(jì)數(shù)值。當(dāng)WDT啟動(dòng)計(jì)數(shù)后,一旦發(fā)生計(jì)數(shù)溢出,它將觸發(fā)產(chǎn)生一個(gè)時(shí)鐘周期寬度的復(fù)位脈沖。脈沖的上生沿將使器件進(jìn)入復(fù)位狀態(tài),脈沖的下降沿啟動(dòng)延時(shí)計(jì)數(shù)器計(jì)數(shù),經(jīng)過設(shè)定的啟動(dòng)延時(shí)時(shí)間,CPU重新開始運(yùn)行(圖2-19)。使用WDT功能,可以防止系統(tǒng)受到干擾而引起的程序運(yùn)行紊亂和跑飛,提高了系統(tǒng)的可靠性。61共七十二頁系統(tǒng)

24、(xtng)時(shí)鐘62共七十二頁看門狗復(fù)位(f wi)63共七十二頁64共七十二頁正常程序執(zhí)行工作(gngzu)方式正常程序(chngx)執(zhí)行工作方式是單片機(jī)的基本工作方式。由于硬件的復(fù)位操作將程序(chngx)計(jì)數(shù)器置為另(PC=$0000),因此程序的執(zhí)行總是從Flash地址的$0000開始的(指非BOOTLOAD方式啟動(dòng))。對(duì)于ATmega16來講,F(xiàn)lash地址的$0002到$0028是中斷向量區(qū)(祥見第六章),所以真正實(shí)際要開始運(yùn)行的程序代碼一般放在從$002A以后的程序地址空間中。標(biāo)準(zhǔn)的做法是在Flash的$0000單元中放置一條轉(zhuǎn)移指令JMP或RJMP,使得CPU在復(fù)位重新啟動(dòng)后,首先執(zhí)行該轉(zhuǎn)移指令,跳過中斷向量區(qū),轉(zhuǎn)到執(zhí)行實(shí)際程序的開始處。65共七十二頁66正常程序執(zhí)行工作(gngzu)方式PC=$0000程序從FLASH的$0000處開始(kish)執(zhí)行FLASH低端地址是中斷向量地址跳過中斷向量地址區(qū)Flash空間地址 指 令 字 說 明$0000 jmp RESET ;復(fù)位中斷向量 ;向量區(qū) 程序代碼區(qū)$0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論