资源简介
基于51单片机的ESP8266 WIFI模块 继电器控制程序源码
代码片段和文件信息
#include “60s2.h“
#include “stdarg.h“
#include “stdio.h“
#include “string.h“
u8 xdata uart1_rxbuf[40];
u8 xdata uart1_txbuf[40];
u8 xdata uart2_rxbuf[40];
u8 xdata uart2_txbuf[40];
u8 counterrcv1rcv2flag=0;
void delay(u16 z)
{
u16 xy;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
u8 key_Scan(u8 mode)
{
static u8 key_up=1;//按键按松开标志
if(mode)key_up=1; //支持连按
if(key_up&&(key1==0))
{
delay(10);//去抖动
key_up=0;
if(key1==0)
return 1;
}
else if(key1==1)
key_up=1;
return 0;// 无按键按下
}
void write_com(u8 com)//根据写时序图写出指令程序
{
rs=0;
LCD_DATA=com;
delay(5);
ea=1;
delay(5);
ea=0;
}
void write_data(u8 date)//根据写时序图写出数据程序
{
rs=1;
LCD_DATA=date;
delay(5);
ea=1;
delay(5);
ea=0;
}
void lcd_init(void)
{
P4SW|=0x70; //初始化P4端口为普通IO口
rw=0; //禁止
ea=0; //使能端为低电平
write_com(0x38);//显示模式设置
write_com(0x0c);//开显示,显示光标,光标闪烁
write_com(0x06);//地址指针自动+1且光标+1,写字符屏幕不会移动
write_com(0X01);
}
void display(u8 mode)
{
if(mode==1)
{
write_com(0X01);
write_com(0x80); //第一行
write_data(‘L‘);
write_data(‘e‘);
write_data(‘N‘);
write_data(‘g‘);
write_data(‘t‘);
write_data(‘h‘);
write_data(‘:‘);
write_data(‘0‘);
write_data(‘0‘);
write_com(0xc0); //第二行
}
else if(mode==2)
{
write_com(0x87); //第一行
write_data(rcv2/10+‘0‘);
write_data(rcv2%10+‘0‘);
}
else if(mode==3)
{
write_com(0x80); //第一行
write_data(‘W‘);
write_data(‘I‘);
write_data(‘F‘);
write_data(‘I‘);
write_com(0xc0); //第二行
write_data(‘i‘);
write_data(‘n‘);
write_data(‘i‘);
write_data(‘t‘);
write_data(‘.‘);
write_data(‘.‘);
write_data(‘.‘);
}
}
void uart1_init(void)
{
SCON = 0x50; //串口1控制寄存器 01010000 8位可变波特率,无奇偶校验位
BRT = 0xfD; //11.0592m晶振 9600波特率
AUXR = 0x15; //辅助寄存器 11 9600波特率 15 115200波特率
ES = 1; //串口1中断允许位 (打开串口1中断)
EA = 1; //开总中断
}
void uart2_init(void)
{
S2CON= 0x50; //串口2控制寄存器 01010000 8位可变波特率,无奇偶校验位
BRT = 0xfD; //11.0592m晶振
AUXR = 0x15; //辅助寄存器 11 9600波特率 15 115200波特率
IE2 = 0x01; //中断允许寄存器2 (打开串口2中断 ES2=1)
EA=1; //开总中断
}
void uart1_send(u8 i)
{
ES = 0; //串口1中断允许位 (关闭串口1中断)
TI = 0; //发送中断标志清零
SBUF = i; //将数据写入串口数据缓存
while(TI ==0); //等待发送完成
TI = 0; //发送中断标志清零
delay(1); //延时1毫秒
ES = 1; //串口1中断允许位 (打开串口1中断)
}
void uart2_send(u8 i)
{
u8 temp = 0;
IE2 = 0x00; //中断允许寄存器2 (关闭串口2中断 ES2=0)
S2CON = S2CON & 0xFD; //B‘11111101清零串口2发送完成中断请求标志
S2BUF = i; //将数据写入串口数据缓存
do
{
temp = S2CON;
temp = temp & 0x02;
}
while(temp==0); //等待发送完成
S2CON= S2CON & 0xFD; //B‘11111101清零串口2发送完成中断请求标志
IE2 = 0x01; //中断允许寄存器2 (打开串口2中断 ES2=1)
}
void uart1_recv(void) interrupt 4
{
if(RI==1) //串口1接收中断标志
{
RI = 0;
uart1_rxbuf[r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8041 2017-03-01 13:14 51wifi\60s2.h
文件 5441 2017-07-08 10:09 51wifi\main.c
文件 12822 2017-07-08 10:09 51wifi\main.LST
文件 19200 2017-07-08 10:09 51wifi\main.OBJ
文件 18146 2017-07-08 10:09 51wifi\wifi
文件 6924 2017-07-08 10:09 51wifi\wifi.hex
文件 40 2017-07-08 10:09 51wifi\wifi.lnp
文件 22198 2017-07-08 10:09 51wifi\wifi.M51
文件 4116 2017-07-08 10:19 51wifi\wifi.plg
....... 55185 2017-07-08 10:19 51wifi\wifi.uvopt
文件 13224 2017-07-06 18:39 51wifi\wifi.uvproj
....... 55185 2017-07-06 18:39 51wifi\wifi_uvopt.bak
文件 0 2017-07-06 18:17 51wifi\wifi_uvproj.bak
目录 0 2017-07-08 10:19 51wifi
----------- --------- ---------- ----- ----
220522 14
- 上一篇:sys/types.h
- 下一篇:si4432测试程序
相关资源
- esp8266 win10驱动 cp2102
- CSDN文件---ESP8266.rar
- stm32103c8t6ESP8266串口转WIFI模块TCP服务器
- ESP8266ESP8266安卓控制端源代码
- nudemcu相关工具和固件测试稳定
- 单片机通过ESP8266上传温湿度数据
- STM32F407ZG_ESP8266例程
- ESP8266最新稳定版固件
- ESP8266AP模式控制51单片机亮灯.docx
- ESP8266使用MQTT协议连接阿里云
- 贝壳物联arduino esp8266 demo版本
- ESP8266程序加上MQTT调试工具
- ESP8266_NONOS_SDK-3.0
- ESP8266+OLED屏实现天气预报+温度显示
- stm32f7的esp8266spi并口源程序,速率1.
- ESP8266连接云平台
- STM32C8T6通过扫描二维码进行智能开锁
- ESP8266微信配网以及公众号绑定
- ESP8266一键烧写工具
- 手机与ESP8266WiFi模块进行通信
- ESP8266搭建MQTT客户端源码
- STM32接入OneNET代码
- STM32-ESP8266-AT
- 毕设-基于ESP8266-12F家电控制系统设计
- 使用MSP432-ESP8266实现小车红外测距和数
- ESP8266_8285_32系列透传固件 JFirmwareESP
- ESP32、ESP8266/85增强型透传固件 JFirmw
- ESP8266-WIFI数据透传
- 基于stm32与esp8266智能家居应用
- ESP8266一键配置app端源码iOS、安卓
评论
共有 条评论