基于51单片机无线蓝牙APP控LED灯亮灭亮度设计

2023-03-20  

1、项目简介

1.1 系统构成

本设计由STC89C52单片机电路+8位LED灯电路+蓝牙模块电路+电源电路组成。

1.2 系统功能

1、通过手机APP可以控制8路LED灯的亮灭。

2、通过手机APP可以控制8路LED灯的亮度。每个灯的亮度有3档。

3、可以发送指令控制8个灯全灭和全亮。

2、部分电路设计

2.1 LED信号指示灯电路设计

LED灯即发光二极管,它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。在电路中,R_P1是单排阻,单排阻的作用是限流,保护LED灯。只要单片机的控制引脚拉低,则LED灯亮,否则,LED灯不亮。其具体电路原理图如下图所示。

2.2 蓝牙模块

模块特点:

(1)支持蓝牙 SPP 串口协议

(2)内置 PCB 天线

(3)支持 UART 接口

(4)蓝牙 Class 2

(5)数据传输比 BLE 蓝牙快、可达到 8K 每秒以上的速率

(6)支持与 SPP 主蓝牙模块连接通信(JDY-30 为从 SPP 蓝牙模块)

(7)支持与电脑 SPP 蓝牙通信

(8)支持 Android 手机 SPP 通信

3、部分代码展示

3.1 串口初始化

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;        //打开串口中断

3.1 定时器初始化

void Init_Timer0(void)

{

TMOD |= 0x01;   //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响      

TH0=(65536-10000)/256;   //重新赋值 20ms

TL0=(65536-10000)%256;

EA=1;            //总中断打开

ET0=1;           //定时器中断打开

TR0=1;           //定时器开关打开

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。