找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3710|回复: 2
打印 上一主题 下一主题
收起左侧

WIFI智能开关最新版设计

[复制链接]
跳转到指定楼层
楼主
WIFI控制,这次带了APP与原理图,喜欢的可以参考,我也是搬砖用户,各种资源各种有Q1137035271



单片机源程序如下:
  1. #include "reg52.h"
  2. #include "uart.h"
  3. #include "stdio.h"
  4. #include "string.h"
  5. #include "esp8266.h"
  6. #include "led.h"
  7. //#include "lcd.h"

  8.   
  9. unsigned char flag_REC;
  10. unsigned char buff[20]=0;

  11. void main()
  12. {
  13.     Uart_init();
  14. //   lcd_init();
  15.     P0=0x00;
  16.         delay(6000);
  17.     Init_ESP8266();
  18.         ESP8266_Register();
  19.         P0=0xff;
  20.         while(1)
  21.         {
  22.            LED();
  23.         }

  24.    
  25. }

  26. //  通讯中断接收程序   中断函数无返回值
  27.   void uart_rx(void)  interrupt 4        using 3          //放在这里 和放在main()里面是一样的
  28. {

  29.            unsigned char i;
  30.         unsigned char flag;
  31.         unsigned char dat;
  32.     if(RI)                         //是否接收中断
  33.     {
  34.       
  35.            RI=0;
  36.        dat=SBUF;
  37.        if(dat==':'&&(i==0)) //接收数据第一帧
  38.        {
  39.             buff[i]=dat;
  40.             flag=1;        //开始接收数据
  41.        }
  42.        else
  43.               if(flag==1)
  44.               {
  45.                       i++;
  46.                       buff[i-1]=dat;
  47.                       if(i>=2)
  48.                   {
  49.                            i=0;
  50.                            flag=0;
  51.                            flag_REC=1 ;
  52.                            switch (buff[0])
  53.                            {
  54.                              case 'A':
  55.                                  switch (buff[1])
  56.                                  {
  57.                                   case '1': LED_1_S=1;break;
  58.                                   case  '3': LED_1_S=0;break;

  59.                                  }        break;

  60.                                  case 'B':
  61.                                  switch (buff[1])
  62.                                  {
  63.                                   case '1': LED_2_S=2;break;
  64.                                   case  '3': LED_2_S=0;break;

  65.                                  }        break;

  66.                                  case 'C':
  67.                                  switch (buff[1])
  68.                                  {
  69.                                   case '1': LED_3_S=1;break;
  70.                                   case  '3': LED_3_S=0;break;

  71.                                  }        break;

  72.                                  case 'D':
  73.                                  switch (buff[1])
  74.                                  {
  75.                                   case '1': LED_4_S=1;break;
  76.                                   case  '3': LED_4_S=0;break;

  77.                                  }        break;

  78.                                  case 'E':
  79.                                  switch (buff[1])
  80.                                  {
  81.                                   case '1': LED_5_S=1;break;
  82.                                   case  '3': LED_5_S=0;break;

  83.                                  }        break;

  84.                                  case 'F':
  85.                                  switch (buff[1])
  86.                                  {
  87.                                   case '1': LED_6_S=1;break;
  88.                                   case  '3': LED_6_S=0;break;

  89.                                  }        break;
  90.                            }
  91.                       }  // 停止接收
  92.               }
  93.          }

  94. }

  95. /******************定时器T0服务函数:脉冲发生函数*******************/
  96. void time0() interrupt 1
  97. {
  98.         uchar n;
  99.         TH0=0xff;
  100.         TL0=0x48;                //T0赋初值200us
  101.         n++;                         //每25us  n++
  102.         if(n<scale_1&&LED_1_S)                 //n<设置比例时,打开灯
  103.         {
  104.                 LED_1=0;
  105.         }
  106.         else if(n>=scale_1&&LED_1_S)//n大于等于设置比例时 关闭灯
  107.         {
  108.                 LED_1=1;
  109.         }
  110.         else
  111.         LED_1=1;
  112.         if(n<scale_2&&LED_2_S)                 //n<设置比例时,打开灯
  113.         {
  114.                 LED_2=0;
  115.         }
  116.         else if(n>=scale_2&&LED_2_S)//n大于等于设置比例时 关闭灯
  117.         {
  118.                 LED_2=1;
  119.         }
  120.         else
  121.         LED_2=1;
  122.         if(n<scale_3&&LED_3_S)                 //n<设置比例时,打开灯
  123.         {
  124.                 LED_3=0;
  125.         }
  126.         else if(n>=scale_3&&LED_3_S)//n大于等于设置比例时 关闭灯
  127.         {
  128.                 LED_3=1;
  129.         }
  130.         else
  131.         LED_3=1;

  132.                 if(n<scale_3&&LED_3_S)                 //n<设置比例时,打开灯
  133.         {
  134.                 LED_3=0;
  135.         }
  136.         else if(n>=scale_3&&LED_3_S)//n大于等于设置比例时 关闭灯
  137.         {
  138.                 LED_3=1;
  139.         }
  140.         else
  141.         LED_3=1;

  142.                 if(n<scale_4&&LED_4_S)                 //n<设置比例时,打开灯
  143.         {
  144.                 LED_4=0;
  145.         }
  146.         else if(n>=scale_4&&LED_4_S)//n大于等于设置比例时 关闭灯
  147.         {
  148.                 LED_4=1;
  149.         }
  150.         else
  151.         LED_4=1;

  152.                 if(n<scale_5&&LED_5_S)                 //n<设置比例时,打开灯
  153.         {
  154.                 LED_5=0;
  155.         }
  156.         else if(n>=scale_5&&LED_5_S)//n大于等于设置比例时 关闭灯
  157.         {
  158.                 LED_5=1;
  159.         }
  160.         else
  161.         LED_5=1;

  162.                 if(n<scale_6&&LED_6_S)                 //n<设置比例时,打开灯
  163.         {
  164.                 LED_6=0;
  165.         }
  166.         else if(n>=scale_6&&LED_6_S)//n大于等于设置比例时 关闭灯
  167.         {
  168.                 LED_6=1;
  169.         }
  170.         else
  171.         LED_6=1;
  172.         if(n==40)                 //n==40  :200us*40=8ms   125HZ
  173.         {
  174.                 n=0;                 //n=0
  175.         }
  176.         else ;       
  177. }
复制代码

所有资料51hei提供下载:
资料包.rar (1.75 MB, 下载次数: 64)




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:316332 发表于 2018-9-3 15:23 | 只看该作者
压缩包损坏了,打不开
回复

使用道具 举报

板凳
ID:114117 发表于 2018-11-14 16:37 | 只看该作者
压缩包無 uart.h esp8266.h led.h ???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表