#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit CS=P1^3; //CS定义为P1口的第3位脚,连接ADC0832CS脚
sbit CLK=P1^4; //CLK定义为P1口的第4位脚,连接ADC0832CLK脚
sbit DO=P1^5; //DO定义为P1口的第5位脚,连接ADC0832DO和DI脚
sbit LED = P3^2; //报警LED灯IO口定义
uchar shidu; //定义湿度值
uchar sd_high = 70,sd_low = 60; //湿度初始参数
sbit dianji = P1^6; //水泵IO口定义
uint flag_300ms ; //定义300毫秒的变量
uchar key_can; //按键值
uchar menu; //功能菜单
uchar flag_en = 1; //手动取消报警
sbit key1 = P3^3; //按键1
sbit key2 = P3^4; //按键2
sbit key3 = P3^5; //按键3
bit sd_sd; //手动模式
uchar Rxbuff[6],Rxnum; //WIFI接收数据
uchar Tx_Buf[15]; //WIFI发送数据
bit flag_s_en; //WIFI接收完成的变量
sbit rs=P1^0; //1602数据/命令选择引脚 H:数据 L:命令
sbit rw=P1^1; //1602读写引脚 H:数据寄存器 L:指令寄存器
sbit e =P1^2; //1602使能引脚 下降沿触发
void delay_uint(uint q) //定义一个小延时
{
while(q--);
}
void write_com(uchar com)
{
rs=0; //写命令
rw=0; //对1602写操作
P0=com; //P0口对1602写命令数据
delay_uint(25);
e=1; //e=1使能信号
delay_uint(100); //延时一下等1602完成操作
e=0;
}
void write_data(uchar dat)
{
rs=1; //写数据
rw=0; //对1602写操作
P0=dat; //P0口对1602写数据
delay_uint(25);
e=1; //使能信号
delay_uint(100); //延时等1602完成操作
e=0;
}
void write_lcd2(uchar hang,uchar add,uint date)
{
if(hang==1)
write_com(0x80+add); //1602写第一行的地址
else
write_com(0x80+0x40+add); //1602写第二行的地址
write_data(0x30+date/10%10); //十位数
write_data(0x30+date%10); //个位数
}
void write_string(uchar hang,uchar add,uchar *p)
{
if(hang==1)
write_com(0x80+add); //1602第一行的地址
else
write_com(0x80+0x40+add); //1602第二行的地址
while(1)
{
if(*p == '\0') break; //\0字符串的结尾标志 break结束while循环 结束写字符
write_data(*p); //写数据
p++;
【求助】关于使用ESP01S做直连手机TCP助手遇到的问题
最新推荐文章于 2023-08-20 11:57:37 发布
博主在尝试使用ESP01S模块通过TCP连接与手机TCP助手进行通信时遇到问题,发送特定字节序列(T1T2T3T4)未收到单片机响应。已排除硬件故障,怀疑是程序代码存在错误。
摘要由CSDN通过智能技术生成