日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀];問題主要是中斷時(shí),強(qiáng)制變換為紅燈后,退出前應(yīng)該怎樣恢復(fù)原來的燈。;;一般來說,保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng),都是用?PUSH、POP?來完成。;;這種方法,僅僅適用于片內(nèi)單元的保護(hù),對(duì)于接口,以及顯示器的內(nèi)容


;問題主要是中斷時(shí),強(qiáng)制變換為紅燈后,退出前應(yīng)該怎樣恢復(fù)原來的燈。

;

;一般來說,保護(hù)現(xiàn)場(chǎng)、恢復(fù)現(xiàn)場(chǎng),都是用?PUSH、POP?來完成。

;

;這種方法,僅僅適用于片內(nèi)單元的保護(hù),對(duì)于接口,以及顯示器的內(nèi)容,就不適用了。

;

;外設(shè)的狀態(tài)如何恢復(fù)呢?

;

;做而論道編寫了一個(gè)小程序,來說明恢復(fù)的方法。

;

;仿真運(yùn)行如下圖:

;

;

;

;全部程序如下。

;

;交通燈

;-------------------------------------------

????ORG???0000H

????JMP???MAIN

????ORG???0003H?????????;外部中斷0的入口地址

????JMP???X0_INT

????ORG???000BH?????????;T0中斷的入口地址

????JMP???T0_INT

;***************************************

MAIN:

????MOV???TMOD,?#01H

????MOV???TH0,?#3CH

????MOV???TL0,?#0B0H

????MOV???R1,?#20???????;定時(shí)1s

????SETB??TR0

????SETB??ET0

????SETB??PT0

????SETB??EX0

????SETB??IT0

????SETB??EA

????MOV???SP,?#60H

M_LOOP:

;***************************************

N_B:

????MOV???30H,?#11H?????;南北

????MOV???P1,?30H

????MOV???R5,?#30???????;

????CALL??DISPLAY

????MOV???R2,?#27

LOOP1:

????CALL??WAIT_1S

????DJNZ??R2,?LOOP1?????;判斷是否過了27s

;--------------------------

????MOV???30H,?#21H

????MOV???P1,?30H

????MOV???R2,?#3

LOOP11:

????CALL??WAIT_1S

????DJNZ??R2,?LOOP11????;判斷是否過了3秒

;***************************************

D_X:

????MOV???30H,?#0AH?????;東西

????MOV???P1,?30H

????MOV???R5,?#30

????CALL??DISPLAY

????MOV???R2,?#27

LOOP2:

????CALL??WAIT_1S

????DJNZ??R2,?LOOP2?????;判斷是否過了27s

;--------------------------

????MOV???30H,?#0CH

????MOV???P1,?30H

????MOV???R2,?#3

LOOP22:

????CALL??WAIT_1S

????DJNZ??R2,?LOOP22????;判斷是否過了3秒

????JMP???M_LOOP

;***************************************

WAIT_1S:????????????????;等待新秒出現(xiàn)

????JNB???20H.0,?$

????CLR???20H.0

????DEC???R5

????CALL??DISPLAY

????RET

;-----------------------------

DISPLAY:

????MOV???A,?R5

????MOV???B,?#10

????DIV???AB

????MOV???DPTR,?#TAB1

????MOVC??A,?@A?+?DPTR

CPL??A

????MOV???P0,?A

????MOV???A,?B

????MOV???DPTR,?#TAB1

????MOVC??A,?@A?+?DPTR

CPL??A

????MOV???P2,?A

????RET

TAB1:

????DB????3FH,?06H,?5BH,?4FH,?66H,?6DH,?7DH,?07H,?7FH,?6FH???

;***************************************

X0_INT:

????MOV???P1,?#09H??????;全部紅燈

????PUSH??ACC

????PUSH??B

????PUSH??PSW

????SETB??RS0???????????;換工作區(qū)

????MOV???R5,?#10???????;倒計(jì)時(shí)顯示

????CALL??DISPLAY

????MOV???R1,?#20???????;定時(shí)1s

;----------------

????MOV???R2,?#10???????;倒計(jì)時(shí)

LOOP3:

????CALL??WAIT_1S

????DJNZ??R2,?LOOP3?????;判斷是否到了10s

;----------------

????POP???PSW???????????;恢復(fù)原區(qū)

????CALL??DISPLAY???????;顯示原值

????MOV???P1,?30H???????;顯示原燈

????POP???B

????POP???ACC

????RETI

;-----------------------------

T0_INT:?????????????????;T0中斷,高優(yōu)先級(jí)

????MOV???TL0,?#0B0H

????MOV???TH0,?#3CH?????;50ms中斷一次

????DJNZ??R1,?EXIT_T0

????MOV???R1,?#20???????;定時(shí)1s

????SETB??20H.0?????????;每到一秒就置一

EXIT_T0:

????RETI

;***************************************


END

;-------------------------------------------

;

;本程序?qū)χ袛喱F(xiàn)場(chǎng)的保護(hù)、恢復(fù)效果如何?

;

;感興趣的網(wǎng)友,可以試試看。

;


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉