该制作采用STC89C52RC做主控芯片,4个松乐5V继电器做插座电源控制器,9013三极管驱动继电器,HC-05蓝牙模块完成手机与单片机通信。
手机APP采用E4A编译制作,界面共有若干按键,打开手机蓝牙后搜索设备,连接后即可通过插孔X按钮完成对插座通断电的控制。
因为基于蓝牙通信,固通信距离不是很长,理论距离十米内,在空旷地方实测13米也能用,可满足一般家庭使用,为一款懒人必备神器。
程序与APP见附件。
e4a源程序:
单片机源程序如下:
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit k1=P1^0;
- sbit k2=P1^1;
- sbit k3=P1^2;
- sbit k4=P1^3;
- uchar num ;
- void UART_init()
- {
- TMOD = 0x20; //T1工作模式2 8位自动重装
- TH1 = 0xfd;
- TL1 = 0xfd; //比特率9600
- TR1 = 1; //启动T1定时器
- SM0 = 0;
- SM1 = 1; //串口工作方式1 10位异步
- REN = 1; //串口允许接收
- EA = 1; //开总中断
- ES = 1; //串口中断打开
- }
- void main()
- {
- UART_init(); //串口初始化
- k1=1;
- k2=0;
- k3=0;
- k4=0;
- while(1)
- {
- if(num==0x31)
- {
- k1 = ~k1;
- num = 0x00;
- }
- else if (num==0x32)
- {
- k2=~k2;
- num=0x00;
- }
- else if (num==0x33)
- {
- k3=~k3;
- num=0x00;
- }
- else if (num==0x34)
- {
- k4=~k4;
- num=0x00;
- }
- else if (num==0x35)
- {
- P1=0x00;
- num=0x00;
- }
- else if (num==0x36)
- {
- P1=0xff;
- num=0x00;
- }
- }
- }
- void UART() interrupt 4
- {
- if(RI) //检测是否接收完成
- {
- num = SBUF; //num 取出接收缓存器的值
- RI = 0;
- SBUF = num;
- while(!TI);
- TI = 0;
- }
- }
复制代码
所有资料51hei提供下载:
蓝牙插座.rar
(809.8 KB, 下载次数: 237)
|