|
該制作采用STC89C52RC做主控芯片,4個(gè)松樂5V繼電器做插座電源控制器,9013三極管驅(qū)動(dòng)繼電器,HC-05藍(lán)牙模塊完成手機(jī)與單片機(jī)通信。
手機(jī)APP采用E4A編譯制作,界面共有若干按鍵,打開手機(jī)藍(lán)牙后搜索設(shè)備,連接后即可通過插孔X按鈕完成對(duì)插座通斷電的控制。
因?yàn)榛谒{(lán)牙通信,固通信距離不是很長,理論距離十米內(nèi),在空曠地方實(shí)測(cè)13米也能用,可滿足一般家庭使用,為一款懶人必備神器。
程序與APP見附件。
e4a源程序:
單片機(jī)源程序如下:
- #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位自動(dòng)重裝
- TH1 = 0xfd;
- TL1 = 0xfd; //比特率9600
- TR1 = 1; //啟動(dòng)T1定時(shí)器
- 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) //檢測(cè)是否接收完成
- {
- num = SBUF; //num 取出接收緩存器的值
- RI = 0;
- SBUF = num;
- while(!TI);
- TI = 0;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
藍(lán)牙插座.rar
(809.8 KB, 下載次數(shù): 237)
2019-10-9 11:27 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|