【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设计,视频分享,技术交流。

相关推荐
测试专家42 分钟前
USB 3.0,USB速率
单片机·嵌入式硬件
昵称只能一个月修改一次。。。1 小时前
嵌入式硬件编程
单片机·嵌入式硬件
FPGA-ADDA1 小时前
第四篇:嵌入式系统常用通信接口详解(I2C、SPI、UART、RS232/485、CAN、USB)
人工智能·单片机·嵌入式硬件·fpga开发·信息与通信
我不是程序猿儿2 小时前
【嵌入式】编码器分类
单片机·嵌入式硬件
给点sun,就shine2 小时前
电阻的作用
单片机·嵌入式硬件
CODE_RabbitV2 小时前
【3min 解决】keil5 编译stm32 出现一堆 core_cm3.c 报错问题
c语言·stm32·嵌入式硬件
【 STM32开发 】2 小时前
【STM32 + CubeMX 教程】RTC 实时时钟 之 闹钟唤醒 -- F407篇
stm32·嵌入式硬件·实时音视频
BT-BOX3 小时前
第6章《Stm32CubeMX+Proteus仿真入门》LCD1602显示
stm32·嵌入式硬件·proteus
’长谷深风‘3 小时前
51单片机入门(2)
单片机·嵌入式硬件·51单片机·定时器·中断
chao1898443 小时前
STM32F103C8T6驱动LDC1614测试程序
stm32·单片机·嵌入式硬件