#include <reg52.h>
char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
sbit P14=P1^4;
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
unsigned int j;
P14=0;
EA=1;
EX0=1;
EX1=1;
P0=0xfe;
while(1)
{
for(j=0;j<8;j++)
{
P0=table[j];
delay(500);
}
}
}
void KEY1() interrupt 0
{
char j;
for(j=7;j>-1;j--)
{
P0=table[j];
delay(500);
}
}
void KEY2() interrupt 1
{
char t;
for(t=3;t>-1;t--)
{
P0=table[t];
delay(500);
}
}
按P3。2的鍵,中斷正常執行,返回后從斷點處繼續執行,正常,但按P3.3的鍵后中斷不正常,本意是從第四個燈亮,但卻從最后一個燈往回亮,執行后,返回主程序也不是從中斷處執行的,而是從第一個燈亮。真奇怪。各位幫我一下
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |