找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2624|回复: 1
打印 上一主题 下一主题
收起左侧

ESP8266智能控制 汇编程序 含e4a APP源码

[复制链接]
跳转到指定楼层
楼主
程序和APP程序都是网上找的  经过修改后就成了现在的样子   手机不经过路由和8266直连
哪位大神可以帮忙把程序和APP改成带反馈的(压缩包内带e4a文件)   
比如在手机上按了某个按键  单片机收到后再反馈一个信号  APP收到后改变按键图标
现在的不带反馈 多个按键快速按下不看接收端就不知道按下的按键有没有生效

e4a APP源码


源程序如下:
  1. ;AT+CWMODE=1  设置模式,模式说明:AT+CWMODE = :1-Station模式,2-AP模式,3-AP兼Station模式。重启后生效

  2. ;AT+CIPMUX=0   ;单路连接时发送指令为AT+CIPSEND=x , x为发送的字节数  注意只有在单连接的时候才可以设置为透传模式--就是串口的数据直接发送到网络,网络的数据直接发送到串口

  3. ;AT+CIPSTART="TCP","183.230.40.39",876

  4. ;AT+CIPSEND=50  向主机发送50个字节

  5. ;三、汇编程序如下:

  6.   ;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA




  7.                       ORG 0000H
  8.                   ;    AJMP MAIN;转入主程序
  9.                    ;   ORG 0003H ;外部中断P3.2脚INT0入口地址
  10.                     ;  RETI
  11.                     ;  ORG 000BH;中断陷阱
  12.                  ;     LJMP CT
  13.                   ;    RETI
  14.                   ;    ORG 0013H;中断陷阱
  15.                   ;    RETI
  16.                   ;    ORG 0023H
  17.                   ;    RETI

  18.                       DD1 EQU P1.0;运行状态指示
  19.                                           DD2 EQU P1.1;
  20.                                           SETB DD1;
  21.                                           SETB DD2;
  22.                                
  23.                       FLAG_0  EQU     20H.0           ;接收到上行串口发来数据标志 p3.0

  24. MAIN:                                   MOV SCon,#50h; 方式1,REN=1.SM0,SM1,SM2,REN,TB8,RB8,TI,RI
  25.                        MOV TMOD,#21H;波特率发生器T1工作在模式2上
  26.                        MOV TH1,#0FDH
  27.                        MOV TL1,TH1
  28.                        MOV PCON,#0H
  29.                        SETB TR1   ;启动定时器T1
  30.                        MOV   TH0, #0DCH   ;
  31.                         MOV   TL0, #00H
  32.                         MOV DPTR,#5000;延时5秒          ;
  33.                         LCALL DelayXmS

  34.                                        
  35. ;发送AT检测8266
  36.                         LCALL ATEOK     ;发送AT指令! 返回ok指令 检测8266是否正常               
  37.                         MOV DPTR,#5000;延时5秒
  38.                         LCALL DelayXmS
  39.                                                        
  40. ;模式设置
  41.                     ;    LCALL CWMODE;模式说明:AT+CWMODE =3 :1-Station模式,2-AP模式,3-AP兼Station模式。重启后生效     灭
  42.                                         ;        MOV DPTR,#5000;延时5秒                 #5000;延时5秒
  43.                     ;    LCALL DelayXmS                                       
  44. ///////////////////////////////////////////////////////////////
  45. ;设置模块
  46.                                             LCALL SSID;
  47.                                                 MOV DPTR,#5000;延时5秒                                               
  48.                         LCALL DelayXmS
  49.                                                  
  50. ;单链接、多连接
  51.                         LCALL CIPMUX    ;  CIPMUX=0   单路连接时(+CIPMUX=0)                多路连接时(+CIPMUX=1)
  52.                                                 MOV DPTR,#5000;延时5秒          ;
  53.                                                 LCALL DelayXmS
  54.                                                
  55. ////////////////////////////////////////////////////////////////////////
  56. ;启动TCP IP                                                                          //启动TCP/IP 实现基于网络//控制         ESP8266_Set("AT+CIPSERVER=1,5000");
  57.                                             LCALL CIPSERVER;
  58.                                                 MOV DPTR,#5000;延时5秒          ;
  59.                                                 LCALL DelayXmS
  60.                                                  
  61. ;永不超时
  62.                                                 LCALL CIPSTO;
  63.                                                 MOV DPTR,#5000;延时5秒          ;
  64.                                                 LCALL DelayXmS

  65. A1:                      MOV DPTR,#1000;延时5秒
  66.                          LCALL DelayXmS
  67.                          CLR  FLAG_0
  68.                          ORL 0A8H, #82H;允许定时器0中断
  69. A2:                      SETB TR0
  70.                          JB FLAG_0,A3  ;不为1等待,定时器0工作1分钟时会使FLAG_0=1,接收到数据使FLAG_0=1
  71.                          JB RI,UARTI
  72.                          AJMP A2
  73. ;**********************************************
  74. A3:                      CLR TR0
  75.                          AJMP A1
  76. ;**********************************************   

  77. UARTI:                  CLR TR0
  78.                         LCALL PDDA;调用串口接收0D/0A数据子程序
  79. UARTI1:                 CLR RI;清楚串口中断标志
  80.                         LCALL PDRI
  81. /////////////////////////////////////////////////////////////////////////
  82. ;+IPD,
  83.                         MOV A,SBUF
  84.                         XRL A,#2BH; +    #2BH ;+
  85.                         JNZ A2;判断串口数据是不是“+号” ;

  86. UARTI2:                 CLR RI;软件清除串口中断标记
  87.                         LCALL PDRI;等待下一个串口数据

  88.                                                 MOV A,SBUF;将串口寄存器中接收到de数据给A
  89.                         CJNE A,#49H,EXITT;判断串口数据;"I"
  90.                         CLR RI;软件清除串口中断标记          8个                  
  91.                         LCALL PDRI;等待下一个串口数据   

  92.                                                 MOV A,SBUF;将串口寄存器中接收到de数据给A
  93.                         CJNE A,#50H,EXITT;判断串口数据;"P"
  94.                                             CLR RI;软件清除串口中断标记          8个                  
  95.                         LCALL PDRI;等待下一个串口数据      

  96.                                                 MOV A,SBUF;将串口寄存器中接收到de数据给A
  97.                         CJNE A,#44H,EXITT;判断串口数据;"D"
  98.                                             CLR RI;软件清除串口中断标记          8个                  
  99.                         LCALL PDRI;等待下一个串口数据      

  100.                                                 MOV A,SBUF;将串口寄存器中接收到de数据给A
  101.                         CJNE A,#2CH,EXITT;判断串口数据;","
  102.                                             CLR RI;软件清除串口中断标记          8个                  
  103.                         LCALL PDRI;等待下一个串口数据      
  104.                                                 CLR DD2;               
  105.                                                
  106.                         MOV R3,#10;定义接收数据总长度         5
  107.                         LCALL TGSJ;调用接收串口数据子程序
  108. /////////////////////////////////////////////////////////////////////////
  109. ;解码                                                                                                
  110.                         MOV A,SBUF;将串口寄存器中接收到de数据给A
  111.                                                 CJNE A,#30H,OUT1;
  112.                                                 CPL P2.0;
  113.                                                 LJMP EXITT;

  114.                         OUT1:       CJNE A,#31H,OUT2;
  115.                                     CPL P2.1;
  116.                                                 LJMP EXITT;

  117.                         OUT2:       CJNE A,#32H,OUT3;
  118.                                     CPL P2.2;
  119.                                                 LJMP EXITT;

  120.                         OUT3:       CJNE A,#33H,OUT4;
  121.                                     CPL P2.3;
  122.                                                 LJMP EXITT;

  123.                         OUT4:       CJNE A,#34H,OUT5;
  124.                                     CPL P2.4;
  125.                                                 LJMP EXITT;

  126.                         OUT5:       CJNE A,#35H,OUT6;
  127.                                     CPL P2.5;
  128.                                                 LJMP EXITT;

  129.                         OUT6:       CJNE A,#36H,OUT7;
  130.                                     CPL P2.6;
  131.                                                 LJMP EXITT;

  132.                         OUT7:       CJNE A,#37H,EXITT;
  133.                                     CPL P2.7;
  134.                                                 LJMP EXITT;
  135. ////////////////////////////////////////////////////////////////////////////////
  136. EXITT:                  MOV DPTR,#2000;延时5秒
  137.                         LCALL DelayXmS
  138.                         CLR RI;软件清除串口中断标记,退出串口中断
  139.                                                 SETB DD2;                                          
  140.                         AJMP A1

  141. ;***************************************************
  142. ;入口参数:DPTR=MS(毫秒1-65535mS)
  143. DELAYXMS:
  144.                ; MOV WDT_CONTR ,#37H;喂狗
  145.                 MOV A,DPH
  146.                 MOV R7,#01
  147.                 JZ DF1
  148.                 MOV R7,DPH
  149. DF1:            MOV A,DPl
  150.                 MOV R6,#1
  151.                 JZ DEL1
  152.                 MOV R6,DPl
  153. DEL1:           MOV B,#0
  154.                 DJNZ B,$
  155.                 DJNZ B,$
  156.                 DJNZ R6,DEL1
  157.                 DJNZ R7,DF1
  158.                 RET
  159. ////////////////////////////////////////////////////
  160. ;********************************************** 0891683108403505F011000D91683131868651F8 0008000854084E0A75356E90
  161. //AT+CWSAP="wifi","123456789",11,4  设置模块SSID:WIFI, PWD:密码 及安全类型加密模式(WPA2-PSK)
  162. SSID:
  163. ;AT+CWSAP=
  164.                 MOV  DPTR,#SSIDTAB0  
  165.                             MOV  R4,#9
  166.                             LCALL TABS;      查表

  167.                             MOV A,#22H   ;                "
  168.                             LCALL FS
  169. ;用户名
  170.                             MOV  DPTR,#SSIDTAB1
  171.                             MOV  R4,#8                                         ;修改用户名后用户名几位就改几
  172.                             LCALL TABS;      查表
  173.                             
  174.                             MOV A,#22H   ;                "
  175.                                 LCALL FS
  176.                                 MOV A,#2CH   ;                ,
  177.                                 LCALL FS
  178.                                 MOV A,#22H   ;                "
  179.                                 LCALL FS
  180. ;密码                                 
  181.                             MOV  DPTR,#SSIDTAB2
  182.                             MOV  R4,#8                                          ;修改密码后密码几位就改几
  183.                             LCALL TABS;      查表

  184.                                    MOV A,#22H   ;                "
  185.                                 LCALL FS
  186. ;信道  模式
  187.                             MOV  DPTR,#SSIDTAB3
  188.                             MOV  R4,#5                                           ;信道1位改4  信道2位改5
  189.                             LCALL TABS;      查表
  190.                                
  191.                             LCALL HCOK;
  192.                                 RET;
  193. ////////////////////////////////////////////////////////////////////////////////////
  194. //启动TCP/IP 实现基于网络//控制         ESP8266_Set("AT+CIPSERVER=1,5000");  
  195. CIPSERVER:
  196.                             MOV DPTR,#CIPSERVERTAB;
  197.                             MOV  R4,#19
  198.                             LCALL TABS;      查表
  199.                             LCALL HCOK;
  200.                                 RET;
  201. ////////////////////////////////////////////////////////////////////////////////////////
  202. //开启多连接模式,允许多个各客户端接入
  203. CIPMUX:                    MOV DPTR,#CIPMUXTAB;
  204.                             MOV  R4,#11
  205.                             LCALL TABS;      查表
  206.                 LCALL HCOK;
  207.                                 RET;
  208. ////////////////////////////////////////////////////////////////////////////////////       
  209. //发送 AT+CWMODE=1 设置路由器模式1 station,模式2 AP,模式3 station+AP混合模式  
  210. CWMODE:             MOV DPTR,#CWMODETAB;
  211.                             MOV  R4,#11
  212.                             LCALL TABS;      查表
  213.                             LCALL HCOK;
  214.                                 RET;
  215. /////////////////////////////////////////////////////////////////////////////////
  216. //永远不超时  发送AT+CIPSTO=0
  217. CIPSTO:                        MOV DPTR,#CIPSTOTAB;
  218.                             MOV  R4,#11
  219.                             LCALL TABS
  220. //////////////////////////////////////////////////////
  221. HCOK:
  222.                                 LCALL HC;回车!
  223.                 MOV R2,#15
  224. HCOK0:          LCALL PDOK;判断手机shi否回答OK?
  225.                 XRL A,#0FFH
  226.                 JZ HCOK1;如果没有检测到OK,重复发
  227.                 DJNZ R2,HCOK0
  228. HCOK1:          RET
  229. /////////////////////////////////////////////////////////////////////////////////////                    
  230. TABS:                        
  231. DDD:            CLR  A
  232.                 MOVC A,@A+DPTR
  233.                 INC  DPTR
  234.                                 LCALL FS
  235.                 DJNZ R4,DDD
  236.                 RET
  237. /////////////////////////////////////////////////////////////////////////////////
  238. SSIDTAB0:      DB "AT+CWSAP="                                 // AT+CWSAP="wifi","123456789",11,4  设置模块SSID:WIFI, PWD:密码 及安全类型加密模式(WPA2-PSK)
  239. SSIDTAB1:      DB "WIFI_LED"                                 // 用户名
  240. SSIDTAB2:      DB "12345678"                                 //        密码
  241. SSIDTAB3:      DB ",11,4"                                         //        信道和加密模式
  242. CIPSERVERTAB:  DB "AT+CIPSERVER=1,5000"             // 启动TCP/IP 实现基于网络//控制         ESP8266_Set("AT+CIPSERVER=1,5000");  
  243. CIPMUXTAB:     DB "AT+CIPMUX=1"                             // 开启多连接模式,允许多个各客户端接入
  244. CWMODETAB:     DB "AT+CWMODE=3"                                 // 发送 AT+CWMODE=1 设置路由器模式1 station,模式2 AP,模式3 station+AP混合模式
  245. CIPSTOTAB:     DB "AT+CIPSTO=0"                                 // 永远不超时  发送AT+CIPSTO=0


  246. $INCLUDE (ATEOK.ASM)
复制代码

51hei截图20201217144058.png (146.74 KB, 下载次数: 29)

51hei截图20201217144058.png

51hei截图20201217145042.png (16.67 KB, 下载次数: 22)

51hei截图20201217145042.png

51hei截图20201217145009.png (34.87 KB, 下载次数: 26)

51hei截图20201217145009.png

WiFi智能控制 - 汇编.rar

1.12 MB, 下载次数: 81, 下载积分: 黑币 -5

评分

参与人数 1黑币 +80 收起 理由
admin + 80 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:250820 发表于 2021-2-11 20:09 | 只看该作者
我有带反馈的一套资料,是我自己做的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表