📄 pwm.c
字号:
/* 第一条黑线B为起跑线,检测到第二条线C忽略,检测到第三条线D开始减速,
超过8sec或者检测到第四条线E开始加速,检测到第五条线F开赛减速,检测到
第六条线G停止*/
/*AB=1,BC=0.5,CD=3~6,DE=2,EF=3~6,FG=0.5,GH=1*/
#include"reg52.h"
#include"intrins.h"
#define uint unsigned int;
#define uchar unsigned char;
sbit red1=P3^2; //红外线传感器1
sbit red2=P3^3;//红外线传感器2
sbit m1=P0^0;//光电耦合控制1
sbit m2=P0^1;//光电耦合控制2
sbit p13=P1^3;
void forward()
{ m1=1;
m2=0;}
/*以下初设定电机的运行方式及时延子函数*/
void backward()
{ m1=0;
m2=1;}
void stop()
{ m1=0;
m2=0;}
void mdelay(unsigned int delay)
{unsigned int i;
for(;delay>0;delay--){
for (i=0;i<124;i++){;}}
}
uchar delay8sec(void)
{unsigned char j=0;
unsigned char i;
unsigned char delay1=1000;
for(;delay1>0;delay1--){
for(;i<124;i++){;}}
j=1;
return j;
}
void count() interrupt 0
{static unsigned char count=0;
count=count+1;
switch(count){
case 3:{ while (((count==4)||delay8sec())==0) {
forward();
mdelay(1000);
stop();
mdelay(1000);} break;}
case 6:{ backward();
mdelay(10);
stop();
break;}
void main()
{//unsigned char count=0;
for(;;){
p13=0;
P0=0xff;
TMOD=0x06;
TL0=0xff;
TH0=0xff;
TR0=1;
ET0=1;
EA=1;
forward();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -