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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5455|回復: 7
打印 上一主題 下一主題
收起左側

at89c52程序改為stc12c5a60s2芯片使用,

[復制鏈接]
跳轉到指定樓層
樓主
  1. #include "DHT11.h"
  2. #include <stdio.h>
  3. #include "string.h"
  4. extern unsigned char  F16T,F16RH;                //溫濕度數據
  5. sbit LED1=P2^0;
  6. sbit LED2=P2^3;
  7. sbit LED3=P2^6;
  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. unsigned char idata Rxbuff[40],Rxnum,SF16T,SF16RH;
  11. unsigned char        Recwifi_data[5],led[2],n,x;
  12. char *strx=0;
  13. char clinetid;//連接ID
  14. unsigned char getflag;//獲取標志
  15. void Get_Clinet(void);
  16. void InitUART(void)                         //這是串口的基本配置,配置他的波特率是9600.這些參數都是標準的。
  17. {
  18.     TMOD = 0x20;
  19.     SCON = 0x50;
  20.     TH1 = 0xFD;
  21.     TL1 = TH1;
  22.     PCON = 0x00;
  23.     EA = 1;
  24.     ES = 1;
  25.     TR1 = 1;
  26. }

  27. /******************************************************************************/
  28. void delayms(unsigned int x)
  29. {
  30.         unsigned int i;
  31.         while(x--)
  32.                 for(i=1250;i>0;i--);
  33. }
  34. /*
  35. * UART 發送一字節
  36. */
  37. void UART_send_byte(char dat)
  38. {
  39.         SBUF = dat;                                        //發送
  40.         while (TI == 0);                        //等待發送完畢
  41.         TI = 0;                                                //清發送完畢中斷請求標志位
  42. }

  43. /*
  44. * UART 發送字符串
  45. */
  46. void Send_Str(unsigned char *buf)
  47. {
  48.         while (*buf != '\0')
  49.         {
  50.                 UART_send_byte(*buf++);
  51.         }
  52. }

  53. void ESP8266_SERVER(void)//建立服務器
  54. {
  55.         Send_Str("AT\r\n");
  56.         delayms(500);
  57.         Send_Str("ATE0\r\n");
  58.         delayms(500);
  59.         Send_Str("AT+CWMODE=2\r\n");          //服務器搭建在WIFI模塊上
  60.         delayms(500);
  61.            Send_Str("AT+CWSAP=\"wifi\",\"12345678\",5,3\r\n");          //設置顯示名稱:wifi,密碼:12345678
  62.         delayms(500);
  63.         Send_Str("AT+CIPMUX=1\r\n");//啟動多連接,建立服務器都需要配置
  64.         delayms(500);       
  65.         Send_Str("AT+CIPSERVER=1,5000\r\n");//建立服務器
  66.         delayms(500);       
  67.         Send_Str("AT+CIPSTO=0\r\n");

  68. }

  69. void Send_DATA(uchar *buffer)
  70. {
  71.     Send_Str("AT+CIPSEND=0,11\r\n");
  72.         delayms(10);
  73.     Send_Str(buffer);//發送數據
  74.         delayms(1000);
  75.         if((Rxbuff[0]=='1')&&(Rxbuff[1]=='1'))//關燈
  76.         {
  77.                 LED1=1;
  78.                 x=1;
  79.         }
  80.         if((Rxbuff[0]=='1')&&(Rxbuff[1]=='0'))//開燈
  81.         {
  82.                 LED1=0;
  83.                 x=0;
  84.         }
  85.         if(x==0)
  86.         {
  87.          if(F16T>=SF16T)
  88.                  LED2=0;
  89.                  else LED2=1;
  90.                  if(F16RH>=SF16RH)
  91.                  LED3=0;
  92.                  else LED3=1;
  93.         }
  94.         else
  95.         {
  96.                 if((Rxbuff[0]=='2')&&(Rxbuff[1]=='1'))        //關燈
  97.                         LED2=1;
  98.                 if((Rxbuff[0]=='2')&&(Rxbuff[1]=='0'))//開燈
  99.                         LED2=0 ;
  100.                 if((Rxbuff[0]=='3')&&(Rxbuff[1]=='1'))        //關燈
  101.                         LED3=1;
  102.                 if((Rxbuff[0]=='3')&&(Rxbuff[1]=='0'))//開燈
  103.                         LED3=0 ;
  104.         }
  105.         if((Rxbuff[0]=='5')&&(Rxbuff[1]=='1'))        //加溫度定值
  106.         {
  107.                 SF16T++;
  108.             if(SF16T>50)
  109.         SF16T=50;
  110.                 Rxbuff[1]=9;
  111.         }
  112.         if((Rxbuff[0]=='5')&&(Rxbuff[1]=='0'))//減溫度定值
  113.         {
  114.                 SF16T--;
  115.             if(SF16T<1)
  116.         SF16T=1;
  117.                 Rxbuff[1]=9;
  118.         }
  119.         if((Rxbuff[0]=='6')&&(Rxbuff[1]=='1'))        //加濕度定值
  120.         {
  121.                 SF16RH++;
  122.             if(SF16RH>90)
  123.         SF16RH=90;
  124.                 Rxbuff[1]=9;
  125.         }
  126.         if((Rxbuff[0]=='6')&&(Rxbuff[1]=='0'))//減濕度定值
  127.         {
  128.                 SF16RH--;
  129.             if(SF16RH<20)
  130.         SF16RH=20;
  131.                 Rxbuff[1]=9;
  132.         }


  133. }
  134. void main()
  135. {
  136.           unsigned char   Tx_Buf[12];
  137.           unsigned char LEDstatus;//燈的狀態
  138.         delayms(500);
  139.         delayms(1000);          //延時一段時間,讓WIFI模塊穩定
  140.         InitUART();                        //初始化串口
  141.     ESP8266_SERVER();        //初始化ESP8266
  142.         SF16T=25;
  143.         SF16RH=50;
  144.         x=1;
  145.         while(1)       
  146.         {          
  147.                   getDHT11(); //獲取溫濕度值
  148.                   Tx_Buf[0]=F16T/10%10+0x30;                 //將溫濕度數據送往發送數組,送給模塊讓手機APP顯示
  149.                   Tx_Buf[1]=F16T%10+0x30;               
  150.                   Tx_Buf[2]=F16RH/10%10+0x30;
  151.                   Tx_Buf[3]=F16RH%10+0x30;
  152.                   Tx_Buf[4]=SF16T/10%10+0x30;                 //將溫濕度數據送往發送數組,送給模塊讓手機APP顯示
  153.                   Tx_Buf[5]=SF16T%10+0x30;               
  154.                   Tx_Buf[6]=SF16RH/10%10+0x30;
  155.                   Tx_Buf[7]=SF16RH%10+0x30;
  156.                 LEDstatus=LED1;
  157.                    Tx_Buf[8]=LEDstatus+0x30;//發送燈的狀態
  158.                 LEDstatus=LED2;
  159.                 Tx_Buf[9]=LEDstatus+0x30;
  160.                 LEDstatus=LED3;
  161.                 Tx_Buf[10]=LEDstatus+0x30;
  162.                    Send_DATA(Tx_Buf)        ;//發送數據
  163.         }
  164. }

  165. /*****************串口接收中斷函數,接收數據*********************/
  166. void UARTInterrupt(void) interrupt 4
  167. {       
  168.         if(RI)
  169.     {
  170.                 ES=0;
  171.         RI = 0;
  172.               Rxbuff[Rxnum]=SBUF;
  173.                 if(Rxbuff[Rxnum]=='=')
  174.                 {
  175.                         Rxnum=0;
  176.                 }
  177.             else
  178.                 {
  179.                         Rxnum++;
  180.                         if(Rxnum>2)
  181.                         {
  182.                                 Rxnum=2;
  183.                         }
  184.                 }
  185.                 ES=1;
  186.     }          
  187. }
復制代碼
這個是DHT11數據發送到手機的,89c52程序在app上可以顯示溫濕度,但是stc12c5a60s2程序在手機上可以控制但是無法顯示溫度


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:396487 發表于 2018-10-15 21:08 | 只看該作者
求大家幫我改一下程序,說要改延時程序,但是菜鳥我不知道怎么改
回復

使用道具 舉報

板凳
ID:387733 發表于 2018-10-16 08:08 | 只看該作者

用STC下載器里面的軟件延時計算器生成延時函數代碼,稍作修改即可


void Delayms(unsigned int x)                //@11.0592MHz
{
        unsigned char i, j;
        i = 11;
        j = 190;
        while(x--)
        {
                while (--i)
                    while (--j);
        }
}

回復

使用道具 舉報

地板
ID:396487 發表于 2018-10-16 19:36 | 只看該作者
好的,謝謝
回復

使用道具 舉報

5#
ID:396487 發表于 2018-10-16 19:47 | 只看該作者
sxhwdz 發表于 2018-10-16 08:08
用STC下載器里面的軟件延時計算器生成延時函數代碼,稍作修改即可

編譯顯示錯誤
DHT11.H(29): error C267: 'Delay_us': requires ANSI-style prototype
DHT11.H(29): warning C206: 'Delay_us': missing function-prototype
回復

使用道具 舉報

6#
ID:388197 發表于 2018-10-16 21:47 | 只看該作者
mykt2012 發表于 2018-10-16 19:47
編譯顯示錯誤
DHT11.H(29): error C267: 'Delay_us': requires ANSI-style prototype
DHT11.H(29): war ...

Delay_us函數主體寫在main下面了,沒有在main上面聲明?
另外如果里面有_nop_()
記得include <intrins.h>
回復

使用道具 舉報

7#
ID:326450 發表于 2018-11-13 17:08 | 只看該作者
恩恩,挺有用的
回復

使用道具 舉報

8#
ID:700310 發表于 2020-2-29 20:11 | 只看該作者
這是手機APP遠程監控大棚溫濕度嗎?我要做這個
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人福利在线视频 | 久久国产精品免费一区二区三区 | 午夜视频在线免费观看 | 亚洲国产精品久久 | 久久精品亚洲一区二区三区浴池 | 国产午夜精品久久 | 免费观看成人鲁鲁鲁鲁鲁视频 | 嫩草影院网址 | 国产一区影院 | 超碰97人人人人人蜜桃 | 久色网| 欧美一级全黄 | 一级黄在线观看 | 久久网国产 | 国产欧美在线观看 | 欧美日韩视频 | 精品免费国产 | 亚洲天堂中文字幕 | 一区二区三区四区av | 在线播放亚洲 | 亚洲一区二区三区免费视频 | 中文字幕乱码一区二区三区 | 欧美综合网 | 久久精品黄色 | 成人欧美一区二区三区黑人孕妇 | 国产不卡一区 | 在线观看中文字幕 | 久久久久亚洲 | 中文字幕丁香5月 | 国产精品一区二区av | 99精品欧美一区二区蜜桃免费 | 一本大道久久a久久精二百 欧洲一区二区三区 | 国产第一亚洲 | 久久夜色精品国产 | 亚洲成人一区二区 | 亚洲欧美日韩中文字幕一区二区三区 | 91毛片在线观看 | 免费在线观看成人 | 中文字幕在线观看一区 | 亚洲成人国产精品 | 国产高清视频一区二区 |