⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 香港科大机器人资料 单片机相关知识
💻 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 + -