⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwm.c

📁 用于产生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 + -