浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 單 片 機(jī)

MCS51系列單片機(jī)軟件復(fù)位的方法

發(fā)布時(shí)間:2008/9/1 0:00:00 訪問次數(shù):803

  摘要:文章指出了一種廣泛流傳的誤解:在mcs-51系列單片機(jī)中,只要用指令使程序從起始地址開始執(zhí)行,就可以復(fù)位單片機(jī),擺脫干擾。通過一個(gè)簡(jiǎn)單的實(shí)驗(yàn),揭示了軟件復(fù)位的可靠方法。

  有的單片機(jī)(如8098)有專門的復(fù)位指令,某些增強(qiáng)型mcs-51系統(tǒng)單片機(jī)雖然沒有復(fù)位指令,但片內(nèi)集成了watchdog電路,故抗干擾也不成問題。而普及型mcs-51系列單片機(jī)(如8031和8032)既然無(wú)復(fù)位指令,又不帶硬件watchdos,如果沒有外接硬件watchdog電路,就必須采用軟件抗干擾技術(shù)。常用的軟件抗干擾技術(shù)有:軟件陷阱、指令冗余、軟件watchdog等,它們的作用是在系統(tǒng)受干擾時(shí)能及時(shí)發(fā)現(xiàn),再用軟件的方法使系統(tǒng)復(fù)位。所謂軟件復(fù)位就是用一系列指令來(lái)模仿復(fù)位操作,這就是mcs-51系列單片機(jī)所特有的軟件復(fù)位技術(shù)。

  現(xiàn)用一簡(jiǎn)單的實(shí)驗(yàn)說明,實(shí)驗(yàn)電路如附圖所示。接于仿真插座p1.0的發(fā)光二極管led0用來(lái)表示主程序的工作情況,接于p1。1的發(fā)光二極管led1用于表示低級(jí)中斷子程序的工作情況,接于p1。2的發(fā)光二極管led2用來(lái)表示高級(jí)中斷子程序的工作情況,接于p3。2口的按鈕用來(lái)設(shè)立干擾標(biāo)志,程序檢測(cè)到干擾標(biāo)志后故意進(jìn)入死循環(huán)或掉進(jìn)陷井,模仿受干擾的情況,從而檢驗(yàn)各種復(fù)位方法的實(shí)際效果。寮驗(yàn)初始化程序如下:

 。铮颍纭。埃埃埃埃

 。螅簦幔簦骸。欤辏恚稹。恚幔椋睢;復(fù)位入口地址

 。欤辏恚稹。穑啊。话粹o中斷向量(低級(jí)中斷)

 。铮颍纭。埃埃埃猓

  ljmp。穑簦啊;t0中斷向量(低級(jí)中斷)

 。铮颍纭。埃埃保猓

 。欤辏恚稹。穑簦薄;t1中斷向量(高級(jí)中斷)

  org。埃埃常埃

 。恚幔椋睿

 。悖欤颉。澹

 。恚铮觥。螅穑#

 。恚铮觥。穑保#埃妫妫

 。恚铮觥。穑常#埃妫妫

 。恚铮觥。簦恚铮,#11h

  clr。埃埃琛;干擾標(biāo)志初始化

  setb。澹簦

  setb。澹簦

 。螅澹簦狻。澹

 。螅澹簦狻。穑簦

 。螅澹簦狻。簦颍

 。螅澹簦狻。簦颍

 。螅澹簦狻。澹

 。欤铮铮穑骸。悖穑臁。穑保啊;主程序發(fā)光二極管led閃爍

 。恚铮觥。颍叮#福埃

 。恚铮觥。颍,#0

 。簦簦保

 。洌辏睿。颍,tt1

 。洌辏睿。颍,tt1

 。螅辏恚稹。欤铮铮

 。穑埃

 。螅澹簦狻。埃埃琛;設(shè)立干擾標(biāo)志,模擬發(fā)生干擾

 。穑簦埃骸。悖穑臁。穑保薄;低級(jí)中斷程序發(fā)光二極管led1閃爍

 。颍澹簦

  pt1:。悖穑臁。穑保病。桓呒(jí)中斷程序發(fā)光二極管led2閃爍

 。颍澹簦

  end

  實(shí)驗(yàn)步驟如下:

 。保“瓷鲜龀绦騿(dòng)執(zhí)行,三個(gè)發(fā)光二極管都應(yīng)閃爍(否則應(yīng)先排除故障),表示主程序和各中斷子程序正常。因模擬干擾標(biāo)志未加檢測(cè),故不受按鈕影響。

 。玻⌒薷闹鞒绦蛉缦拢聪掳粹o后主程序即掉入死循環(huán)中。

 。欤铮铮穑骸。悖穑臁。穑保

 。恚铮觥。颍,#80h

 。恚铮觥。颍,#0h

 。簦簦保骸。洌辏睿。颍,tt1

 。洌辏睿。颍,tt1

  jnb。埃埃,loop;受干擾否?

 。螅簦铮穑骸。欤辏恚稹。螅簦铮稹;掉入死循環(huán)。

  這時(shí)可以看到,主程序停止工作(led0停止閃爍),而兩個(gè)中斷子程序繼續(xù)運(yùn)行(led1和led2繼續(xù)閃爍)。

  3. 將定時(shí)器t1妝作軟件watchdog,將30h單元用作軟件watchdog計(jì)數(shù)器。主程序中加入一條復(fù)位軟件watchdog的指令。

 。欤铮铮穑骸。悖穑臁。穑保

 。恚铮觥。常埃,#0 ;復(fù)位軟件watchdog計(jì)數(shù)器

  loop:。悖穑臁。穑保

  mov。颍叮#福埃

 。恚铮觥。颍,#0h

 。簦簦保骸。洌辏睿。颍,tt1

 。洌辏睿。颍,tt1

 。辏睿狻。埃埃,loop;受干擾否?

 。螅簦铮穑骸。欤辏恚稹。螅簦铮稹。坏羧胨姥h(huán)。

 。簦敝袛嘧映绦蛐薷娜缦拢

 。穑簦保骸。悖穑臁。穑保病;高級(jí)中斷程序發(fā)光二極管閃爍

  inc。常埃

 。恚铮觥。幔常埃

 。幔洌洹。,#0fdh

 。辏恪。澹颍颉;達(dá)到3次否?

  reti

 。澹颍颍骸。欤辏

  摘要:文章指出了一種廣泛流傳的誤解:在mcs-51系列單片機(jī)中,只要用指令使程序從起始地址開始執(zhí)行,就可以復(fù)位單片機(jī),擺脫干擾。通過一個(gè)簡(jiǎn)單的實(shí)驗(yàn),揭示了軟件復(fù)位的可靠方法。

  有的單片機(jī)(如8098)有專門的復(fù)位指令,某些增強(qiáng)型mcs-51系統(tǒng)單片機(jī)雖然沒有復(fù)位指令,但片內(nèi)集成了watchdog電路,故抗干擾也不成問題。而普及型mcs-51系列單片機(jī)(如8031和8032)既然無(wú)復(fù)位指令,又不帶硬件watchdos,如果沒有外接硬件watchdog電路,就必須采用軟件抗干擾技術(shù)。常用的軟件抗干擾技術(shù)有:軟件陷阱、指令冗余、軟件watchdog等,它們的作用是在系統(tǒng)受干擾時(shí)能及時(shí)發(fā)現(xiàn),再用軟件的方法使系統(tǒng)復(fù)位。所謂軟件復(fù)位就是用一系列指令來(lái)模仿復(fù)位操作,這就是mcs-51系列單片機(jī)所特有的軟件復(fù)位技術(shù)。

  現(xiàn)用一簡(jiǎn)單的實(shí)驗(yàn)說明,實(shí)驗(yàn)電路如附圖所示。接于仿真插座p1.0的發(fā)光二極管led0用來(lái)表示主程序的工作情況,接于p1。1的發(fā)光二極管led1用于表示低級(jí)中斷子程序的工作情況,接于p1。2的發(fā)光二極管led2用來(lái)表示高級(jí)中斷子程序的工作情況,接于p3。2口的按鈕用來(lái)設(shè)立干擾標(biāo)志,程序檢測(cè)到干擾標(biāo)志后故意進(jìn)入死循環(huán)或掉進(jìn)陷井,模仿受干擾的情況,從而檢驗(yàn)各種復(fù)位方法的實(shí)際效果。寮驗(yàn)初始化程序如下:

 。铮颍纭。埃埃埃埃

  stat:。欤辏恚稹。恚幔椋睢;復(fù)位入口地址

 。欤辏恚稹。穑啊。话粹o中斷向量(低級(jí)中斷)

 。铮颍纭。埃埃埃猓

 。欤辏恚稹。穑簦啊。唬簦爸袛嘞蛄浚ǖ图(jí)中斷)

 。铮颍纭。埃埃保猓

  ljmp。穑簦薄;t1中斷向量(高級(jí)中斷)

 。铮颍纭。埃埃常埃

 。恚幔椋睿

 。悖欤颉。澹

 。恚铮觥。螅,#7

 。恚铮觥。穑保#埃妫妫

 。恚铮觥。穑,#0ffh

  mov。簦恚铮,#11h

 。悖欤颉。埃埃琛;干擾標(biāo)志初始化

 。螅澹簦狻。澹簦

 。螅澹簦狻。澹簦

 。螅澹簦狻。澹

 。螅澹簦狻。穑簦

 。螅澹簦狻。簦颍

  setb。簦颍

 。螅澹簦狻。澹

 。欤铮铮穑骸。悖穑臁。穑保啊;主程序發(fā)光二極管led閃爍

 。恚铮觥。颍,#80h

  mov。颍,#0

 。簦簦保

  djnz。颍,tt1

  djnz。颍叮簦簦

 。螅辏恚稹。欤铮铮

 。穑埃

 。螅澹簦狻。埃埃琛;設(shè)立干擾標(biāo)志,模擬發(fā)生干擾

  pt0:。悖穑臁。穑保薄;低級(jí)中斷程序發(fā)光二極管led1閃爍

 。颍澹簦

  pt1:。悖穑臁。穑保病;高級(jí)中斷程序發(fā)光二極管led2閃爍

 。颍澹簦

  end

  實(shí)驗(yàn)步驟如下:

 。保“瓷鲜龀绦騿(dòng)執(zhí)行,三個(gè)發(fā)光二極管都應(yīng)閃爍(否則應(yīng)先排除故障),表示主程序和各中斷子程序正常。因模擬干擾標(biāo)志未加檢測(cè),故不受按鈕影響。

 。玻⌒薷闹鞒绦蛉缦,按下按鈕后主程序即掉入死循環(huán)中。

 。欤铮铮穑骸。悖穑臁。穑保

 。恚铮觥。颍叮#福埃

 。恚铮觥。颍,#0h

  tt1:。洌辏睿。颍,tt1

 。洌辏睿。颍,tt1

  jnb。埃埃,loop;受干擾否?

 。螅簦铮穑骸。欤辏恚稹。螅簦铮稹;掉入死循環(huán)。

  這時(shí)可以看到,主程序停止工作(led0停止閃爍),而兩個(gè)中斷子程序繼續(xù)運(yùn)行(led1和led2繼續(xù)閃爍)。

 。常⒍〞r(shí)器t1妝作軟件watchdog,將30h單元用作軟件watchdog計(jì)數(shù)器。主程序中加入一條復(fù)位軟件watchdog的指令。

  loop:。悖穑臁。穑保

 。恚铮觥。常埃,#0;復(fù)位軟件watchdog計(jì)數(shù)器

  loop:。悖穑臁。穑保

 。恚铮觥。颍,#80h

 。恚铮觥。颍,#0h

 。簦簦保骸。洌辏睿。颍罚簦簦

 。洌辏睿。颍,tt1

 。辏睿狻。埃埃,loop;受干擾否?

  stop:。欤辏恚稹。螅簦铮稹;掉入死循環(huán)。

  t1中斷子程序修改如下:

 。穑簦保骸。悖穑臁。穑保病。桓呒(jí)中斷程序發(fā)光二極管閃爍

 。椋睿恪。常埃

 。恚铮觥。幔常埃

 。幔洌洹。,#0fdh

 。辏恪。澹颍颉;達(dá)到3次否?

 。颍澹簦

  err:。欤辏

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

硬盤式MP3播放器終級(jí)改
    一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13692101218  13751165337
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!