📄 main.c
字号:
#include "P89v51rx2.H"
#include "delay.h"
#include "lcd.h"
#include "motor.h"
#include "io_assign.h"
#include "IR_sensor.h"
//-------------变量定义----------------------
uchar min=0,sec=0,count_T=0;
uchar buf_scom=0; //串口接收缓存
uchar height=0,angle=0; //臂高和张角
//-------------函数声明----------------------
void key_on_off(uchar b); //按键开关
//======================主函数=========================
void main()
{
LCM1602_Init();
LCM1602_clear();
// LCM1602_write_string(0,2,"xieqianli");
delay_ms(30);
IP0=0x10; //中断优先级设置,串行口最高
IP0H=0x10;
EA=1; //开全局中断
SCON = 0x50; //串行口工作方式1
REN=1; //允许接收
// ES=1; //串行中断允许
TMOD=0x20; //T1工作于自动装载模式
TH1=0xFD; //T1产生串口波特率9600
TL1=0xFD;
TR1=1; //启动T1
ET2=1; //使能T2
TL2=0x2B; //装载T2脉宽调速初值
TH2=0xFE;
RCAP2L=0x2B; //T2自动重装值
RCAP2H=0xFE;
// T2CON=0x04; //启动T2
PWM_Init();
// key_on_off(1);
// IR_head_roll_on_off(1);
while(1)
{
LCM1602_clear();
LCM1602_write_string(0,0,"L:");
num(0,2,wheelCountLeft);
LCM1602_write_string(1,0,"R:");
num(1,2,wheelCountRight);
delay_ms(100);
}
}
/*===================================================
串口中断
=====================================================*/
void scom(void) interrupt 4
{
if(RI)
{
RI=0;
buf_scom=SBUF; //读走数据
}
}
/****************************************
功能:按键开关
入口参数:b 1:开按键,0:关按键
*****************************************/
void key_on_off(uchar b)
{
if(b==1)
{
KEY_1=1;
KEY_2=1;
ADD_D0=1;
ADD_D1=0;
ADD_D2=0;
}
else if(b==0)
{
KEY_1=1;
KEY_2=1;
ADD_D0=0;
ADD_D1=0;
ADD_D2=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -