我是新手,有问题请教大家,关于c语言的:4个按键分别控制4个led,第四个按键长按后进入倒计时模式,时间到关闭led1~led3.
我现在的问题是1在单片机进行倒计时时按键不起作用,2长按第四个键后我希望倒计时的时间可以通过键盘修改
哪位老师能帮我改改程序啊,小弟先谢谢了!@
我的程序部分
void shuma()
{
TMOD=0x10; //设置为T1定时器
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
ET1=1;
EA=1;
TR1=1; //开中断
d=10;//倒计时设定10秒
while(2)
{
display();
if(d==0)//倒计时到、
{
EA=0;
P0=table[0];
P1=0xf0;
LED1=LED2=LED3=1;
DELAY_MS(100);
P1=0xff;
break;
}
}
}
void int1() interrupt 3 //T1中断,时间是5ms
{
uchar n;
TH1=(65536-5000)/256;
TL1=(65536-5000)%256;
n++;
if(n>=200)//1秒到
{
n=0;//n清零
d--;
}
}
void main( )
{key_init();//键盘初始化
while(1)
{
key_rxd();//读键
if(keys == 1)LED1=~LED1,LED2=LED3=1,bi(100);
if(keys == 2)LED2=~LED2,LED1=LED3=1,bi(100);
if(keys == 3)LED3=~LED3,LED1=LED2=1,bi(100);
if(keys == 4)LED4=~LED4,bi(100);
if(keys == 44)//第四键长按
{
shuma();
}
}
}
[ 此帖被zhoufeng30在2011-06-13 16:46重新编辑 ]