|
#include <REGX52.H>
unsigned char speed;
sbit ENA=P1^0;
sbit PWM=P1^1;
sbit DIR=P1^2;
void kongzhi_Init()
{
TMOD|=0X11;
TH1=0XFE;
TL1=0X33;
TR1=1;
IE=0X8A;
EA=1;
ET0=1;
}
void delay(unsigned int a)
{
unsigned char b=0;
while(a--)
{
for(b=0;b<200;b++)
{
}
}
}
void main()
{
kongzhi_Init();
while(1)
{
// while(1)
// {
// while(1)
// {
// DIR=1;
// if(timer0>0.1)
// {
// timer0=0;
// }
// if(timer0<1)
// {
// PWM=0;
// }
// else
// {
// PWM=1;
// }
// }
//
// }
while(1)
{
if(P3_1==0)
{
delay(10);
if(P3_1==0)
{
while(P3_1==0)
while(1)
{
DIR=0;
if(speed>1)
{
speed=0;
}
if(speed<1)
{
PWM=0;
}
else
{
PWM=1;
}
}
}
}
}
}
}
void Tlzd() interrupt 3
{
TH1=0XFE;
TL1=0X33;
speed++;
if(P3_0==0)
{
delay(10);
if(P3_0==0)
{
while(P3_0==0)
while(1)
{
DIR=1;
if(speed>1)
{
speed=0;
}
if(speed<1)
{
PWM=0;
}
else
{
PWM=1;
}
}
}
}
}
|
|