从机通讯程序.asm

来自「开发平台,任一MCS-51单片机上,很多程序,如键盘,显示,液晶驱动」· 汇编 代码 · 共 72 行

ASM
72
字号
       address EQU 30H;从机地址
       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
       MOV  TH1,  #0F3H
       MOV  TL1,  #0F3H
       MOV  PCON, #80H
       MOV  SCON, #0F0H
       SETB EA
       SETB TR1
       SETB ES
       MOV  08H,  #SADD
       MOV  0CH,  #BITLONG
       ;SETB 20.0H
       ;SETB 20.1H
MAIN:  SJMP MAIN
;******接收中断程序******
INSER0:CLR  RI
       PUSH A
       PUSH PSW
       MOV  PSW,  #80H
       ;JB   20.0, ISADDR
       ;JB   20.1, ISBYTE
;*******接收数据********
ISDATA:;MOV  R0,   #SADD
       MOV  A,    SBUF
       MOV  @R0,  A
       INC  R0
       DJNZ R4,  RETURN
       ;SETB 20.0H
       ;SETB 20.1H
       SJMP RETURN
;*******验证本机地址*******
ISADDR:MOV  A,    SBUF
       CJNE A,    #myself, RETURN
       MOV  SBUF, #01H;相符,发回答信号01(本机号)
       JNB  TI,   $;以触发主机继续发送数据
       CLR  TI
       ;CLR 20.0H
       CLR  SM2
       SJMP RETURN
;*************************       
RETURN:POP  PSW
       POP  A
       RETI
       
       
       
       
       
       
       
       
       
;*******接收数据桢长度*****
;ISBYTE:MOV  A,    SBUF
       ;MOV  R0,   ##
       ;MOV  @R0   A
       ;MOV  2FH,  A
       ;MOV  2EH,  #61H
       ;CLR  20.1H



⌨️ 快捷键说明

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