|
我用keil 仿真又可以 到開(kāi)發(fā)板后又不行,按鍵按下后 JDQ亮 松開(kāi)手后 就沒(méi)有動(dòng)作了 有沒(méi)有人可以解惑一下 謝謝
單片機(jī)源程序如下:
#include <reg52.h>
#include <intrins.h>
#define JINC(x) if(++x<= 0)--x
#define uchar unsigned char
uchar flag1ms;
sbit K1=P2^0;
sbit JDQ=P2^6;
void out_jidianqi();
void keyPress();
void init();
void main ()
{
init();
P0=0X00;
JDQ=1;
flag1ms=0;
while (1)
{
if (flag1ms)
{
flag1ms=0;
keyPress();
out_jidianqi();
}
}
}
void init()
{
TMOD=0x01;
TH0=0xfc;
TL0=0x18;
EA=1;
ET0=1;
TR0=1;
}
void timer0() interrupt 1
{
TH0=0xfc;
TL0=0x18;
flag1ms=1;
}
void keyPress()
{
static unsigned int key_press_time = 0;//靜態(tài)變量
if(K1==0)
{
JINC(key_press_time);
if(20<=key_press_time && key_press_time < 3000)
{
if(JDQ==1)
{
JDQ=0;
}
key_press_time=0;
}
}
}
void out_jidianqi()
{
static unsigned int DELAY = 0;
if(JDQ==0)
{
JINC(DELAY);
if(DELAY==1000)
{
JDQ=1;
}
DELAY=0;
}
}
|
|