|
按下按键角度变化,松开后总是回到原位,哪里的问题呀
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit pwm=P3^0;
sbit jia=P3^4;
sbit jan=P3^7;
uchar count,jd;
void delay(uint x)
{
uchar i,j;
for(i=x;i>0;i--)
for(j=125;j>0;j--);
}
void init()
{
TMOD=0x01;
IE=0x82;
TH0=0xfe;
TL0=0x33;
TR0=1;
}
void time() interrupt 1
{
TH0=0xfe;
TL0=0x33;
if(count<jd)
pwm=1;
else
pwm=0;
count++;
count=count%40;
}
void keyscan()
{
if(jia==0)
{
delay(10);
if(jia==0)
{
jd++;
count=0;
if(jd==6)
jd=5;
while(jia==0);
}
}
if(jan==0)
{
delay(10);
if(jan==0)
{
jd--;
count=0;
if(jd==0)
jd=1;
while(jan==0);
}
}
}
void main()
{
jd=1;
count=0;
init();
while(1)
{
keyscan();
}
} |
|