#include "stc12c5a60s2.h"
#include "pwm.h"
#include "car_control.h"
#include "uart.h"
#include <intrins.h>
#define const_data 475
void system_init(void)
{
pwm_init();
pwm_open();
set_pwm_duty(0,140);
set_pwm_duty(1,140);
uart_init();
}
void main(void)
{
unsigned int uiDataTemp=0,m=1,n=0,shuji=0;
system_init();
EA=1;
ET0=1;
TMOD=0X01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
while(1)
{
uiDataTemp=uart_service();//获取处理后接收到并处理的数据
if(uiDataTemp>=const_data)
{
CAR_FORWARD;//AD值大于给定量,则开启小车
uiDataTemp=0;//及时清零 防止重复触发
}
for(m=1;m<=100;m++)
{
TR0=1;
if(n<=20)
{
set_pwm_duty(0,140+m*5);
set_pwm_duty(1,140+m*5);
}
else
{
m=100;
CAR_STOP;
}
}
}
}
void time() interrupt 1
{
unsigned int n=0,uiDataTemp=0,shuju=0;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
n++;
uiDataTemp=uart_service();
if(uiDataTemp>=const_data)
{
shuju=uiDataTemp;
uiDataTemp=0;
TR0=0;
}
}
|