/*****************循迹避障小车程序*************************************/
/**********************dragon*************************************/
#include<>
#define uchar unsigned char
#define uint unsigned int
uchar count0 = 0;//低电平的占空比
uchar count1 = 0;//高电平的占空比
uchar count = 0; // 次数标识
uchar jd,time; //角度标识
uchar yz = 0; //遇障标志
uint distance,t;
sbit Trig=P3^0; //控制端超声波
sbit Echo=P3^2; //接收端
sbit pwm = P1^1; //舵机控制信号
sbit rclf = P3^6; //循迹红外
sbit rcrt = P3^7;
sbit jz = P3^5;
sbit PWM1=P1^4;//PWM 通道 1,反转脉冲
sbit PWM2=P1^3;//PWM 通道 2,正转脉冲
sbit PWM3=P1^6;//PWM 通道 3,反转脉冲
sbit PWM4=P1^5;//PWM 通道 4,正转脉冲
/***延时1ms***/
void delay(uint x)
{
uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
/************电机运行**************/
void Motor_run(void)
{
PWM1 = 1;
if(++count1 < count0)
{
PWM2 = 0;
}
else
{
PWM2 = 1;
}
if(count1 >= 100)
{
count1 = 0;
}
}
/**********************红外探测部分*************************************/
void ir_ch(void)
{
if(jz == 1)
{
jd = 14;
count0 = 80 ;
}
if((rclf == 1 && rcrt == 0 && jd == 14) || (rclf == 1 && jz == 1) )
{
count0 = 70 ;
jd = 13;
}
if((rcrt == 1 && rclf == 0 && jd == 13) || (rcrt == 1 && jz == 1) )
{
count0 = 90 ;
jd = 15;
}
if((rcrt == 1 && rclf == 0 && jd == 14) || (rcrt == 1 && jz == 1) )
{
count0 = 90 ;
jd = 15;
}
if((rclf == 1 && rcrt
山西省入境旅游客源市场分析及开发战略 来自淘豆网www.taodocs.com转载请标明出处.