欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 請教51單片機中斷問題!為什么P3^2接了GND,數碼管還是在累加? [打印本頁]

作者: 燦洋    時間: 2019-3-11 22:07
標題: 請教51單片機中斷問題!為什么P3^2接了GND,數碼管還是在累加?
為什么P3^2接了GND,數碼管還是在累加?
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit led=P0^0;
void delay(uint k);
void main()
{
        uchar i;
        uchar code table[]={0xc0,0xf9,0xa4,0xb0,
        0x99,0x92,0x82,0xf8,
        0x80,0x90,0x88,0x83,
        0xc6,0xa1,0x86,0x8e};
        EA=1;
        EX0=1;
        IT0=0;
        while(1)
        {
        for(i=0;i<16;i++)
                {
                        led=1;
                        P1=table[ i];
                        delay(1000);
                }
        }
}
void delay(uint k)
{
        uchar i;
        uint j;
        for(j=k;j>0;j--)
                for(i=110;i>0;i--);
}
void exter0() interrupt 0
{
        led=0;
}




作者: yoxi    時間: 2019-3-12 06:43
你的中斷是下降沿在觸發,中斷內的任務完成后就要返回中斷,哪怕你一直低電平也沒用
作者: HC6800-ES-V2.0    時間: 2019-3-12 08:46
你設置的是外部中斷。
當中斷發生時,沒有累加啊。
當退出中斷后,程序要繼續執行嘛,所以就接著剛才中斷的程序繼續執行,所以,又開始累加了。由于你的中斷程序沒有讓累加的值做改變,所以,就會繼續原來的值去累加。

作者: 燦洋    時間: 2019-3-13 16:18
HC6800-ES-V2.0 發表于 2019-3-12 08:46
你設置的是外部中斷。
當中斷發生時,沒有累加啊。
當退出中斷后,程序要繼續執行嘛,所以就接著剛才中斷 ...

中斷不是程序該停到中斷處嗎,給高電平才繼續執行嗎

作者: zhb2004xp    時間: 2019-3-14 00:34
燦洋 發表于 2019-3-13 16:18
中斷不是程序該停到中斷處嗎,給高電平才繼續執行嗎

你對單片機的中斷理解有誤!觸發中斷會執行中斷服務程序,而并不停止。你如果想停留在中斷處,按照你的程序,在外部中斷服務函數中把外部中斷關閉,




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