久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
基于51單片機(jī)的無線溫濕度控制系統(tǒng)
[打印本頁(yè)]
作者:
深藍(lán)島嶼
時(shí)間:
2019-4-1 17:40
標(biāo)題:
基于51單片機(jī)的無線溫濕度控制系統(tǒng)
02.png
(56.02 KB, 下載次數(shù): 71)
下載附件
2019-4-1 17:32 上傳
01.png
(39.35 KB, 下載次數(shù): 48)
下載附件
2019-4-1 17:32 上傳
發(fā)射_DHT11程序
//宏定義
#define uchar unsigned char
#define uint unsigned int
//頭函數(shù)
#include <reg51.h>
#include <intrins.h>
//無線模塊
#include "api.h"
#include "nRF24L01P.h"
#include "DHT11.h"
//LED 管腳定義
sbit TXLED_R=P1^3;
sbit RXLED_Y=P1^5;
//主機(jī)詢問命令
uchar CMD[]={0xaa,0xbb,0xcc,0xdd};
//主函數(shù)
void main()
{
TXLED_R=0; //初始化LED
RXLED_Y=0;
init_io(); //無線初始化IO
RX_Mode(); //設(shè)置為接收模式
TXLED_R=1;
RXLED_Y=1;
//循環(huán)執(zhí)行
while(1)
{
sta = SPI_Read(STATUS); //讀狀態(tài)寄存器
if(RX_DR) //判斷是否接受到數(shù)據(jù)
{
SPI_Read_Buf(RD_RX_PLOAD, RX_BUF, TX_PLOAD_WIDTH); //從RX FIFO讀出數(shù)據(jù)
flag = 1;
RXLED_Y=0; //打開接收指示燈
}
SPI_RW_Reg(WRITE_REG + STATUS, sta); //清除RX_DS中斷標(biāo)志
if(flag) //接受完成
{
flag = 0; //清標(biāo)志
//命令為主機(jī)詢問
if(RX_BUF[0]==CMD[0]&&RX_BUF[1]==CMD[1]&&RX_BUF[2]==CMD[2]&&RX_BUF[3]==CMD[3])
{
//打開接收成功指示
//無線答應(yīng)信號(hào)濕度 溫度
RH(); //DHT11讀取
TX_BUF[0]=0xaa;
//T溫度
TX_BUF[1]=U8T_data_H;
//RH濕度
TX_BUF[2]=U8RH_data_H;
TX_BUF[3]=0xdd;
delay_ms(100);
RXLED_Y=1; //關(guān)閉接受射指示燈
TXLED_R=0; //打開發(fā)射指示燈
TX_Mode(TX_BUF); // 把nRF24L01設(shè)置為發(fā)送模式并發(fā)送數(shù)據(jù)
Check_ACK(1); // 等待發(fā)送完畢,清除TX FIFO
delay_ms(100);
//發(fā)送成功指示
TXLED_R=1; //關(guān)閉發(fā)射指示燈
RX_Mode(); // 設(shè)置為接收模式
}
}
}
}
復(fù)制代碼
接收_溫濕度控制程序
//宏定義
#define uchar unsigned char
#define uint unsigned int
//頭函數(shù)
#include <reg51.h>
#include <intrins.h>
//屏幕函數(shù)調(diào)用
#include "Lcd.h"
//無線模塊
#include "api.h"
#include "nRF24L01P.h"
//繼電器定義
sbit jiangwen=P3^5;
sbit shengwen=P3^4;
sbit choushi=P3^3;
sbit jiashi=P3^2;
//LED 管腳定義
sbit TXLED_R=P1^3;
sbit RXLED_Y=P1^5;
//蜂鳴器
sbit Feng=P1^2;
//蜂鳴器閃爍標(biāo)志位
bit shan=0;
#include "KEY.h"
//主機(jī)詢問命令
uchar CMD[]={0xaa,0xbb,0xcc,0xdd};
uchar Mode=0;
uchar temp=0;
uchar KK=0;
//報(bào)警溫濕度
uchar TNumber=30,RHNumber=50,TX=20,HX=40;
//主函數(shù)
void main()
{
TH0=0x4b;
TL0=0xff;//賦初值
TMOD=0x01;//設(shè)置工作方式
EA=1;//打開中斷總開關(guān)
ET0=1;//打開允許開關(guān)
TR0=1;
//LCD初始化顯示
Init_LCD();
delay_ms(250);
TXLED_R=0; //初始化
RXLED_Y=0;
init_io(); //無線初始化IO
RX_Mode(); //設(shè)置為接收模式
TXLED_R=1;
RXLED_Y=1;
/////////////////////////////////////////////
TXLED_R=0; //發(fā)送指示燈
////////////////////////////////////////////////////////////////////////////////
//循環(huán)顯示
while(1)
{
TXLED_R=0; //發(fā)送指示燈
TX_ACK(); //發(fā)送詢問信號(hào)
sta = SPI_Read(STATUS); //讀狀態(tài)寄存器
TXLED_R=1; //發(fā)送指示燈
if(RX_DR) //判斷是否接受到數(shù)據(jù)
{
SPI_Read_Buf(RD_RX_PLOAD, RX_BUF, TX_PLOAD_WIDTH); // 從RX FIFO讀出數(shù)據(jù)
flag = 1;
}
delay_ms(100);
SPI_RW_Reg(WRITE_REG + STATUS, sta); // 清除RX_DS中斷標(biāo)志
if(flag==1) // 接受完成
{
Mode=0;
flag=0;
}
else //設(shè)備丟失
{
Mode=1;
}
//顯示
//數(shù)據(jù)顯示
if(Mode==0)
{
RXLED_Y=0;
if(temp!=1)//重新初始化
{
display1();
temp=1;
}
display2(RX_BUF[1],RX_BUF[2]);//顯示讀數(shù)
if(RX_BUF[1]>TNumber) //溫度超標(biāo)降溫
{
jiangwen=0;
}
else
{
jiangwen=1;
}
if(RX_BUF[1]<TX) //溫度過低升溫
{
shengwen=0;
}
else
{
shengwen=1;
}
if(RX_BUF[2]>RHNumber) //濕度超標(biāo)抽濕
{
choushi=0;
}
else
{
choushi=1;
}
if(RX_BUF[2]<HX) //濕度過低加濕
{
jiashi=0;
}
else
{
jiashi=1;
}
if(((RX_BUF[1]>TNumber||RX_BUF[2]>RHNumber||RX_BUF[1]<TX||RX_BUF[2]<HX))&&(shan==1)) //超閥值蜂鳴器報(bào)警
{
Feng=0;
}
else
{
Feng=1;
}
RXLED_Y=1;
}
//讀取鍵值
KK=KEY_();
if(KK==3)//調(diào)整模式
{
Mode=2;
KK=0;
}
//數(shù)據(jù)顯示不在線
if(Mode==1)
{
if(temp!=2)
NoLine();//設(shè)備丟失
temp=2;
}
//鍵盤
else if(Mode==2)
{
temp=3;
display3();
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+5);
//調(diào)溫上限
while(KK!=3)
{
//讀取鍵值
KK=KEY_();
if(KK==1)//++
{
TNumber++;
if(TNumber==51)
TNumber=50;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+5);
}
if(KK==2)//--
{
TNumber--;
if(TNumber==TX)
TNumber++;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+5);
}
}
KK=0;
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+5);
//調(diào)溫x下限
while(KK!=3)
{
//讀取鍵值
KK=KEY_();
if(KK==1)//++
{
TX++;
if(TX==TNumber)
TX--;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+5);
}
if(KK==2)//--
{
TX--;
if(TX==0xff)
TX=0;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+5);
}
}
KK=0;
write_com(0x0f);//打開光標(biāo)
write_com(0x80+14);
//調(diào)濕 上
while(KK!=3)
{
//讀取鍵值
KK=KEY_();
if(KK==1)//++
{
RHNumber++;
if(RHNumber==91)
RHNumber=90;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+14);
}
if(KK==2)//--
{
RHNumber--;
if(RHNumber==HX)
RHNumber++;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+14);
}
}
KK=0;
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+14);
//調(diào)濕 下
while(KK!=3)
{
//讀取鍵值
KK=KEY_();
if(KK==1)//++
{
HX++;
if(HX==RHNumber)
HX--;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+14);
}
if(KK==2)//--
{
HX--;
if(HX==19)
HX=20;
display4(TNumber,RHNumber,TX,HX);
write_com(0x0f);//打開光標(biāo)
write_com(0x80+0x40+14);
}
}
KK=0;
}
delay_ms(200);
delay_ms(200);
delay_ms(200);
}
}
void time0() interrupt 1//定時(shí)器函數(shù)
{
uchar m;
TH0=0x4b;
TL0=0xff;//重新賦初值
m++;
if(m==4)
{
shan=~shan;
m=0;
}
}
復(fù)制代碼
基于51單片機(jī)的無線溫濕度控制系統(tǒng).rar
(542.46 KB, 下載次數(shù): 245)
2019-4-1 17:40 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
277377597
時(shí)間:
2019-4-4 19:11
學(xué)習(xí)到了!
作者:
youcaizi
時(shí)間:
2019-4-10 10:59
感謝樓主,幫了我的大忙
作者:
我不善良
時(shí)間:
2019-5-8 00:10
求仿真啊樓主 跪求 有償
作者:
許興堂
時(shí)間:
2019-5-13 14:58
樓主這是屬于什么協(xié)議進(jìn)行通信?
作者:
xx不放火
時(shí)間:
2019-12-9 08:45
改一下應(yīng)該可以多從機(jī)
作者:
Augustor
時(shí)間:
2019-12-13 19:28
轟多尼?
作者:
Augustor
時(shí)間:
2019-12-13 19:32
牛皮
作者:
夏日的期待
時(shí)間:
2020-3-3 10:35
請(qǐng)問能給一個(gè)最基礎(chǔ)的51單片機(jī)控制溫濕度的解釋嗎,小白求助
作者:
nihaojiushiguan
時(shí)間:
2020-4-5 17:44
為什么要繼電器驅(qū)動(dòng)
作者:
EDA12345678
時(shí)間:
2020-4-23 19:56
為什么我下載測(cè)試,接收連通了開機(jī)始終采集不到?溫度和濕度顯示都是0,請(qǐng)問是什么問題求指導(dǎo)謝謝。
作者:
zyy1100
時(shí)間:
2020-5-10 20:35
proteus仿真有嗎,樓主
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩一区二区三区精品
|
午夜av免费
|
91美女在线
|
日韩精品在线观看一区二区
|
国产精品久久久久久吹潮
|
久久国产成人午夜av影院武则天
|
91精品国产乱码久久蜜臀
|
视频一二三区
|
天堂一区二区三区
|
91视频大全
|
精品久久精品
|
免费在线视频a
|
亚洲一区二区精品视频
|
日韩av免费看
|
日韩免费一级
|
91tv在线观看
|
成人性视频在线
|
日韩高清中文字幕
|
精精国产xxxx视频在线
|
欧美精品一区二区免费
|
国产高潮好爽受不了了夜色
|
亚洲免费在线观看
|
亚洲欧美在线观看视频
|
欧美一级视频在线观看
|
欧美精品中文字幕久久二区
|
少妇一区二区三区
|
午夜a v电影
|
91高清视频在线观看
|
日韩成人高清
|
久久精品综合
|
精品视频久久久久久
|
日本在线中文
|
日韩精品在线播放
|
亚洲一区二区三区视频
|
国产精品久久久久久久久久久免费看
|
亚洲精品乱码久久久久久9色
|
中文字幕国产精品
|
欧美激情第一区
|
三级特黄特色视频
|
欧美狠狠操
|
久久这里只有精品首页
|