0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

esp8266加入到c51单片机单通道程序的编写

汽车玩家 来源:CSDN 作者:CSDN 2021-07-08 17:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ESP8266连接本地服务器的51单片机汇编程序

at89c2051单片机,晶振11.096MHZ,通讯速率9600,TCP多连接方式,本地连接地址192.168.1.107,收发数据成功

汇编程序如下:

这是main.c

#include

#include

#include "usart.h"

#include "wifi.h"

char Recive_table[20]=""; //接收缓冲,最大20个字节

char Recive_state = 0; //接收完成标志

int main (void)

{

/********************功能初始化***********************/

Uart_Init();//串口初始化,波特率为9600

ms_delay(1000) ;

WIFI_Init(); //wifi初始化

/****************************************************/

/**********************主循环************************/

for(;;)

{

ms_delay(10) ;

if(Recive_state == 1)

{

ES=0; //清空接收标志位

if((Recive_table[0]=='+')&&(Recive_table[1]=='I')&&(Recive_table[2]=='P'))//接收到的字符串形式为+IPD,x,x:y

{

if((Recive_table[3]=='D')&&(Recive_table[6]==','))

{

if(Recive_table[9]=='0')

P1 = 0;

if(Recive_table[9]=='1')

P1 = 0xff;

}

}

memset(Recive_table,'\0',20);

Recive_state = 0;

ES=1; //打开接收标志位

}

}

/****************************************************/

}

/******************************************************************

函 数: void Uart_Interrupt() interrupt 4

功 能: 串口中断函数,将收到的字符存到Recive_table[]数组中

参 数: 无

返回值: 无

*******************************************************************/

void Uart_Interrupt() interrupt 4

{

static char i=0; //因为是一位一位接收,所以用static

if(RI==1)

{

ES = 0;

RI=0;

Recive_table[i]=SBUF;

i++;

if((Recive_table[i-1] == '\n'))

{

Recive_table[i]='\0';

i=0;

Recive_state = 1;

}

ES = 1;

}

else

TI = 0;

}

这是usart.c

#include "usart.h"

/******************************************************************

函 数: void Uart_Init(void)

功 能: 串口初始化,波特率为9600(这个不会,上网百度)

参 数: 无

返回值: 无

*******************************************************************/

void Uart_Init(void)

{

TMOD=0x20;

TH1=0xfD;

TL1=0xfD;

TR1=1;

REN=1;

SM0=0;

SM1=1;

EA=1;

ES=1;

}

这是wifi.c

#include

#include "wifi.h"

/******************************************************************

函 数: void ms_delay(int t)

功 能: 毫秒级延时

参 数: 无

返回值: 无

*******************************************************************/

void ms_delay(int t)

{

int i,j;

for(i=t;i>0;i--)

for(j=110;j>0;j--);

}

/******************************************************************

函 数: void LED(void)

功 能: 发送完命令后显示用的函数

参 数: 无

返回值: 无

*******************************************************************/

void LED(void)

{

P1 = 0;

ms_delay(100);

P1 = 0xff;

ms_delay(100);

}

/******************************************************************

函 数: void WIFI_Init(void)

功 能: wifi初始化(名字:esp8266;密码:1234567890)

参 数: 无

返回值: 无

*******************************************************************/

void WIFI_Init(void)

{

ES = 0;

TI = 1;

printf("AT+RST\r\n");

LED();

ms_delay(1000) ;

printf("AT+CWMODE=3\r\n");

LED();

ms_delay(1000) ;

printf("AT+CIPMUX=1\r\n");

LED();

ms_delay(1000) ;

printf("AT+CIPSERVER=1,8080\r\n");

LED();

ms_delay(1000) ;

while(!TI);

TI = 0;

ES = 1;

}

文章综合来源:CSDN

编辑:ymf

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C51单片机
    +关注

    关注

    12

    文章

    164

    浏览量

    36008
  • ESP8266
    +关注

    关注

    51

    文章

    966

    浏览量

    48996
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    【应用】国产26MHz频率晶振应用于物联网WIFI物联网模块(串口转WiFi模块),Espressif(乐鑫)ESP8285/ESP8266芯片匹配测试OKESP8285其实是ESP8266的升级版
    的头像 发表于 11-21 15:37 4042次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    C语言和单片机C语言有什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于C语言的单片机编程。
    发表于 11-14 07:55

    ESP8266ESP32开发板常见的2种下载方式

    至240MHz CPU,而ESP8266是单核处理器,主频支持80MHz至160MHZ。 这些WiFi模块都带有GPIO,支持SPI,I2C,UART等各种协议。这两款芯片都有STA/AP/STA+AP的工作模式。E...
    的头像 发表于 11-10 20:30 311次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP</b>32开发板常见的2种下载方式

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序

    请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行
    发表于 09-17 12:06

    单片机怎么烧程序

    单片机程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是
    的头像 发表于 07-23 11:47 644次阅读

    AT89C51 单片机中文资料

    电子发烧友网站提供《AT89C51 单片机中文资料.pdf》资料免费下载
    发表于 06-24 15:29 1次下载

    单片机原理及应用

    本书全面系统地介绍了 MCS-51 系列单片机的基本结构、工作原理及应用技术。主要内容包括:微型计算机的基础知识、MCS-51 单片机的基本结构、汇编语言和
    发表于 06-16 16:58

    单片机C语言入门指导(非常通俗易懂!)

    , 显而易见的问题出来了: 我要选择那种语言为 单片机编写程序呢? 这个问题,困扰了我好久。具 体选择 C51 还是 A51 呢?汇编在我们大二之前并没有开过课, 虽然看着人家的讲
    发表于 06-16 16:32

    2.4寸TFT彩屏配套测试程序-51单片机

    如题,2.4寸TFT彩屏配套测试程序-51单片机
    发表于 06-04 16:26 0次下载

    单片机实例项目:ESP8266串口WIFI

    单片机实例项目:ESP8266串口WIFI,推荐下载!
    发表于 06-03 21:01

    ESP8266烧录与机智云一键配网教程

    ESP8266模块因其低成本和高性能,广泛应用于智能家居和工业自动化等领域。机智云平台提供了一键配网功能,简化了设备的联网过程。本教程将详细介绍如何使用ESP8266进行烧录,并通过机智云实现一键配
    的头像 发表于 05-24 11:04 1547次阅读
    <b class='flag-5'>ESP8266</b>烧录与机智云一键配网教程

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    1.6 单片机C51基础知识介绍 1.6.1 利用C语言开发单片机的优点 1.6.2 C51中的基本数据类型 1.6.3
    发表于 04-15 13:57

    51单片机C语言学习笔记

    c51语言快速入门
    发表于 03-24 14:04 3次下载

    STM32和ESP32应该学哪个

    等等,市场占有率也很高。 ESP32相对年轻了不少,满打满算也不到 10 岁,他的前身,还得从 ESP8266 说起,都属于乐鑫科技的产品。 如果你用单片机做过一些物联网产品,那多多少少应该听过
    的头像 发表于 02-18 09:52 1114次阅读

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 2次下载