标题: STC12C5A60S2单片机最小系统,物联网ESP8266-01S模块 [打印本页]

作者: 有心插花花木兰    时间: 2020-4-20 23:12
标题: STC12C5A60S2单片机最小系统,物联网ESP8266-01S模块
前面一篇帖子写的过于冲忙,现在详细说明开发过程以及工程资料。

1,ESP8266-01S出场自带AT固件,直接设置AT指令即可。需要下载AT指令的的话只需要GPIO0接地即可,其他接线和运行模式相同。注意和单片机通信要求相同波特率 AT+CIOBAUD=9600,AT+RST重启生效即可。提示,蓝色灯闪烁表示通信,01有红色灯说明正在运行而01S没有红色灯,


2,STC12C5A60S2单片机的特点是有两个串口51单片机就一个串口导致程序下载和ESP8266-01S模块冲突果断放弃,60S2串口二通信程序在上一个帖子说过详细程序可以下载


3,最后单片机和WiFi模块通信

AT+CIPMUX=1

AT+CIPSERVER=1,8080

单片机发送这两个AT指令即可通过手机WiFi搜索并发送数据说明ESP8266-01S模块启动成功


单片机源程序如下:

  1. <font style="background-color:transparent"><font style="font-size: 16px"><font color="#007000">/*--------------------------------
  2. *
  3. 2020年4月19日

  4. 程序的功能是: 使用STC12C5A60S2 串口2 发送数据
  5. 硬件:12M

  6. vx交流:THEQUEYUE
  7. *
  8. */
  9. #include <STC12C5A60S2.H>
  10. #include "UART2.h"

  11. sbit LED = P3^6;

  12. unsigned char temps[]={"AT+CIPMUX=1\r\n"};//字符串,可以直接修改内容
  13. unsigned char code  displaytable[]={"AT+CIPSERVER=1,8080\r\n"};  //显示数字?

  14. unsigned char dat[1]=0;


  15. void delay(void)
  16. {
  17.         char j,g;
  18.         for(j=0;j<10;j++)
  19.         for(g=0;g<10;g++);
  20. }

  21. int main()
  22. {
  23.         int i;
  24.         LED = 0;
  25.         Uart2Init();//初始化9600
  26.         delay();
  27.         Uart2_send_string(temps);       //发送AT指令
  28.         for(i=0;i<5000;i++)                                                        //延迟等待ESP8266-01S接收信息
  29.         {
  30.                 delay();
  31.         }
  32.         Uart2_send_string(displaytable);//发送AT指令

  33.         while(1)
  34.         {
  35.                         if(dat[0]=='a')
  36.                                 {
  37.                                 LED=1;
  38.                                 }
  39.                         else
  40.                                 {
  41.                                 LED=0;
  42.                                 }
  43.         }
  44. }


  45. void uart2_isr() interrupt 8 using 1
  46. {
  47.         if( S2CON & 0x01 )
  48.         {        
  49.                 dat[0]  = S2BUF;
  50.                 S2CON &= ~0x01;
  51.         }
  52. }
复制代码

所有资料51hei提供下载:

ESP8266-01S.7z (1.91 MB, 下载次数: 95)

程序.rar (69.3 KB, 下载次数: 92)




作者: zbfdyw    时间: 2020-4-21 09:09
做的真不错!点赞你!学以致用,就是要学也要用!
作者: 一天会    时间: 2020-4-21 11:42
这个传感器有问题吧
作者: 有心插花花木兰    时间: 2020-4-21 15:39
一天会 发表于 2020-4-21 11:42
这个传感器有问题吧

什么问题
作者: 持勤补拙    时间: 2020-4-21 22:09
谢谢楼主分享
作者: 半壁松    时间: 2020-4-22 16:07
你这个12M的晶振,单片机肯定无法设置出9600的通信波特率,我研究了很久了
作者: 半壁松    时间: 2020-4-22 16:09
12M的晶振无法得到9600的波特率,必须用11.0592才能得到,不然的话误码率有5%
作者: 有心插花花木兰    时间: 2020-4-23 00:48
半壁松 发表于 2020-4-22 16:07
你这个12M的晶振,单片机肯定无法设置出9600的通信波特率,我研究了很久了

真的吗,里面有我联系方式我可以教你
作者: 王国帅    时间: 2020-4-23 10:16
真的非常好
作者: 韦憨憨    时间: 2020-5-7 15:40
需要楼主的帮忙
作者: 有心插花花木兰    时间: 2020-5-15 21:32
韦憨憨 发表于 2020-5-7 15:40
需要楼主的帮忙

去看我之前发布的文章
作者: 有心插花花木兰    时间: 2021-6-8 19:57
欢迎加入技术交流与我交流
作者: cnnndnn    时间: 2021-6-22 00:58
stc正在摸索 学习一下
作者: kx3132478    时间: 2021-6-26 17:47
ESP8266-01S刷Sonoff BASIC串口显示:几秒一闪,如何配网?
ets Jan  8 2013,rst cause:2, boot mode:(3,2)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user2 @ 81000ets Jan  8 2013,rst cause:2, boot mode:(3,2)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user2 @ 81000




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1