#include <regs52.h>
#define uchar unsigned char
#define uint unsigned int
//按钮功能
sbit btn_left=P2^7;
sbit btn_right=P2^6;
//脉冲和方向
sbit M1=P1^0;
sbit M2=P1^1;
sbit dir1=P1^2;
sbit dir2=P1^3;
//速度控制标志位
uchar hz=330; //设定3K
uchar pul=0;
//函数的声明
void delay(uint z);
void main()
{
P1=0xff;
EA=1;
ET0=1;
TMOD=0x01;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{
if(btn_left==0)
{
M1=pul;
dir1=0;
}
else M1=1;
if(btn_right==0)
{
M1=pul;
dir1=1;
}
else M1=1;
}
}
void delay(uint z)
{
uchar i;
while(z--)
{
for(i=120;i>0;i--);
}
}
//脉冲产生定时器
void timer0() interrupt 1
{
TH0=(65536-hz)/256;
TL0=(65536-hz)%256;
pul=~pul;
}
为什么控制的时候,按键经常不灵???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>