基于51单片机的台灯控制系统以AT89C51为主控,使用LCD1602作为系统主控,借助ADC0832进行ADC转换,获取光敏传感器的值,灯光颜色共有三种,分别是红绿蓝,系统有两种控制方式,一种是蓝牙控制,一种是传感器自动控制。
一、参考代码
本次设使用ADC0832获取光敏传感器的值,一般而言,光线越强,led灯亮灯越大,表现在led亮灯数量越多,同时系统具有蓝牙控制功能,通过虚拟串口发送指令进行手动/自动模式切换、亮度控制、灯光模式切换。参考如下代码:
#include <REGX52.H>
#include "LCD1602.H"
#include "delay.h"
#include "ADC0832.h"
#include "UART.h"
typedef unsigned char u8;
typedef unsigned short u16;
//定义灯额引脚
sbit Led_R1 = P2^0;
sbit Led_R2 = P2^1;
sbit Led_R3 = P2^2;
sbit Led_G1 = P2^3;
sbit Led_G2 = P2^4;
sbit Led_G3 = P2^5;
sbit Led_B1 = P2^6;
sbit Led_B2 = P2^7;
sbit Led_B3 = P1^0;
//自动和手动模式
u8 auto_hand=0;
//三种模式的变量