導航:首頁 > 軟體知識 > 單片機如何編寫復位程序

單片機如何編寫復位程序

發布時間:2023-02-27 04:58:50

A. 單片機軟復位幾種方法

如從機收到復位命令(軟體命令),程序怎麼使機器復位?雖然要使軟體始終處於可控狀態,最好不要用"復位",因為復位是純硬體過程,軟體是不可控的.但是我們還是要討論方法,一般流傳的方法如下:
1、放狗;
2、((void(code *)(void))0x0000)();
3、用單片機一個引腳控制點一下RSTRST;
4、用單片機一個引腳控制重新加電;
5、用單片機自帶的軟體復位指令或內狗指令;
6、goto大法;

B. 如何使用單片機C語言實現復位

可以使用下面的程序跳到0000H實現軟復位,下面的程序實際上是一個函數指針,指針指向了0000H地址。
((void
(code
*)
(void))
0x0000)
();
下面的例子將實現軟體自復位void
reset
(void)
{
((void
(code
*)
(void))
0x0000)
();
}
void
main
(void)
{
reset
();
}
你可能注意到以上的軟復位程序並不能清除8051的中斷系統和某些8051的外圍設備,當您在中斷程序中調用上面的軟體復位程序後,中斷將再不能觸發。因此,以上的軟復位程序不能在中斷子程序中調用。
下面的小段匯編函數可以在中斷程序或主程序中調用,該函數將0x0000壓棧,然後通過「RETI」出棧,這將清除中斷環境並讓程序從0000H重新開始運行。
?PR?RESET
SEGMENT
CODE
RSEG
?PR?RESET
;
C
prototype:
void
reset
(void);
PUBLIC
reset
reset:
POP
ACC
;
pop
return
address
POP
ACC
CLR
A
;
push
0
as
new
PUSH
ACC
;
return
address
to
stack
PUSH
ACC
RETI
;
execute
return
of
interrupt
END
以上程序在選擇bank
0寄存器組時工作良好,假如選擇的不是bank0寄存器組,那麼可能無法獲得預料的結果。你應該在以上的程序或啟動代碼中加上「MOV
PSW,
#0」來選擇bank
0寄存器組。
以上文章由龍嘯九天翻譯自KEIL
FAQ,可能有疏漏,歡迎提出。

C. 51系列單片機是如何進行復位的

在單片機系統的應用中,我們經常需要用到復位技術來實現抗干擾。有的單片機(如8098)有專門的復位指令,某些增強型MCS-51系列單片機雖然沒有復位指令,但片內集成了WATCHDOG電路,可以很容易實現復位。而普及型MCS-51系列單片機(如8031和8032)既無復位指令,又不帶硬體WATCHDOS,如果不外接硬體WATCHDOG,就必須採用軟體復位技術。所謂軟體復位就是用一系列指令來模仿復位操作。在MCS-51系列單片機中,只要用指令使程序從起始地址(0x0000)開始執行,就可以復位單片機。

D. avr單片機如何在程序中復位

你是想硬體復位還是軟體復位呢?如果是硬體復位,那麼要修改電路,在單片機的RESET腳上用三極體控制,當接到串口命令後,由一個單片機的引腳控制三極體的基極,使RESET腳給出一個低電平,即可硬體復位。如果是軟體復位的話,那就重新執行以下初始化的函數就做到所有的變數和硬體配置復位了

閱讀全文

與單片機如何編寫復位程序相關的資料

熱點內容
有什麼游戲用燒餅交易 瀏覽:803
殺手級產品怎麼樣 瀏覽:647
大宗交易的票怎麼玩 瀏覽:509
原生數據包如何傳 瀏覽:131
空壓機代理多少錢一台 瀏覽:562
如何做海天代理 瀏覽:689
數據谷那邊有個什麼公園 瀏覽:847
短線交易在什麼時間段 瀏覽:598
口腔科什麼產品好賣 瀏覽:311
小橋供電局到城北花卉市場怎麼走 瀏覽:52
程序外包公司一般做什麼工作 瀏覽:863
常規pcr技術有哪些 瀏覽:279
網上發布信息不符如何處理 瀏覽:974
西安機電一體化技術有什麼學校 瀏覽:839
銀行為什麼要重新核實賬戶信息 瀏覽:551
大數據堵塞怎麼解決 瀏覽:797
做總代理需要多少費用 瀏覽:216
雙流陽光酒水代理什麼酒 瀏覽:973
華為ict技術是什麼 瀏覽:23
汾酒上海市場在哪個位置 瀏覽:253