標(biāo)題: 請問為什么沒有進(jìn)入定時器中斷呢? [打印本頁]

作者: asdw159632    時間: 2018-2-2 10:11
標(biāo)題: 請問為什么沒有進(jìn)入定時器中斷呢?
程序如下:
ORG    0000H
LJMP    SET1
ORG    000BH
LJMP    START0
ORG    0013H
LJMP    START1

ORG    1000H
SET1:                    
        SETB    ET0
        SETB    ET1
        MOV    TMOD,#11H
        MOV    TH0,#3CH
        MOV    TL0,#0B0H
        MOV    TH1,#0FCH
        MOV    TL1,#18H
        SETB    EA
        SETB    TR0
        SETB    TR1
LOOP:    SJMP    $

START0:   
        CLR    TR0
        CLR    TR1
        CLR    ET1
        CLR    ET0
        RETI

START1:                    
        CLR    TR1
        CLR    TR0
        CLR    ET0
        CLR    ET1
        RETI
END


在keil里運行后卻發(fā)現(xiàn)無論TR0、TR1、ET1、ET0都不為0,是沒有進(jìn)入中斷還是RETI返回錯誤?如果沒有進(jìn)入中斷為什么沒有進(jìn)入中斷?

作者: ahshmj    時間: 2018-2-2 17:19
你進(jìn)入中斷以后,把定時器關(guān)閉了(TR0、TR1),中斷也關(guān)閉了,當(dāng)然不會再次進(jìn)入中斷了。
這是你的程序語句:
        CLR    TR1      停止運行T1
        CLR    TR0     
        CLR    ET0      關(guān)閉中斷
        CLR    ET1

你的初始化程序也有問題,“ORG    0013H”是外部中斷1的入口,估計應(yīng)該是“ORG    001BH”,否則T1產(chǎn)生中斷后就死掉了。
另外你的程序的入口放到1000H是為什么?單對常見的有設(shè)置在30H、100H、300H的,放到1000H的沒見過,看不出你是什么單片機,如果是at89s51剛剛好是最末一個字節(jié)。程序沒發(fā)燒寫。
作者: ahshmj    時間: 2018-2-2 17:22
另外你的中斷程序里面沒有其他任何操作,即便能正確產(chǎn)生中斷,你也什么都看不出來。即便是個實驗程序,也要有聲或光的變化,以便觀察是否達(dá)到預(yù)期。
作者: 17089306679    時間: 2018-2-4 13:06
有沒有進(jìn)入定時器試一下就知道了
作者: asdw159632    時間: 2018-2-4 18:42
ahshmj 發(fā)表于 2018-2-2 17:22
另外你的中斷程序里面沒有其他任何操作,即便能正確產(chǎn)生中斷,你也什么都看不出來。即便是個實驗程序,也要 ...

因為在模擬器中運行的,所以可以看到TR1和TR0的狀態(tài),我看了一下結(jié)果不為0
作者: asdw159632    時間: 2018-2-4 18:48
ahshmj 發(fā)表于 2018-2-2 17:19
你進(jìn)入中斷以后,把定時器關(guān)閉了(TR0、TR1),中斷也關(guān)閉了,當(dāng)然不會再次進(jìn)入中斷了。
這是你的程序語句 ...

以前在學(xué)校用的是intel51,現(xiàn)在用了c8051f340,然后熟悉過程中發(fā)現(xiàn)這個問題,在模擬器中可以看到TR1和TR0的狀態(tài),運行后看到TR1,TR0還是1,沒有變?yōu)?,0013是復(fù)制錯了,復(fù)制的這段是剛開始打的
作者: asdw159632    時間: 2018-2-5 12:12
ahshmj 發(fā)表于 2018-2-2 17:22
另外你的中斷程序里面沒有其他任何操作,即便能正確產(chǎn)生中斷,你也什么都看不出來。即便是個實驗程序,也要 ...

我換了一下初始化的順序就可以了,先設(shè)定了TH和TL,然后依次是tmod、et、tcon,請問這是為什么?




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1