久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

很給力的STC單片機(jī)復(fù)位方法總結(jié)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年12月01日   【字體:

單片機(jī)軟復(fù)位有什么好的方法?如從機(jī)收到復(fù)位命令(軟件命令),程序怎么使機(jī)器復(fù)位?雖然要使軟件始終處于可控狀態(tài),最好不要用"復(fù)位",因?yàn)閺?fù)位是純硬件過程,軟件是不可控的.但是我們還是要討論方法,一般流傳的方法如下:

1、放狗;

2、((void(code *)(void))0x0000)();

3、用單片機(jī)一個(gè)引腳控制點(diǎn)一下RSTRST;

4、用單片機(jī)一個(gè)引腳控制重新加電;

5、用單片機(jī)自帶的軟件復(fù)位指令或內(nèi)狗指令;

6、goto大法;

方法1:“放狗”是單片機(jī)軟復(fù)位的最好辦法,也基本上是唯一的一個(gè)辦法。但并不是所有單片機(jī)都具備看門狗的功能,也不是一個(gè)萬全之策。
辦法2:這不是復(fù)位,只是把程序轉(zhuǎn)到地址0去執(zhí)行,不如用一個(gè)JMP更直接。目前可能極少數(shù)單片機(jī)或者用戶已經(jīng)自行添加Boot load時(shí)用戶程序的程序開始地址并不為0x0000,所以需要查找這些特定單片機(jī)的啟動(dòng)地址。
在keil C51下面可以這樣實(shí)現(xiàn):
void soft_reset(void)
{
((void (code *) (void)) 0x0000) ();
}
在需要軟件復(fù)位的地方使用語句:
soft_reset();
一般可實(shí)現(xiàn)軟件復(fù)位。
辦法3:用軟件實(shí)現(xiàn)的硬復(fù)位。需要犧牲一個(gè)單片機(jī)引腳,且增加了單片機(jī)外部電路構(gòu)造的復(fù)雜性,很不可??r

辦法4:類似辦法3,同樣需要犧牲一個(gè)單片機(jī)引腳,且增加了單片機(jī)外部電路構(gòu)造的復(fù)雜性.
辦法5:Atmel 89C不帶內(nèi)狗,S的有內(nèi)狗,只是一條指令就行。如STC的單片機(jī)有軟件復(fù)位指令,即ISP_CONTR,地址在0E7H 單元(即str ISP_CONTR=0xE7),MOV ISP_CONTR,#00100000B(C語言為ISP_CONTR=0x20),內(nèi)狗也是一條指令MOV WDT_CONTR,#00111100B!
STC 51系列單片機(jī)Datasheet中指出:傳統(tǒng)的8051 單片機(jī)由于硬件上未支持此功能,用戶必須用軟件模擬實(shí)現(xiàn),實(shí)現(xiàn)起來較麻煩。現(xiàn)STC 新推出的增強(qiáng)型8051 根據(jù)客戶要求增加了ISP_CONTR 特殊功能寄存器,實(shí)現(xiàn)了此功能。用戶只需簡(jiǎn)單的控制ISP_CONTR 特殊功能寄存器的其中兩位 SWBS / SWRST 就可以系統(tǒng)復(fù)位了。
辦法6:程序從頭(上電復(fù)位處)開始運(yùn)行,且只有一個(gè)循環(huán)這種情況,當(dāng)然可以用goto,如在main()的開頭設(shè)一個(gè)start:,在程序的唯一循環(huán)中設(shè)定一個(gè)條件,然后goto命令。但需要注意,如果是在中斷例程里,那么中斷掛號(hào)寄存器仍置位,同級(jí)中斷不能執(zhí)行。所以必須先使中斷掛號(hào)寄存器清零,EA = 0。只有RETI指令可以使中斷掛號(hào)寄存器清零。51單片機(jī)有兩級(jí)中斷優(yōu)先級(jí),所以需要執(zhí)行兩次RETI指令。這用匯編是很簡(jiǎn)單的事,而C則比較難以實(shí)現(xiàn)。但是,goto命令盡量不要用,因?yàn)間oto會(huì)到處亂竄,而且goto不能跑到函數(shù)外面去執(zhí)行一個(gè)命令。

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 国产日韩精品一区 | 国产精品一区二区三区四区 | 日韩精品一区二区三区中文在线 | 99久久精品免费看国产四区 | 91精品国产日韩91久久久久久 | 亚洲国产精品成人无久久精品 | 日日干夜夜操天天操 | 国产精品一区二区在线 | 91视频网 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 亚洲精品粉嫩美女一区 | 亚洲精精品 | 国产精品久久久久久久久久久免费看 | 久久精品99 | 激情一区二区三区 | 伊人久久综合 | 久草免费在线视频 | 久久精品国产一区二区三区不卡 | www久久爱 | 久久国产精品久久久久久 | 久久伊人亚洲 | 国产97人人超碰caoprom | 国产精品成人一区二区三区 | 亚洲男女视频在线观看 | 久久久久久久97 | 精品欧美一区二区三区久久久 | 欧美三级久久久 | 日韩成人免费av | 日批的视频 | 毛片a级 | 国产视频久 | 成人精品国产一区二区4080 | 91在线一区 | 国产一区精品 | 国产精品九九九 | 日韩av高清在线 | 亚洲成a | 久久在线看 | 欧美在线一区二区三区 | 久久久福利 | 在线免费观看日本视频 |