標(biāo)題: 關(guān)于單片機(jī)中斷問題,為什么燈不閃爍 [打印本頁]

作者: 坐在分頭調(diào)戲鬼    時間: 2019-1-23 10:41
標(biāo)題: 關(guān)于單片機(jī)中斷問題,為什么燈不閃爍
為什么燈不閃爍
程序:#include<reg52.h>
#define uchar unsigned char
uchar num;
sbit led2=P1^1;
void main()
{
        TMOD=1;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        while(1)
                {
                        led2=0;                        
                }
}                        
void exter0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        num++;
                if(num==20)
                        {
                                num=0;
                                led2=~led2;
                        }         
}

作者: 絆腳石13    時間: 2019-1-23 11:19
TMOD=1; 這句代碼對了嗎?
作者: xuyaqi    時間: 2019-1-23 11:32
while(1)里的led2=0;  不能要,要屏蔽掉。
作者: lakeleeson    時間: 2019-1-23 11:46
while(1)里面led2=0; 會一直執(zhí)行下去。所以,去掉led2=0;或直接 while(1);或者在while(1);前面就設(shè)置led2=0;
作者: 坐在分頭調(diào)戲鬼    時間: 2019-1-23 20:15
中斷是否可以打斷循環(huán)啊
作者: 坐在分頭調(diào)戲鬼    時間: 2019-1-24 15:07
絆腳石13 發(fā)表于 2019-1-23 11:19
TMOD=1; 這句代碼對了嗎?

對的   和0x01是一個含義
作者: 凌特逸軒    時間: 2019-1-24 16:28
void main()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;//50ms
        TL0=(65536-50000)%256;
        EA=1;
        ET0=1;
        TR0=1;
        led2=0;
        while(1);
}                        
void time0() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        num++;
                if(num==20)
                        {
                                num=0;
                                led2=~led2;
                        }         
}




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