概述
2022-11-12 基于开发板的蓝牙点灯分享(程序已上传到微信公众号:风吹摇铃 奔赴星海)
(公众号有详细的程序讲解和效果视频)
硬件准备:
51单片机开发板或者最小系统、LED灯、杜邦线、蓝牙模块、手机(安装APP)或者PC端串口调试助手、LCD1602显示屏
软件准备:
KEIL4编程,串口驱动、LCD1602驱动等
原理图准备:
1、LCD1602
2、单片机最小系统
3、独立按键部分
4、LED
5、蓝牙,该模块主要用于短距离的数据无线传输领域。可以方便的和 PC 机的蓝牙设备相连,也 可以两个模块之间的数据互通。避免繁琐的线缆连接,能直接替代串口线。
6、蓝牙实物:
软件部分:
1、LCD1602驱动部分
void LcdWriteCom(uchar com) //写入命令
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 0; //选择写入命令
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
LCD1602_DATAPINS = com << 4; //发送低四位
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
void LcdWriteData(uchar dat) //写入数据
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 1; //选择写入数据
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
LCD1602_DATAPINS = dat << 4; //写入低四位
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
2、显示部分:
void display_data(void)///显示
{
if(led_flag==1)
{
LcdWriteCom(0x80); //第一行
LcdWritestr("LED:ON ");
uartSendStr("LED:ON ",7);
}
else if(led_flag==0)
{
LcdWriteCom(0x80); //第一行
LcdWritestr("LED:OFF");
uartSendStr("LED:OFF",7);
}
}
3、独立按键部分:
void key()//按键操作函数
{
if(k1==0) //判断
{
Delay1ms(); //消抖处理
if(k1==0) //在判断
{ //设置
led_flag=1;
P1=0X00;
}while(k1==0);
}
if(k2==0)
{
Delay1ms();
if(k2==0) //加
{
led_flag=0;
P1=0XFF;
}while(k2==0);
}
}
4、串口初始化:
void UART_Init(void)
{
SCON = 0x50; // SCON: 模式 1, 8-bit UART, 使能接收
TMOD |= 0x20; // TMOD: timer 1, mode 2, 8-bit 重装
TH1 = 0xFD; // TH1: 重装值 9600 波特率 晶振 11.0592MHz
TL1 = TH1;
TR1 = 1; // TR1: timer 1 打开
EA = 1; //打开总中断
ES = 1; //打开串口中断
}
5、串口中断服务
void UART_SER (void) interrupt 4 //串行中断服务程序
{
if(RI) //判断是接收中断产生
{
RI=0; //标志位清零
reseve_flag = SBUF;
}
if(TI) //如果是发送标志位,清零
TI=0;
switch(reseve_flag)
{
case (0+0x30): led_flag=1;
P1=0X00; break;
case (1+0x30): led_flag=0;
P1=0XFF;break;
default: break;
}
}
实现效果:
到公众号:风吹摇铃 奔赴星海:观看
最后
以上就是眯眯眼烧鹅为你收集整理的2022-11-12 基于开发板的蓝牙点灯分享的全部内容,希望文章能够帮你解决2022-11-12 基于开发板的蓝牙点灯分享所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复