欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
基于藍牙無線通訊srtp的風扇控制單片機源碼
[打印本頁]
作者:
1573781971
時間:
2017-7-28 17:46
標題:
基于藍牙無線通訊srtp的風扇控制單片機源碼
原來做過一個電風扇的控制。附件里面包括單片機源代碼。可實現用手機對風扇的速度進行控制。
所需要的元件包括藍牙模塊2個,單片機一塊,風扇一臺,自己的手機一部。控制電路是自己用動動板焊接的,想自己動手做的朋友可以畫PCB。
自己原創,還請多多指教。
0.png
(47.74 KB, 下載次數: 68)
下載附件
2017-7-28 17:51 上傳
單片機源程序如下:
#include <REG52.H>
#include <intrins.h>
#include "ds18b20.h" //引入DS18B20頭文件
sbit k1 = P0^2; // P2^0;
sbit k2 = P0^3; //P2^1;
sbit k3 = P0^5;// P2^2;
sbit k4 = P1^4;
sbit k5 = P2^4;
unsigned char UART_buff,n,s,miao,fen,shi,m,miao1,fen1,shi1,x,chart,i;
unsigned char ly_dis[4];//定義顯示緩沖區
char ltemp;
bit New_rec = 0, Send_ed = 1, Money = 0;
void wendu(void);
//----------------------------------------------
void Delay10ms() //@11.0592MHz
{
unsigned char i, j;
i = 108;
j = 145;
do
{
while (--j);
} while (--i);
}
void init()
{
TMOD=0X01; //設置定時器0為模式一,即16位計算模式
TH0=(65536-36660)/256; //給計數寄存器賦值,50毫秒時間
TL0=(65536-36660)%256;
// EA=1; //開啟總中斷
ET0=1; //開啟定時器0中斷
TR0=1; //啟動定時器0
}
void main (void)
{ k4 =0;
init();
SCON = 0x50; //串口方式1, 8-n-1, 允許接收.
TMOD = 0x20; //T1方式2
TH1 = 0xFD; // [url=]//9600bps@11.0592MHz[/url]
TL1 = 0xFD;
TR1 = 1;
ES = 1; //開中斷.
EA = 1;
k4=1;
n=0;m=0;miao1=0; x=0;
while(1) {
if((UART_buff == 1)&&(New_rec == 1)){ n++;New_rec = 0;k4=1; //不限時三個擋位的控制
switch(n) {
case 1:k1=0; k2=1; k3=1; break;
case 2:k1=1; k2=0; k3=1; break;
case 3:k1=1; k2=1; k3=0;n=0; break;
// case 4:k1=1; k2=1; k3=1; break;
} }
else if((UART_buff == 2)&&(New_rec == 1)){ New_rec = 1;miao1=0;k4=1;chart=1; //定時30分鐘的控制
while(miao1<30)
{ if((UART_buff == 2)&&(New_rec == 1)){ x++;New_rec = 0;
switch(x) {
case 1:k1=0; k2=1; k3=1; break;
case 2:k1=1; k2=0; k3=1; break;
case 3:k1=1; k2=1; k3=0;x=0; break;
// case 4:k1=1; k2=1; k3=1; k4=0; break;
} }
else if((UART_buff == 6)&&(New_rec == 1)){k1=1; k2=1; k3=1; x=0;k4=0;miao1=40;}
}
k1=1; k2=1; k3=1; x=0;
}
else if((UART_buff == 3)&&(New_rec == 1)){ New_rec = 1;fen1=0;k4=1;chart=1; //定時1個小時的控制
while(fen1<2)
{ if((UART_buff == 3)&&(New_rec == 1)){ x++;New_rec = 0;
switch(x) {
case 1:k1=0; k2=1; k3=1; break;
case 2:k1=1; k2=0; k3=1; break;
case 3:k1=1; k2=1; k3=0;x=0; break;
// case 4:k1=1; k2=1; k3=1; k4=0; break;
}
}
else if((UART_buff == 6)&&(New_rec == 1)){k1=1; k2=1; k3=1; x=0;k4=0;fen1=40;}
}
k1=1; k2=1; k3=1; x=0;
}
else if((UART_buff == 4)&&(New_rec == 1)){ New_rec = 1;fen1=0;k4=1; //定時兩個小時的控制
while(fen1<5)
{ if((UART_buff == 4)&&(New_rec == 1)){ x++;New_rec = 0;
switch(x) {
case 1:k1=0; k2=1; k3=1; break;
case 2:k1=1; k2=0; k3=1; break;
case 3:k1=1; k2=1; k3=0;x=0; break;
//case 4:k1=1; k2=1; k3=1; x=0;k4=0;Delay10ms();Delay10ms();Delay10ms(); break;
} }
else if((UART_buff == 6)&&(New_rec == 1)){k1=1; k2=1; k3=1; x=0;k4=0;fen1=40;}
}
k1=1; k2=1; k3=1; x=0;
}
else if((UART_buff == 5)&&(New_rec == 1)){ New_rec = 0;k4=1;i=1; //溫度自動控制的三個擋位
while(i){ if((UART_buff == 6)&&(New_rec == 1)){New_rec = 0;k1=1; k2=1; k3=1;k4=0;i=0;}
else if((ly_dis[1]==2)&&(ly_dis[2]<=5)){k1=0; k2=1; k3=1;}
else if((ly_dis[1]==2)&&(ly_dis[2]>5)){k1=1; k2=0; k3=1;}
else if((ly_dis[1]==3)&&(ly_dis[2]>=0)){k1=1; k2=1; k3=0;}
else {k1=1; k2=1; k3=1;k4=1;}
}
}
else if((UART_buff == 6)&&(New_rec == 1)){New_rec = 0;k1=1; k2=1; k3=1;k4=0;i=0;}
}
}
//----------------------------------------------
void ser_int (void) interrupt 4
{
if(RI == 1) { //如果收到.
RI = 0; //清除標志.
New_rec = 1;
UART_buff = SBUF; //接收.
}
/*else { //如果送畢.
TI = 0; //清除標志.
Send_ed = 1;
} */
}
void wendu(void)
{
ltemp=tmp()/16; //得到十進制溫度值,因為DS18B20可以精確到0.0625度,這里取整數顯示
if(ltemp<0){ //判斷第一位顯示整數還是負號
ly_dis[0]=0xbf;
ltemp=0-ltemp;
}
else
ly_dis[0]=ltemp/100;//顯示百位值
ltemp=ltemp%100;
ly_dis[1]=ltemp/10; //顯示溫度十位值
ly_dis[2]=ltemp%10; //顯示溫度個位值
ly_dis[3]=10; //最后一位顯示一個C單位
}
//中斷函數,關鍵字"interrupt" , 這是C語言的中斷函數表示法,1表時定地器0
void timer() interrupt 1
{
TH0=(65536-36660)/256; //重新賦值50毫秒中斷
TL0=(65536-36660)%256;
s++; //比較精確的脈沖輸出,50MS翻轉一次,即1秒中閃爍10次,
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
藍牙控制.zip
(36.17 KB, 下載次數: 31)
2017-7-28 17:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
yuxiaohuo
時間:
2018-4-29 19:41
請問你這個控制電路的電路圖有嗎
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1