久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3559|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的水塔智能水位控制系統(tǒng) 主機(jī)+從機(jī)程序 nRF24L01無線傳輸

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:672336 發(fā)表于 2019-12-24 15:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
原理圖


單片機(jī)源程序如下:
  1. #include<reg52.h>
  2. #include"global_define.h"
  3. #include"NRF24L01.h"  
  4. #include"Delay.h"

  5. sbit LED = P2^0 ;
  6. sbit DJ = P2^6 ;

  7. unsigned int baojingzhi = 200;//默認(rèn)50cm
  8. unsigned char baojing[8];
  9. unsigned char ge,shi,bai;
  10. unsigned int shuiwei ;
  11. 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};

  12. sbit bADcs=P2^5;
  13. sbit bADcl=P2^4;
  14. sbit bADda=P2^3;
  15. unsigned char data1;
  16. unsigned char flag_1s;
  17. long        Value;
  18. unsigned char Value_buff[8];
  19. /*------------------------------------------------
  20.                     定時(shí)器初始化子程序
  21. ------------------------------------------------*/
  22. void Init_Timer0(void)
  23. {
  24. TMOD |= 0x01;          //使用模式1,16位定時(shí)器,使用"|"符號(hào)可以在使用多個(gè)定時(shí)器時(shí)不受影響                     
  25. TH0=(65536-1000)/256;                  //重新賦值 1ms
  26. TL0=(65536-1000)%256;
  27. EA=1;            //總中斷打開
  28. ET0=1;           //定時(shí)器中斷打開
  29. TR0=1;           //定時(shí)器開關(guān)打開
  30. PT0=1;           //優(yōu)先級(jí)打開
  31. }
  32. long ad()//采樣煙霧傳感器的信號(hào)函數(shù)
  33. {  
  34.      unsigned char i;
  35.      //data1=0;
  36.      bADcs = 0;//當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用.
  37.          bADcl=0;
  38.          bADda=1;
  39.          bADcl=1;
  40.          bADcl=0;//i down
  41.          bADda=1;
  42.          bADcl=1;
  43.          bADcl=0;        //   2 down
  44.          bADda=0;
  45.          bADcl=1;
  46.          bADcl=0;        //   3 down
  47.          bADda=1;
  48.          bADcl=1;
  49.          bADcl=0;        //   4 down

  50.          for(i=8;i>0;i--)
  51.                  {
  52.                
  53.                  data1<<=1;
  54.                  bADcl=0;
  55.                 bADcl=1;
  56.                 if(bADda==1) data1|=0x01;
  57.                            bADda=1;
  58.                  }
  59.                  bADcs=1;
  60.                  
  61.        Value=data1*1.0/256*500;
  62.            
  63.           // Value=Value*K_MG_MV;
  64.           // Value=Value-5;
  65.            if(Value<0)Value=0;
  66.            return Value;
  67. }
  68. void DelayMs(uint time)
  69. {
  70.         uint i,j;
  71.         for(i=time;i>0;i--)
  72.                 for(j=112;j>0;j--);
  73. }


  74. void main()
  75. {
  76. //   unsigned char buff[8];
  77.    uint num=0 ;
  78.     unsigned int Value_1;   
  79.     DJ = 1;
  80.    Init_Timer0();
  81.    NRF24L01Int();     
  82.    RevTempDate[0] = '2';
  83.    RevTempDate[1] = '0';
  84.    RevTempDate[2] = '0';
  85.    while(1)
  86.     {         
  87.                  ad();
  88.                  Value_1 = Value;
  89.                  if(Value_1<baojingzhi)     //        當(dāng)距離小于報(bào)警值時(shí)報(bào)警
  90.                    DJ = 0 ;  
  91.                  else
  92.                    DJ = 1;
  93.              NRFSetRXMode();//設(shè)置為接收模式
  94.                  Delay_x_ms(20);
  95.                  GetDate();   //開始接收數(shù)據(jù)
  96.                  Delay_x_ms(20);
  97.                  bai =         RevTempDate[0]-'0';                //提取百位
  98.                  shi =         RevTempDate[1]-'0';            //提取十位
  99.                  ge  =         RevTempDate[2]-'0';                //提取個(gè)位
  100.                   baojingzhi = bai*100+shi*10+ge;                //計(jì)算
  101.                
  102.         


  103.                    if(flag_1s==1)          //一秒發(fā)送一次水位值
  104.                    {
  105.                             flag_1s = 0;
  106.                          Value_buff[0]=Value/100+'0';
  107.                  Value_buff[1]=Value/10%10+'0';
  108.                  Value_buff[2]=Value%10+'0';
  109.                          Value_buff[3]=        '\0';
  110.                          NRFSetTxMode(Value_buff);  //發(fā)送
  111.                  while(CheckACK_RP());        //檢測(cè)是否發(fā)送完畢,檢測(cè)應(yīng)答信號(hào)
  112.                      Delay_x_ms(200);        
  113.                    }




  114.          }
  115.                   

  116. //                else num = 0;  
  117.          
  118. }        
  119. /*------------------------------------------------
  120. ……………………

  121. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
新建文件夾.7z (237.84 KB, 下載次數(shù): 112)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:870533 發(fā)表于 2021-1-15 13:50 | 只看該作者
請(qǐng)問有原理圖嗎?
回復(fù)

使用道具 舉報(bào)

板凳
ID:64696 發(fā)表于 2021-5-12 16:30 | 只看該作者
樓主 從新上傳下代碼、代碼編譯警告5、發(fā)送和接收代碼、謝謝啦!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久吹潮 | 日韩美女在线看免费观看 | 欧美a区| 欧美成人一区二区 | 大乳boobs巨大吃奶挤奶 | 久久视频免费观看 | 国产精品18hdxxxⅹ在线 | 视频在线观看一区二区 | 好姑娘影视在线观看高清 | 国产在线观看一区二区三区 | 午夜影院网站 | 91视频麻豆 | 亚洲视频免费在线 | 中国美女一级黄色片 | 成人三级影院 | 欧美日韩a| 精品视频在线观看 | 看一级毛片 | 久久99精品久久久 | 午夜寂寞影院在线观看 | 精品一区国产 | 91久久久久久久久 | 欧美精品在线一区 | 韩国av一区二区 | av一级毛片 | 亚洲一区二区三区免费观看 | 免费观看一级视频 | 亚洲福利在线视频 | 亚洲午夜精品一区二区三区他趣 | 伊人网在线看 | 国产精品久久久久久久久图文区 | 国产精品一区二区三区在线 | 欧美日韩在线综合 | 亚洲精品自在在线观看 | 国产高清精品一区二区三区 | 国产精品亚洲综合 | 一级黄色片毛片 | 欧美 日韩 中文 | 成人免费看片又大又黄 | 亚洲最大的黄色网址 | 久久久久九九九女人毛片 |