亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rst_main.c

?? 一些avr單片機的開發(fā)實例
?? C
字號:
/***********************************************
****      AVR  復(fù)位檢測和控制看門狗的范例       ***
****  	                                     ***
**** 作者:  HJJourAVR                        ***
**** 編譯器:WINAVR20050214                   ***
****                                         ***
****  	www.OurAVR.com	 2005.9.28           ***
***********************************************/
/*
本程序簡單的示范了AVRATMEGA16的復(fù)位檢測和控制看門狗
		系統(tǒng)控制和復(fù)位
		復(fù)位來源的檢測
			JTAG復(fù)位指示
			看門狗復(fù)位指示
			BOD復(fù)位指示
			RESET引腳復(fù)位指示
			上電復(fù)位指示
		看門狗的控制
 
出于簡化程序考慮,各種數(shù)據(jù)沒有對外輸出,學(xué)習(xí)時建議使用JTAG ICE硬件仿真器。
熔絲位設(shè)置 
1 使能BOD功能 BODEN=0  
2 選擇BOD電平 BODLEVEL=1  2.7V(VCC=3V)  (可選) 
			 BODLEVEL=0  4.0V(VCC=5V)  (可選) 
*/

#include <avr/io.h>
#include <avr/delay.h>
//時鐘定為內(nèi)部RC 1MHz,F_CPU=1000000 也可以采用其他時鐘
#include <avr/wdt.h>
/*
wdt.h里面
看門狗溢出時間常量定義
	#define WDTO_15MS   0
	#define WDTO_30MS   1
	#define WDTO_60MS   2
	#define WDTO_120MS  3
	#define WDTO_250MS  4
	#define WDTO_500MS  5
	#define WDTO_1S     6
	#define WDTO_2S     7
	下面的4S/8S定義只能用于 ATtiny2313, ATmega48, ATmega88 and the ATmega168.
	#define WDTO_4S     8
	#define WDTO_8S     9
看門狗操作函數(shù)
	wdt_disable()
	關(guān)閉看門狗
	wdt_enable(timeout)
	使能看門狗及溢出時間設(shè)定
	wdt_reset()
	復(fù)位看門狗(喂狗)
*/
//管腳定義

#define  WDT_EN		7	//PA7 看門狗的喂狗控制引腳
						// 高電平,不喂狗
						// 低電平,喂狗

#define  LED_JT		4	//PA4 JTAG復(fù)位指示
#define  LED_WD		3	//PA3 看門狗復(fù)位指示
#define  LED_BO		2	//PA2 BOD復(fù)位指示
#define  LED_EXT    1	//PA1 RESET引腳復(fù)位指示
#define  LED_PO		0	//PA0 上電復(fù)位指示
//以上信號皆為低電平有效


int main(void)
{
    unsigned char CPU_STATUS;
    unsigned char i;
    //上電默認(rèn)DDRx=0x00,PORTx=0x00 輸入,無上拉電阻
    PORTB =0xFF;									//不用的管腳使能內(nèi)部上拉電阻。
    PORTC =0xFF;
    PORTD =0xFF;
    PORTA =0xFF;
    DDRA  =(1<<LED_JT)|(1<<LED_WD)|(1<<LED_BO)|(1<<LED_EXT)|(1<<LED_PO);	//輸出驅(qū)動LED

    CPU_STATUS =MCUCSR;			//讀取MCU控制和狀態(tài)寄存器
    //可以在JTAG調(diào)試時直接觀察 MCUCSR的狀態(tài)。
    CPU_STATUS&=0x1F;
    switch (CPU_STATUS)
    {
    case (1<<JTRF):			//JTAG引起的復(fù)位?
        PORTA&=~(1<<LED_JT);
        break;
    case (1<<WDRF):			//看門狗引起的復(fù)位?
        PORTA&=~(1<<LED_WD);
        break;
    case (1<<BORF):			//BOD引起的復(fù)位?
        PORTA&=~(1<<LED_BO);
        break;
    case (1<<EXTRF):		//RESET引腳引起的復(fù)位?
        PORTA&=~(1<<LED_EXT);
        break;
    case (1<<PORF):			//上電引起的復(fù)位?
        PORTA&=~(1<<LED_PO);
        break;
    default:				//多種復(fù)位同時發(fā)生?
        PORTA=~CPU_STATUS;	
        break;
    }
    MCUCSR=0x00;			//清除標(biāo)志位
    
    for(i=0;i<200;i++)
        _delay_ms(10);		//延時2秒
    wdt_enable(WDTO_2S);	//使能看門狗,溢出時間為2秒左右
    while(1)
	{
        if (!(PINA&(1<<WDT_EN)))
            wdt_reset();		//如果PA7為低電平時,復(fù)位看門狗(喂狗)
    }
}

/*
程序運行效果
	如果PA7是高電平,不喂狗,則每2秒鐘看門狗復(fù)位一次,LED_WD亮
	如果PA7是低電平,喂狗,則方便作如下實驗
	    第一次上電時,發(fā)生上電復(fù)位事件,LED_PO亮
	    按下復(fù)位按鍵,發(fā)上外部復(fù)位事件,LED_EXT亮
	    調(diào)節(jié)電源電壓調(diào)到4.0V(或2.7V)以下,然后調(diào)回5.0V(3.0V),發(fā)生BOD復(fù)位事件,LED_BO亮
	    在JTAG調(diào)試時,使用[reset]功能,發(fā)生JTAG復(fù)位事件,LED_JT亮
	注意:有時候會出現(xiàn)多種復(fù)位事件同時發(fā)生,例如:
		上電的同時按住復(fù)位按鍵,將會同時發(fā)生  上電復(fù)位事件和外部復(fù)位事件
*/

/*
系統(tǒng)控制和復(fù)位
	復(fù)位AVR 復(fù)位時所有的I/O 寄存器都被設(shè)置為初始值,程序從復(fù)位向量處開始執(zhí)行。
	復(fù)位向量處的指令必須是絕對跳轉(zhuǎn)JMP 指令,以使程序跳轉(zhuǎn)到復(fù)位處理例程。
	如果程序永遠不利用中斷功能,中斷向量可以由一般的程序代碼所覆蓋。
	這個處理方法同樣適用于當(dāng)復(fù)位向量位于應(yīng)用程序區(qū),中斷向量位于Boot 區(qū) — 或者反過來 — 的時候。
	復(fù)位源有效時I/O 端口立即復(fù)位為初始值。此時不要求任何時鐘處于正常運行狀態(tài)。
	
	所有的復(fù)位信號消失之后,芯片內(nèi)部的一個延遲計數(shù)器被激活,將內(nèi)部復(fù)位的時間延長。
	這種處理方式使得在MCU 正常工作之前有一定的時間讓電源達到穩(wěn)定的電平。
	延遲計數(shù)器的溢出時間通過熔絲位SUT 與CKSEL 設(shè)定。延遲時間的選擇請參見 P23“ 時鐘源” 。
	
復(fù)位源ATmega16 有5 個復(fù)位源:
	上電復(fù)位。電源電壓低于上電復(fù)位門限 VPOT 時, MCU 復(fù)位。
	外部復(fù)位。引腳 RESET 上的低電平持續(xù)時間大于最小脈沖寬度時MCU 復(fù)位。
	看門狗復(fù)位。看門狗使能并且看門狗定時器溢出時復(fù)位發(fā)生。
	掉電檢測復(fù)位。掉電檢測復(fù)位功能使能,且電源電壓低于掉電檢測復(fù)位門限 VBOT 時MCU 即復(fù)位。
	JTAG AVR復(fù)位。復(fù)位寄存器為1時MCU復(fù)位。詳見 P215“IEEE 1149.1 (JTAG) 邊界掃描” 。
	
上電復(fù)位
	上電復(fù)位(POR) 脈沖由片內(nèi)檢測電路產(chǎn)生。 
	無論何時VCC 低于檢測電平POR 即發(fā)生。
	POR 電路可以用來觸發(fā)啟動復(fù)位,或者用來檢測電源故障。
	POR電路保證器件在上電時復(fù)位。
	VCC 達到上電門限電壓后觸發(fā)延遲計數(shù)器。在計數(shù)器溢出之前器件一直保持為復(fù)位狀態(tài)。
	當(dāng)VCC 下降時,只要低于檢測門限,RESET 信號立即生效。
 
外部復(fù)位
	外部復(fù)位由外加于RESET 引腳的低電平產(chǎn)生。
	當(dāng)復(fù)位低電平持續(xù)時間大于最小脈沖寬度時即觸發(fā)復(fù)位過程,即使此時并沒有時鐘信號在運行。
	當(dāng)外加信號達到復(fù)位門限電壓VRST( 上升沿) 時, tTOUT 延時周期開始。
	延時結(jié)束后MCU 即啟動。
	
掉電檢測
	ATmega16 具有片內(nèi)BOD(Brown-out Detection) 電路,通過與固定的觸發(fā)電平的對比來檢測工作過程中VCC 的變化。
	此觸發(fā)電平通過熔絲位BODLEVEL 來設(shè)定, 2.7V(BODLEVEL 未編程),4.0V (BODLEVEL 已編程)。
	BOD 的觸發(fā)電平具有遲滯功能以消除電源尖峰的影響。
	這個遲滯功能可以解釋為VBOT+ = VBOT + VHYST/2 以及VBOT- = VBOT- VHYST/2。
	BOD 電路的開關(guān)由熔絲位BODEN控制。
	當(dāng)BOD使能后(BODEN被編程),一旦VCC下降到觸發(fā)電平以下(VBOT-), BOD 復(fù)位立即被激發(fā)。
	當(dāng)VCC 上升到觸發(fā)電平以上時(VBOT+),延時計數(shù)器開始計數(shù),一旦超過溢出時間tTOUT,MCU即恢復(fù)工作。
	如果VCC一直低于觸發(fā)電平并保持tBOD時間, BOD電路將只檢測電壓跌落。
 
看門狗復(fù)位
	看門狗定時器溢出時將產(chǎn)生持續(xù)時間為1 個CK 周期的復(fù)位脈沖。
	在脈沖的下降沿,延時定時器開始對tTOUT 記數(shù)
	
MCU控制和狀態(tài)寄存器-MCUCSR
	MCU 控制和狀態(tài)寄存器提供了有關(guān)引起MCU 復(fù)位的復(fù)位源的信息
		Bit 4 – JTRF: JTAG 復(fù)位標(biāo)志
			通過JTAG 指令A(yù)VR_RESET 可以使JTAG 復(fù)位寄存器置位,并引發(fā)MCU 復(fù)位,并使JTRF 置位。
			上電復(fù)位將使其清零,也可以通過寫”0” 來清除。
		Bit 3 – WDRF: 看門狗復(fù)位標(biāo)志
			看門狗復(fù)位發(fā)生時置位。
			上電復(fù)位將使其清零,也可以通過寫”0” 來清除。
		Bit 2 – BORF: 掉電檢測復(fù)位標(biāo)志
			掉電檢測復(fù)位發(fā)生時置位。
			上電復(fù)位將使其清零,也可以通過寫”0” 來清除。
		Bit 1 – EXTRF: 外部復(fù)位標(biāo)志
			外部復(fù)位發(fā)生時置位。
			上電復(fù)位將使其清零,也可以通過寫”0” 來清除。
		Bit 0 – PORF: 上電復(fù)位標(biāo)志
			上電復(fù)位發(fā)生時置位。
			只能通過寫”0” 來清除。
	為了使用這些復(fù)位標(biāo)志來識別復(fù)位條件,用戶應(yīng)該盡早讀取此寄存器的數(shù)據(jù),然后將其復(fù)位。
	如果在其他復(fù)位發(fā)生之前將此寄存器復(fù)位,則后續(xù)復(fù)位源可以通過檢查復(fù)位標(biāo)志來了解
	
看門狗定時器
	看門狗定時器由獨立的1Mhz 片內(nèi)振蕩器驅(qū)動。這是VCC = 5V 時的典型值。
	通過設(shè)置看門狗定時器的預(yù)分頻器可以調(diào)節(jié)看門狗復(fù)位的時間間隔。
	看門狗復(fù)位指令WDR 用來復(fù)位看門狗定時器。
	此外,禁止看門狗定時器或發(fā)生復(fù)位時定時器也被復(fù)位。
	復(fù)位時間有8 個選項。
	如果沒有及時復(fù)位定時器,一旦時間超過復(fù)位周期, ATmega16 就復(fù)位,并執(zhí)行復(fù)位向量指向的程序。
	
	為了防止無意之間禁止看門狗定時器,在看門狗禁用后必須跟一個特定的修改序列。
		1. 在同一個指令內(nèi)對WDTOE 和WDE 寫"1“,即使WDE 已經(jīng)為"1“
		2. 在緊接的4 個時鐘周期之內(nèi)對WDE 寫"0”
		
看門狗定時器控制寄存器-WDTCR
	Bit 4 – WDTOE: 看門狗修改使能
		清零WDE 時必須置位WDTOE,否則不能禁止看門狗。
		一旦置位,硬件將在緊接的4個時鐘周期之后將其清零。請參考有關(guān)WDE 的說明來禁止看門狗。
	Bit 3 – WDE: 使能看門狗
		WDE為"1“ 時,看門狗使能,否則看門狗將被禁止。
		只有在WDTOE為"1“ 時WDE 才能清零。以下為關(guān)閉看門狗的步驟:
		1. 在同一個指令內(nèi)對WDTOE 和WDE 寫"1“,即使WDE 已經(jīng)為"1“
		2. 在緊接的4 個時鐘周期之內(nèi)對WDE 寫"0”
	Bits 2..0 – WDP2, WDP1, WDP0: 看門狗定時器預(yù)分頻器2, 1 和 0
		WDP2、WDP1 和WDP0 決定看門狗定時器的預(yù)分頻器
 
   WDP2 WDP1 WDP0   看門狗振蕩器周期  VCC=3.0V時典型的溢出周期  VCC=5.0V時典型的溢出周期
    0    0     0      16K   (16384)       17.1ms                   16.3ms
    0    0     1      32K   (32768)       34.3ms                   32.5ms
    0    1     0      64K   (65536)       68.5ms                     65ms
    0    1     1     128K  (131072)       0.14s                    0.13s
    1    0     0     256K  (262144)       0.27s                    0.26s
    1    0     1     512K  (524288)       0.55s                    0.52s
    1    1     0    1024K (1048576)       1.1 s                    1.0 s
    1    1     1    2048K (2097152)       2.2 s                    2.1 s
    
    
掉電檢測BOD的誤解
		AVR自帶的BOD(Brown-out Detection)電路,作用是在電壓過低(低于設(shè)定值)時產(chǎn)生復(fù)位信號,防止CPU意外動作.
		對EEPROM的保護作用是當(dāng)電壓過低時保持RESET信號為低,防止CPU意外動作,錯誤修改了EEPROM的內(nèi)容
		
		而我們所理解的掉電檢測功能是指 具有預(yù)測功能的可以進行軟件處理的功能。
		例如,用戶想在電源掉電時把SRAM數(shù)據(jù)轉(zhuǎn)存到EEPROM,可行的方法是 
		   外接一個在4.5V翻轉(zhuǎn)的電壓比較器(VCC=5.0V,BOD=2.7V),輸出接到外部中斷引腳(或其他中斷)
		   一但電壓低于4.5V,馬上觸發(fā)中斷,在中斷服務(wù)程序中把數(shù)據(jù)寫到EEPROM中保護起來
	注意: 寫一個字節(jié)的EEPROM時間長達8mS,所以不能寫入太多數(shù)據(jù),電源濾波電容也要選大一些
*/


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区蝌蚪| 欧美一级二级三级乱码| 成人黄色在线视频| 国产91精品精华液一区二区三区 | 一区二区三区丝袜| 亚洲日本成人在线观看| 国产精品久久免费看| 亚洲国产精品激情在线观看| 国产婷婷色一区二区三区四区 | 亚洲成人资源网| 洋洋av久久久久久久一区| 亚洲男女毛片无遮挡| 亚洲国产三级在线| 午夜在线成人av| 裸体健美xxxx欧美裸体表演| 美女精品一区二区| 国产99久久久精品| 91美女精品福利| 欧美性大战xxxxx久久久| 在线播放91灌醉迷j高跟美女| 欧美高清精品3d| 日韩欧美资源站| 久久伊99综合婷婷久久伊| 欧美激情一区三区| 亚洲女人的天堂| 视频一区欧美日韩| 国产一区二区剧情av在线| 成人一级片在线观看| 91黄色免费看| 日韩女优毛片在线| 国产精品视频yy9299一区| 亚洲精品成人在线| 日本欧美一区二区三区| 国产黄色91视频| 色88888久久久久久影院野外| 欧美另类videos死尸| 久久久不卡网国产精品二区| 综合精品久久久| 日韩精品福利网| 春色校园综合激情亚洲| 欧美日韩久久久一区| 精品国产乱码久久久久久久 | 日本三级亚洲精品| 床上的激情91.| 欧美欧美欧美欧美| 国产欧美一二三区| 五月综合激情婷婷六月色窝| 国产99久久精品| 6080日韩午夜伦伦午夜伦| 国产精品天美传媒| 日韩在线卡一卡二| 成人免费视频一区二区| 欧美一区二区三级| 成人免费在线播放视频| 蜜臀91精品一区二区三区| 91啦中文在线观看| 精品久久久影院| 亚洲精品欧美综合四区| 国产综合成人久久大片91| 一本久道中文字幕精品亚洲嫩| 日韩欧美国产午夜精品| 一区二区三区 在线观看视频| 国产一二三精品| 欧美性大战久久久久久久蜜臀 | 亚洲久草在线视频| 国内精品写真在线观看| 日韩美女视频一区| 久久精品国产精品亚洲精品| 成人天堂资源www在线| 日韩欧美一区二区视频| 亚洲小说欧美激情另类| 成人免费视频一区| 国产亚洲成aⅴ人片在线观看| 日韩影院在线观看| 91看片淫黄大片一级| 欧美—级在线免费片| 久久99久久久久| 欧美精品乱码久久久久久| 亚洲婷婷在线视频| 国产+成+人+亚洲欧洲自线| 欧美成人性福生活免费看| 亚洲va天堂va国产va久| 91免费视频网址| 国产精品久久久久一区二区三区 | 成人av网站免费观看| 精品1区2区在线观看| 日韩精品一区第一页| 在线观看区一区二| 一区二区免费在线播放| 91女人视频在线观看| 国产精品毛片大码女人| 国产电影精品久久禁18| 久久亚洲精品国产精品紫薇| 麻豆国产一区二区| 日韩午夜中文字幕| 麻豆精品国产91久久久久久| 欧美一区二区视频在线观看2020| 亚洲高清免费在线| 69p69国产精品| 日韩二区在线观看| 日韩免费电影一区| 精品一区二区三区在线播放视频| 日韩美一区二区三区| 久久精品国产亚洲一区二区三区| 91精品欧美久久久久久动漫| 日韩高清不卡一区二区三区| 91精品国产综合久久精品性色| 亚洲成人免费在线| 6080亚洲精品一区二区| 蜜桃久久久久久久| 久久久精品黄色| av电影在线观看一区| 一区二区三区精品视频| 欧美色精品在线视频| 天天综合网 天天综合色| 日韩三级在线观看| 韩国视频一区二区| 国产亚洲精品中文字幕| 91色porny在线视频| 亚洲成人一二三| 日韩欧美电影一区| 国产精品99久久久久| 中文字幕在线观看一区| 91黄视频在线| 欧美bbbbb| 国产亚洲欧洲997久久综合| 99久久精品久久久久久清纯| 一区二区三区在线免费视频| 欧美精品在线观看一区二区| 美国欧美日韩国产在线播放| 国产日产欧美一区二区三区| 91福利精品视频| 蜜桃视频一区二区| 国产精品乱人伦| 欧美视频完全免费看| 另类的小说在线视频另类成人小视频在线| 久久老女人爱爱| 在线欧美日韩国产| 麻豆国产精品视频| 国产精品福利一区二区三区| 欧美日韩不卡在线| 国产精品18久久久久久久久| 亚洲另类在线视频| 日韩色在线观看| av在线不卡观看免费观看| 亚洲图片一区二区| 国产偷国产偷亚洲高清人白洁| 在线免费视频一区二区| 久久99国产精品麻豆| 亚洲桃色在线一区| 欧美videossexotv100| 99国产精品99久久久久久| 奇米色777欧美一区二区| 1区2区3区国产精品| 日韩一区二区三区观看| 99精品视频一区二区| 国产在线麻豆精品观看| 亚洲一二三级电影| 国产精品日韩精品欧美在线| 91精品国产色综合久久久蜜香臀| 播五月开心婷婷综合| 九一久久久久久| 亚洲精品欧美二区三区中文字幕| 欧美tk—视频vk| 欧美午夜免费电影| 成人国产亚洲欧美成人综合网 | 91激情五月电影| 国产白丝精品91爽爽久久| 日韩av在线发布| 一区二区三区在线影院| 国产欧美日韩三区| 日韩欧美亚洲国产另类| 在线亚洲欧美专区二区| 成人免费视频一区二区| 国模无码大尺度一区二区三区| 亚洲一区二区三区精品在线| 国产精品久久久久久一区二区三区| 日韩欧美国产小视频| 在线观看91av| 欧美网站大全在线观看| 色综合天天综合网天天狠天天| 国产成人在线观看免费网站| 另类小说视频一区二区| 日本免费新一区视频| 亚洲第一福利视频在线| 亚洲激情图片qvod| 亚洲人被黑人高潮完整版| 日本一区二区动态图| 国产拍欧美日韩视频二区| www久久精品| 久久亚洲精精品中文字幕早川悠里| 日韩情涩欧美日韩视频| 欧美一区二区美女| 在线播放日韩导航| 欧美人狂配大交3d怪物一区| 欧美日韩在线观看一区二区| 欧美在线免费观看视频| 欧美日韩一区二区在线观看| 色av一区二区| 日本久久精品电影|