国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 51單片機(jī)軟件(程序)復(fù)位

51單片機(jī)軟件(程序)復(fù)位

關(guān)鍵字:51單片機(jī) 軟件 程序 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:23

51單片機(jī)軟件復(fù)位匯編代碼

POP ACC ; pop return address

POP ACC

;彈出PC

MOV SP,#30H ;復(fù)位后SP為07H ,這樣就會復(fù)位椎棧

MOV PSW,#00H ;清寄存器

CLR A ; push 0 as new

PUSH ACC ; return address to stack

PUSH ACC

;重置PC=0并壓到椎棧中

RETI ; execute return of interrupt

;程序又開始從0000H處開始運(yùn)行,但寄存器內(nèi)的值不確定!

用C51實(shí)現(xiàn)軟件復(fù)位

方法1:

void(*SoftReset)();

SoftReset=0;

SoftReset();

解釋:利用函數(shù)型指針,使函數(shù)型指針指向的函數(shù)的入口地址為0。

方法2: 嵌入?yún)R編

#pragma asm

LJMP 0FFF0h;//ljmp 0000h

#pragma endasm

方法3: 在C51編程過程中,用一個不存在函數(shù),引起復(fù)位。

如下程序,編譯正常,但執(zhí)行到 reset()處即復(fù)位了。其時匯編代碼為

LCALL C:0000。

extern void rest(void); //實(shí)際并不存在。

void main()

{

rest(); //復(fù)位

}

方法4:如果有用看門狗,使用看門狗復(fù)位。

擴(kuò)展閱讀:8位單片機(jī) 16位 32位區(qū)別?

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4