ESP8266连接本地服务器的51单片机汇编程序
本例采用at89c2051单片机,晶振11.096MHZ,通讯速率9600,TCP多连接方式,本地连接地址192.168.1.107,收发数据成功。
一、硬件电路如下图
二、下面是常见的AT命令:
;服务器模式
;AT+CIPMUX=1
允许多个客户端连接,当然模块最多允许5个客户端连接(每个客户端对应一个id号,0--4)。也是必须设定的,不然配置为服务器会出错
;AT+CIPSERVER=1,5000 创建服务器
;AT+CIPSERVER=1,8080
;AT+CIPSEND=0,6
;AT+CIFSR
查询模块IP地址
;AT+CIPSTATUS
查询模块连接状态
;客户端模式
;AT+CWMODE=1 设置模式,模式说明:AT+CWMODE
= :1-Station模式,2-AP模式,3-AP兼Station模式。重启后生效
;AT+CIPMUX=0 ;单路连接时发送指令为AT+CIPSEND=x
, x为发送的字节数
注意只有在单连接的时候才可以设置为透传模式--就是串口的数据直接发送到网络,网络的数据直接发送到串口
;AT+CWJAP="LOVE","recon2012"
;AT+CIPSTART="TCP","192.168.1.8",8080
;AT+CWLAP
列出当前可用
AP
;AT+CIPSEND=8 向主机发送8个字节
;设置模块ip,发送AT+CIPSTA="192.168.1.110";响应;AT+CIPSTA="192.168.1.110"
busy p... 2,CONNECT
OK
;AT+CWSAP="TEST","12345678",1,3
创建热点
;AT+CWLIF
查看在线IP列表
三、汇编程序如下:
ORG 0000H
AJMP
MAIN;转入主程序
ORG
0003H ;外部中断P3.2脚INT0入口地址
RETI
ORG
000BH;
LJMP
CT
RETI
ORG
0013H;中断陷阱
RETI
ORG
0023H
RETI
DD
EQU P1.7;运行状态指示
FLAG_0 EQU 20H.0
;接收到上行串口发来数据标志p3.0
FLAG_3 EQU 20H.3 ;00分标志
;FLAG EQU 20H.4 ;通用标志寄存器
HM EQU 21H ;定时器毫秒存储
YEAR EQU 22H ;年
MONTH EQU 23H ;月
DAY EQU 24H ;日
WEEK EQU 25H ;星期
HOUR EQU 26H ;小时3031
MINUTE EQU 27H ;分钟3233
SECOND EQU 28H ;秒3435
MAIN:
MOV
SCon,#50h;
MOV
TMOD,#21H;波特率发生器T1工作在模式2
MOV
TH1,#0FDH ;波特率9600
MOV
TL1,TH1
MOV
PCON,#0H
SETB
TR1 ;启动定时器T1
MOV TH0,
#0D0H ;
MOV TL0,
#00H
MOV
DPTR,#5000;延时5秒;
LCALL
DelayXmS
LCALL
ATEOK ;发送AT
MOV
DPTR,#5000;延时5秒
LCALL
DelayXmS
LCALL
CWMODE;
MOV
DPTR,#5000;延时5秒
LCALL
DelayXmS
LCALL
CIPMUX ; CIPMUX=1启动多路连接模式
MOV
DPTR,#5000;延时5秒;
LCALL
DelayXmS
CALL
CIPSTART;建立TCP连接*
MOV
DPTR,#5000;延时5秒
LCALL
DelayXmS
CALL
CIPSEND ;发送数据
CALL
CIPSEND100
MOV
DPTR,#5000;延时5秒
LCALL
DelayXmS
CALL
CIPSEND ;发送数据,
CALL