⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 从机接收子程序.asm

📁 开发平台,任一MCS-51单片机上,很多程序,如键盘,显示,液晶驱动
💻 ASM
字号:

       myself  EQU 31H;本机地址
       sadd    EQU 32H;接收数据地址指针
       bitlong EQU 33H;数据块长度
       ORG   0000H
       AJMP  START
       ORG   0023H
       LJMP  INSER0
       ORG   0030H
START: MOV  SP,   #60H
       MOV  TMOD, #20H ;定时/计数器1,工作方式2
       MOV  TH1,  #0F3H;波特率2400
       MOV  TL1,  #0F3H
       MOV  PCON, #80H ;设置SMOD=1
       MOV  SCON, #0F0H;设置串行方式3,允许接收,SM2=1
       SETB EA         ;开中断
       SETB TR1        ;启动定时/计数器1
       SETB ES         ;允许串行中断
       MOV  08H,  #SADD
       MOV  0CH,  #BITLONG
       SETB 20H.0
       SETB 20H.1
MAIN:  SJMP MAIN
;******接收中断程序******
INSER0:CLR  RI
       PUSH A
       PUSH DPH
       PUSH DPL
       PUSH PSW
       MOV  PSW,  #80H;在第二个工作区
       JB   2FH.0, ISADDR
       JB   2FH.1, ISBYTE
;*******接收数据********
ISDATA:MOV  R0,   #SADD;接收数据地址指针
       MOV  A,    SBUF
       MOV  @R0,  A
       INC  R0
       DJNZ R4,  RETURN
       SETB 2FH.0H
       SETB 2FH.1H
       SJMP RETURN
;*******验证本机地址*******
ISADDR:MOV  A,    SBUF
       CJNE A,    #MYSELF, RETURN
       CLR  2FH.0H
       CLR  SM2  ;设置为可接收数据状态,
       SJMP RETURN
;*******接收数据桢长度*****
ISBYTE:MOV  A,    SBUF
       MOV  BITLONG,   A;数据块长度
       CLR  2FH.1
;*************************
RETURN:POP  PSW
       POP  DPL
       POP  DPH
       POP  A
       RETI       



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -