无线wifi模块-51单片机-C语言程序_第1页
无线wifi模块-51单片机-C语言程序_第2页
无线wifi模块-51单片机-C语言程序_第3页
无线wifi模块-51单片机-C语言程序_第4页
无线wifi模块-51单片机-C语言程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 无线无线 WIFIWIFI 模块模块 ESP8266ESP8266 和和 5151 单片机单片机 实现实现 LEDLED 灯的无线控制灯的无线控制 一 关于 51 单片机和无线 WIFI 模块的接线方面 RXD TXD GND 和 51 单片机的 TXD RXD GND 接好 模块其他引脚均为高电平 电源 VCC 是 3 3V 左右 两节 1 5v 干电池 本人由于没有稳压模块 偷懒了当时使用 5V 的直流源 测试结果目前没有问题 不过不建议啊 二 关于安卓手机方面 测试时可以使用 网络调试助手 下载这个 app 安装在手机即可 发送数字 1 表示小灯亮 0 表示灯灭 后续想深入的话可以自己开发安卓 app 软件 三 参数设置 由于参数的设置方法和步奏网上资料很全 这里提供相关的网址自行参考 Uart WUart Wi iFiFi 模块模块 ESP8266ESP8266 把玩记把玩记 ta ai ils 40392385ls 40392385 物联网物联网 wifiwifi 模块工作模块工作的的 STASTA 和和 APAP 模模式详细介绍式详细介绍 http www hx 四 资料可能存在不足之处 仅作参考 题目 基于 STC12C560S2 单片机无线 WIFI 模块控制 内容 通过 MCU 上位机对 ESP8266wifi 模块的控制和设置 实现手机端控制 LED 灯 的亮灭 精品文档 2欢迎下载 注意 该型号单片机是普通 89C51 单片执行速度的 12 倍 内含 RAM1280 字节 ROM 为 60K PCA 计数器 PWM 发生模块 ADC 转换模块等 晶振一定是 11 0592MHz include 包含头文件 define uint unsigned int define uchar unsigned char define RELOAD COUNT 0 xFA 宏定义波特率发生器的载入值 define RELOAD COUNT 256 11520000 16 12 9600 也可以或波特率 9600 256 晶振频率 波特率 x16 BRT LED 灯对应 P0 口的 1 个端口 sbit LED0 P3 2 波特率发生器相关功能寄存器的定义 sfr AUXR 0 x8E sfr BRT 0 x9C sfr AUXR1 0 xA2 相关变量 uchar Receive i uint n uchar Recive table 15 用于接收 wifi 模块反馈到 MCU 上的数据 名称 延时函数 作用 毫秒级延时 微妙级延时函数 为数据收发完成作等待 void ms delay uint t uint i j for i t i 0 i for j 110 j 0 j void us delay uchar t while t 名称 波特率发生器函数 作用 波特率发生器可以是 T1 定时器实现 也可以是 MCU 内部独立的波特率发生器 各自不同的载入值计算式 具体根据寄存器相关设置来参考计算 以实现 异步串行通讯 经测试 两种设置方式均可用 可任选一种 精品文档 3欢迎下载 void Uart Init 使用定时器 1 作为波特率发生器 STC89C52 STC89C51 AT89C51 或者 STC12C560S2 等均可 SCON 0 x50 设置为串行口以方式 1 工作 8 位异步通讯 允许接收中断 一帧信息为 10 位 1 位起始位 8 位数据位 低位在先 1 位停止位 PCON 0 x80 SMOD 波特率选择位为 1 SMOD 1 TMOD 0 x21 设置定时器 1 为波特率发生器 工作在模式 2 8 位自动装载 TH1 RELOAD COUNT 波特率 9600 TH1 256 FOSC 16 12 波特率 TL1 TH1 EA 1 总中断打开 ES 0 关闭串口中断 TR1 1 启动定时器 1 void Uart Init 使用独立的波特率发生器 STC12C560S2 或带有独立波特率发生器 的单片机均可 SCON 0 x50 设置为串行口以方式 1 工作 8 位异步通讯 允许接收中断 PCON 0 x80 SMOD 波特率选择位为 1 SMOD 1 BRT RELOAD COUNT 波特率 9600 256 晶振频率 波特率 x16 BRT AUXR 0 xD5 T0 T1 不 12 分频 速度是 89C51 的 12 倍 启动独立波特率 发生器 每个时钟计数一次 设置串口 1 的波特率发生器为独立波特率发生器 AUXR1 0 x80 切换到 P1 口 ES 1 开启串口中断 EA 1 开启总中断 名称 串口发送函数 功能 MCU 向其他与其连接的设备发送数据 此处是无线 WIFI 模块 ESP8266 void Send Uart uchar value ES 0 关闭串口中断 TI 0 清发送完毕中断请求标志位 SBUF value 发送 while TI 0 等待发送完毕 TI 0 清发送完毕中断请求标志位 ES 1 允许串口中断 精品文档 4欢迎下载 名称 WIFI 模块设置函数 作用 启动模块 以便可以实现无线接入和控制 void ESP8266 Set uchar puf 数组指针 puf 指向字符串数组 while puf 0 遇到空格跳出循环 Send Uart puf 向 WIFI 模块发送控制指令 us delay 5 puf us delay 5 Send Uart r 回车 us delay 5 Send Uart n 换行 ms delay 1000 名称 ESP8266 发送数据函数 功能 用于与 wifi 模块相连的终端发送数据 void ESP8266 Sent uchar puf 数组指针 puf 指向字符串数组 ESP8266 Set AT CIPSEND 0 4 while puf 0 遇到空格跳出循环 Send Uart puf 向 WIFI 模块发送控制指令 us delay 5 puf us delay 5 Send Uart n 换行 ms delay 10 名称 主函数 作用 程序的执行入口 void main LED0 0 关闭 LED 灯 Uart Init 使用独立的波特率发生器 ESP8266 Set AT CWMODE 2 设置路由器模式 1 station 模式 2 AP 点 路由器模式 3 station AP 混合模式 精品文档 5欢迎下载 ESP8266 Set AT RST 重新启动 wifi 模块 ESP8266 Set AT CWSAP WIFI 1234567890 11 4 设置模块 SSID WIFI PWD 密码 及安全类型加密模式 WPA2 PSK ESP8266 Set AT CIPMUX 1 开启多连接模式 允许多个各客户端接入 ESP8266 Set AT CIPSERVER 1 5000 启动 TCP IP 端口为 8080 实现基于网络 控制 ES 1 允许串口中断 while 1 if Recive table 0 0 灯灭 ESP8266 Sent 灯灭 wifi 模块向 pc 端或手机端 发送 灯灭 else if Recive table 9 1 LED0 1 1 灯亮 ESP8266 Sent 灯亮 wifi 模块向 pc 端或手机端 发送 灯 亮 名称 串行通讯中断 作用 发送或接收结束后进入该函数 对相应的标志位软件清 0 实现模块对数 据正常的收发 void Uart Interrupt interrupt 4 static uchar i 0 if RI 1 RI 0 Receive SBUF MCU 接收 wifi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论