/*-----------------------------------------------
名称:寻迹小车
公司:汕头大学
网站:stu.edu.cn
编写:第六小组
日期:2013.7
修改:无
内容:
------------------------------------------------*/
#include <reg52.h>
#include <measure.h>
#include <motor.h>
#define MX 27.0
float S=0;
unsigned char PWM_Widths_Count,ultrasonic_state;
/******************************************************************/
/* 主函数 */
/******************************************************************/
void main(void)
{
Init_time0();
Init_time1();
while(1)
{
if(ultrasonic_state==0)
{
StartModule();
ultrasonic_state=1;
}
if(ultrasonic_state==2)
{
ultrasonic_compute_distance();
ultrasonic_state=0;
}
if(S>MX) PWM_control(0,50,0,50);
if(S<=MX) PWM_control(0,0,0,0);
}
}
/*************************************************************/
/*--------------------定时中断函数---------------------------*/
/*************************************************************/
void tm1_isr() interrupt 3 using 1
{
unsigned char count66ms;
TH1=(65536-100)/256;
TL1=(65536-100)%256;
if( PWM_Widths_Count < 100) PWM_Widths_Count++;//以100ms为周期循环
else PWM_Widths_Count = 0;
if(ultrasonic_state==1)
{
if(count66ms<100) count66ms++;
else
{
count66ms=0;
ultrasonic_state=2;
}
}
}