找回密码
 立即注册

QQ登录

只需一步,快速开始

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

手机连接ESP8266模块以后向模块发送字符K,控制LED的翻转

[复制链接]
跳转到指定楼层
楼主
ID:275764 发表于 2018-1-17 17:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
esp8266wifi通信

单片机源程序如下:
  1. #include<reg52.h>
  2. /*此程序是手机连接ESP8266模块以后向模块发送字符K,控制LED的翻转*/
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;
  5. sbit LED = P2^3;u8 dat;
  6. void ConfigUART(u16 buad);//串口通信初始化函数,buad为单片机设置的波特率。
  7. void Delay_ms(u16 n);
  8. void Uart_Send_String(u8 *string);//串口发送多个字节。
  9. void Delay_Us(u8 us);
  10. void Sent_UART(u8 dat);//串口发送一个字节
  11. void ESP8266_Init();//ESP8266初始化
  12. void main()
  13. {
  14.          EA = 1;
  15.    ConfigUART(9600);
  16.          ESP8266_Init();
  17.         while(1);
  18. }

  19. void ConfigUART(u16 buad)
  20. {
  21.         SCON = 0x50;
  22.         TMOD &= 0X0F;
  23.         TMOD |= 0x20;
  24.         TH1 = 256 - (11059200/12/32)/buad;
  25.         TL1 = TH1;
  26.         ET1 = 0;
  27.         TR1 = 1;
  28. }
  29. void Sent_UART(u8 dat)
  30. {
  31.         ES = 0;
  32.         TI=0;
  33.         SBUF = dat;
  34.         while(!TI);
  35. TI = 0;
  36. ES = 1;
  37. }
  38. void Delay_Us(u8 us)
  39. {
  40. while(us--);
  41. }
  42. void Delay_ms(u16 n)
  43. {
  44.         unsigned int  i,j;
  45.         for(i=0;i<n;i++)
  46.                 for(j=0;j<123;j++);
  47. }

  48. void Uart_Send_String(u8 *string)
  49. {
  50. while(*string)
  51. {
  52. Sent_UART(*string++);
  53. Delay_Us(5);
  54. }

  55. }
  56. void ESP8266_Init()
  57. {
  58.         Uart_Send_String("AT\r\n");
  59.         Delay_ms(1000);
  60.         Delay_ms(1000);
  61.         Uart_Send_String("AT\r\n");
  62.         Delay_ms(1000);
  63.         Delay_ms(1000);
  64.   Uart_Send_String("AT+CIPMUX=1\r\n");
  65.         Delay_ms(1000);
  66.         Delay_ms(1000);
  67.   Uart_Send_String("AT+CIPSERVER=1,8080\r\n");
  68. }
  69. void InterruptUART() interrupt 4
  70. {
  71.     if (RI)  //接收到字节
  72.     {
  73.         RI = 0;  //手动清零接收中断标志位
  74.         dat = SBUF;  //接收到的数据保存到接收字节变量中
  75.          if(dat=='k')
  76.                                  {
  77.                                          LED = ~LED;
  78.                                  }                                         //接收到的数据又直接发回,叫作-"echo",
  79.                          //用以提示用户输入的信息是否已正确接收
  80.     }
  81.     if (TI)  //字节发送完毕
  82.     {
  83.         TI = 0;  //手动清零发送中断标志位
  84.     }
  85. }
复制代码

所有资料51hei提供下载:
ESP8266(1).zip (29.02 KB, 下载次数: 11)


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

使用道具 举报

沙发
ID:227622 发表于 2018-4-7 01:52 | 只看该作者
大神,请问有手机APP 的安装包吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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