【Proteus仿真】【51单片机】蓝牙遥控小车

文章目录


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使LCD1602液晶,L298电机,直流电机,HC05/06蓝牙模块等。

主要功能:

系统运行后,LCD1602显示小车运行状态,速度档位,控制命令;可通过蓝牙发送命令控制小车前进、后退、左转、右转、停止。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQVIP群2:570487280)

*/


//系统数据采集
void sys_data_get(void)
{
	while(1)
	{		
		

		break;
	}
}

//系统数据显示
void sys_data_show(void)
{
	while(1)
	{
		//速度显示
		lcd1602_show_nums(6,0,sys_ctrl.speed,1,0);
		//小车方向状态显示
		_car_staus_show(sys_ctrl.dir);
		//控制命令显示
		lcd1602_show_num(14,0,UART_RX_BUF[0],0);

		break;	
	}		
}

//系统参数设置
void sys_data_set(void)
{
	//前进
	switch(UART_RX_BUF[0])
	{
		case CAR_STOP://停止
			sys_ctrl.dir=0;
			break;
		case CAR_FORM://前进
			sys_ctrl.dir=1;
			break;
		case CAR_BACK://后退
			sys_ctrl.dir=2;
			break;
		case CAR_LEFT://左转
			sys_ctrl.dir=3;
			break;
		case CAR_RIGHT://右转
			sys_ctrl.dir=4;
			break;
		case CAR_SPEED_ADD://加速
			if(sys_ctrl.speed<5)
				sys_ctrl.speed++;
			UART_RX_BUF[0]=0;
			break;
		case CAR_SPEED_DEC://减速
			if(sys_ctrl.speed>1)
				sys_ctrl.speed--;
			UART_RX_BUF[0]=0;
			break;
	}					
}

//系统功能控制
void sys_fun_ctrl(void)
{
	//控制小车
	switch(sys_ctrl.dir)
	{
		case 0:car_stop();break;//停止
		case 1:car_forward();break;//前进
		case 2:car_back();break;//后退
		case 3:car_left();break;//左转
		case 4:car_right();break;//右转
	}
	pwm_set_duty_cycle(sys_ctrl.speed*20);//占空比		
}


//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	lcd1602_init();
	pwm_init(0XFF,0XD1,100,0);//初始时,PWM占空比为0
	sys_open_show();//系统开机显示
	UART_Init();//波特率9600
	UART_SendString("UART Init OK\r\n");

	while(1)
	{
		sys_data_get();//系统数据采集
		sys_data_show();//系统数据显示
		sys_data_set();//系统参数设置
		sys_fun_ctrl();//系统功能控制	
	}
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619


联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
Zevalin爱灰灰9 小时前
能源与电源管理电路——防倒灌电路
单片机·嵌入式硬件·电源管理
无垠的广袤11 小时前
【工业树莓派 CM0 Dev Board】扩展板设计
linux·python·嵌入式硬件·pcb设计·模块化·传感器
嵌入式-老费12 小时前
esp32开发与应用(添加数据分区)
单片机·嵌入式硬件
嵌入式-老费13 小时前
esp32开发与应用(OTA升级)
嵌入式硬件
CYLAM202515 小时前
STC32G 单片机0.96“OLED 西历农历可调万年历 (1901-2100)
单片机·嵌入式硬件·stc32g·万年历·西历农历·0.96”oled 12864·4x4 矩阵键盘
Discipline~Hai16 小时前
ARM03-蜂鸣器和中断
c语言·arm开发·单片机·嵌入式硬件·嵌入式
KaifuZeng17 小时前
电源面试问题汇总一
单片机·嵌入式硬件·面试·电路
驱动探索者18 小时前
RISC-V PLIC 深度解析:从 Spec 到 Zephyr 驱动实现
单片机·嵌入式硬件·中断控制器
LCG元19 小时前
STM32 FreeRTOS 实战:任务调度 + 互斥锁 + 消息队列 + 串口命令解析器
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola19 小时前
姿态式饮水量估算从原理到实战
嵌入式硬件