標(biāo)題:
基于51單片機(jī)的水塔智能水位控制系統(tǒng) 主機(jī)+從機(jī)程序 nRF24L01無(wú)線傳輸
[打印本頁(yè)]
作者:
wm123456
時(shí)間:
2019-12-24 15:29
標(biāo)題:
基于51單片機(jī)的水塔智能水位控制系統(tǒng) 主機(jī)+從機(jī)程序 nRF24L01無(wú)線傳輸
原理圖
51hei.png
(43.51 KB, 下載次數(shù): 51)
下載附件
2021-6-8 17:14 上傳
單片機(jī)源程序如下:
#include<reg52.h>
#include"global_define.h"
#include"NRF24L01.h"
#include"Delay.h"
sbit LED = P2^0 ;
sbit DJ = P2^6 ;
unsigned int baojingzhi = 200;//默認(rèn)50cm
unsigned char baojing[8];
unsigned char ge,shi,bai;
unsigned int shuiwei ;
idata unsigned char TxDate[TX_DATA_WITDH]={0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,11,12};
sbit bADcs=P2^5;
sbit bADcl=P2^4;
sbit bADda=P2^3;
unsigned char data1;
unsigned char flag_1s;
long Value;
unsigned char Value_buff[8];
/*------------------------------------------------
定時(shí)器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響
TH0=(65536-1000)/256; //重新賦值 1ms
TL0=(65536-1000)%256;
EA=1; //總中斷打開(kāi)
ET0=1; //定時(shí)器中斷打開(kāi)
TR0=1; //定時(shí)器開(kāi)關(guān)打開(kāi)
PT0=1; //優(yōu)先級(jí)打開(kāi)
}
long ad()//采樣煙霧傳感器的信號(hào)函數(shù)
{
unsigned char i;
//data1=0;
bADcs = 0;//當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用.
bADcl=0;
bADda=1;
bADcl=1;
bADcl=0;//i down
bADda=1;
bADcl=1;
bADcl=0; // 2 down
bADda=0;
bADcl=1;
bADcl=0; // 3 down
bADda=1;
bADcl=1;
bADcl=0; // 4 down
for(i=8;i>0;i--)
{
data1<<=1;
bADcl=0;
bADcl=1;
if(bADda==1) data1|=0x01;
bADda=1;
}
bADcs=1;
Value=data1*1.0/256*500;
// Value=Value*K_MG_MV;
// Value=Value-5;
if(Value<0)Value=0;
return Value;
}
void DelayMs(uint time)
{
uint i,j;
for(i=time;i>0;i--)
for(j=112;j>0;j--);
}
void main()
{
// unsigned char buff[8];
uint num=0 ;
unsigned int Value_1;
DJ = 1;
Init_Timer0();
NRF24L01Int();
RevTempDate[0] = '2';
RevTempDate[1] = '0';
RevTempDate[2] = '0';
while(1)
{
ad();
Value_1 = Value;
if(Value_1<baojingzhi) // 當(dāng)距離小于報(bào)警值時(shí)報(bào)警
DJ = 0 ;
else
DJ = 1;
NRFSetRXMode();//設(shè)置為接收模式
Delay_x_ms(20);
GetDate(); //開(kāi)始接收數(shù)據(jù)
Delay_x_ms(20);
bai = RevTempDate[0]-'0'; //提取百位
shi = RevTempDate[1]-'0'; //提取十位
ge = RevTempDate[2]-'0'; //提取個(gè)位
baojingzhi = bai*100+shi*10+ge; //計(jì)算
if(flag_1s==1) //一秒發(fā)送一次水位值
{
flag_1s = 0;
Value_buff[0]=Value/100+'0';
Value_buff[1]=Value/10%10+'0';
Value_buff[2]=Value%10+'0';
Value_buff[3]= '\0';
NRFSetTxMode(Value_buff); //發(fā)送
while(CheckACK_RP()); //檢測(cè)是否發(fā)送完畢,檢測(cè)應(yīng)答信號(hào)
Delay_x_ms(200);
}
}
// else num = 0;
}
/*------------------------------------------------
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
新建文件夾.7z
(237.84 KB, 下載次數(shù): 112)
2019-12-24 19:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
asdzzg
時(shí)間:
2021-1-15 13:50
請(qǐng)問(wèn)有原理圖嗎?
作者:
leiyutian
時(shí)間:
2021-5-12 16:30
樓主 從新上傳下代碼、代碼編譯警告5、發(fā)送和接收代碼、謝謝啦!
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1