/*******STC89C52单片机巡线小车控制程序************ By 邹朝彬*/
/*******要求 fosc=12 MHz*/
#include <INCLUDES.h>
#define uchar unsigned char
#define uint unsigned int
sbit IN1=P2^0;
sbit IN2=P2^1;
sbit IN3=P2^2;
sbit IN4=P2^3;
sbit ENA=P2^4;//L298N使能端1
sbit ENB=P2^5;//L298N使能端2
unsigned char SeeFlag=0;// 传感器返回值 我去掉了 extern 外部变量声明,不知行不行得通。
/****************************************************************PWM波的初始化函数****/
void PWMInit(void)
{
ENA=0;//PWM 输出低电平
ENB=0;
//}
// ********* 用户补充单片机产生PWM初始化代码 **********
// ********* 注:初始化时将占空比设为0*********
}
/*****************************************************************************定时器初始化*/
void Timer_Init()
{
TMOD=0x11;/* 设定T0,T1的工作模式都为方式 1*/
EA=1; /* 开中断 */
ET0=1; /* 定时器0允许中断 */
TH0=0; /* 装入定时器0的初值 */
TL0=0;
TR0=0;/*关闭定时器 0*/
ET1=1; /* 定时器1允许中断 */
TH1=0; /* 装入定时器1的初值 */
TL1=0;
TR1=0;/*关闭定时器 1*/
}
/********************************************************************************左边电机高电平输出时间为 1 ms */
void PWM_LGdp(void)
{
TH0=(65536-1000)/256; // 装入定时器的初值
TL0=(65536-1000)%256;
TR0=1; //************ 启动定时器 0 ,可以考虑放在 main() 中
while(!TF0)
{
ENA=1;
}
}
/********************************************************************************右边电机高电平输出时间为 1 ms */
void PWM_RGdp(void)
{
TH1=(65536-1000)/256; // 装入定时器的初值