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

📄 sjtx1.asm

📁 双机串行通讯源程序(汇编),文件关联可以修改,默认为DXP2004
💻 ASM
字号:
org   0000h
        ;mov  r3,#40h
MAIN:    MOV  TMOD,#20H         ;T1初始化
         MOV  TH1,#0e8H
         MOV  TL1,#0e8H
         ;CLR  ES
         SETB TR1

         MOV  SCON,#50H          ;串行口初始化
         MOV  PCON,#80H
FMT_RAM: MOV  DPH,#31H           ;设置DPTR地址
         MOV  DPL,#30H
         MOV  R6,#00H            ;校验和寄存器清零
RX_ACK:  JBC  RI,IF_06H               ;接收呼叫信号
         SJMP RX_ACK
IF_06H:  MOV  A,SBUF             ;判断呼叫信号是否有误
         ;mov  r6,a
         CJNE A,#06H,TX_15H
TX_00H:  MOV  A,#00H             ;向甲机回送同意接收信号
         MOV  SBUF,A
WAIT1:   JBC  TI,RX_BYTES        ;等待应答信号发送完
         SJMP  WAIT1
TX_15H:  MOV  A,#15H             ;向甲机报告接收呼叫信号不正确
         MOV  SBUF,A
WAIT2:   JBC  TI,HAVE2
         SJMP WAIT2
;HAVE1:   LJMP RX_ACK
RX_BYTES:JBC  RI,HAVE2           ;接收数据块长度
         SJMP RX_BYTES
HAVE2:   MOV  A,SBUF             ;给长度寄存器赋值
         MOV  R7,A
         MOV  R6,A               ;形成累加器和
RX_NEWS: JBC  RI,HAVE3           ;接收数据
         SJMP RX_NEWS
HAVE3:   MOV  A,SBUF             ;将接收到的数据存入外部RAM
         MOVX  @DPTR,A
         INC  DPTR
         ADD  A,R6               ;形成累加和
         MOV  R6,A
         DJNZ  R7,RX_NEWS        ;判断数据是否接收完毕
RX_SUM:  JBC  RI,HAVE4           ;接收数据校验和
         SJMP RX_SUM
HAVE4:   MOV  A,SBUF             ;判断传送是否正确
         MOV  40H,R6
         CJNE A,40H,TX_ERR
TX_RIGHT:MOV  A,#0FH            ;向甲机报告传送正确
         MOV  SBUF,A
WAIT3:   JBC  TI,good
         sJMP  wait3
TX_ERR:  MOV  A,#0F0H           ;向甲机报告传送有误
         MOV  SBUF,A
WAIT4:   JBC  TI,GOOD
         SJMP WAIT4
AGAIN:   LJMP FMT_RAM           ;返回重新接收数据状态
GOOD:    MOV  R4,#12H
         CLR  P3.5
         CLR  P3.4
         ACALL DL1MS
         SETB  P3.5
         SETB  P3.4
         ACALL DL1MS
         DJNZ  R4,GOOD
         RET;JMP  GOOD

DL1MS:   MOV R0,#12H
LP:      MOV R1,#0FFH
LP1:     NOP
         NOP
         DJNZ R1,LP1
         DJNZ R0,LP
         RET

         END


⌨️ 快捷键说明

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