<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MCS-51中斷系統中的復位問(wèn)題

MCS-51中斷系統中的復位問(wèn)題

作者: 時(shí)間:2011-10-12 來(lái)源:網(wǎng)絡(luò ) 收藏

  系列單片機提供了多個(gè)中斷源(8051提供5個(gè),8052提供了6個(gè)中斷源),每個(gè)中斷源可編程兩種級別的中斷,高級中斷請求和低級中斷請求,因此可實(shí)現兩級中斷服務(wù)嵌套。即使同一級別的中斷源,在同時(shí)請求中斷時(shí),CPU響應也有先后順序的區別。因此在實(shí)時(shí)系統,儀器儀表中使用十分廣泛,的設計則是軟件設計中的一個(gè)關(guān)鍵點(diǎn),處理不好往往使軟件達不到設計效果。

  下面是筆者在應用過(guò)程中曾遇到過(guò)的一個(gè)問(wèn)題。

  我們設計的一臺電力測量?jì)x含有鍵盤(pán)和秒時(shí)鐘,鍵盤(pán)中斷采用INT0,秒時(shí)鐘用T0,INT0設置為高優(yōu)先級別中斷,T0為低級別,秒中斷服務(wù)占有約750ms。要求CPU對鍵盤(pán)具有很高的響應速度,而且一旦接收有效的鍵盤(pán)命令,使程序重新從等待處進(jìn)入的測量狀態(tài),不再回到被鍵盤(pán)打斷的地方。軟件流程如圖1所示。

  最初的鍵盤(pán)服務(wù)程序末尾如下:

  

MCS-51中斷系統中的復位問(wèn)題

MCS-51中斷系統中的復位問(wèn)題

  在調試過(guò)程中,常常響應鍵盤(pán)中斷后,不能正常進(jìn)入秒中斷,只在WAIT處等待循環(huán),此時(shí)EA=1,TR0=1,TF0=1,可見(jiàn)EA=1,TR0=1,TF0=1不是中斷T0響應的充要條件。

  經(jīng)多方查詢(xún)有關(guān)資料發(fā)現,系列單片機的有兩個(gè)不可尋址的優(yōu)先狀態(tài)觸發(fā)器,它們的置位狀態(tài),一個(gè)指示CPU正在執行的高優(yōu)先級中斷服務(wù)程序,另一個(gè)指出正在執行低優(yōu)先級中斷服務(wù),這兩個(gè)觸發(fā)器的置位狀態(tài)分別屏蔽所有中斷申請和同一優(yōu)先級的其它中斷請求。

  秒中斷服務(wù)需要750ms,當按下鍵盤(pán)時(shí)有75%的機率正在執行秒中斷服務(wù)程序,指示執行低優(yōu)先級中斷服務(wù)的觸發(fā)器已置位。響應鍵盤(pán)中斷后,指示執行高優(yōu)先級中斷服務(wù)的觸發(fā)器置位,而整個(gè)過(guò)程中只執行了一次RETI指令,指示CPU正在執行T0中斷的觸發(fā)器沒(méi)有復位,即使TR0=1,TF=1,EA=1,CPU仍認為程序已執行秒中斷服務(wù),因而不能再次進(jìn)入秒中斷服務(wù),為此,筆者將原程序改為

  

MCS-51中斷系統中的復位問(wèn)題

  匯編裝入系統后,一切正常。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>