text.asm

来自「C和ASM编写的用定时做的模拟串口程序.」· 汇编 代码 · 共 54 行

ASM
54
字号
;20MHZ BAUD:38400
 TXD BIT P1.0
  RXD BIT P1.1
  SEND EQU 50H
  REVE EQU 51H
  ORG 0000H
  AJMP MAIN
  ORG 0003H
  AJMP ITOP
  ORG  0100H
MAIN:SETB EA
     SETB EX0
     SETB RXD;;P1.0 置高
     MOV A,#0E8H
     LCALL INPUT;调用发送子程序,将寄存器A 中内容发给PC 机
     SETB TXD;;P1.1置高          
     SJMP $
     
;******延时833μs 子程序*****
DEL833: MOV R7 ,#125;10u
  MS13: DJNZ R7,MS13
        RET
        
;**** 89C5 1发送数据给PC 机子程序****
INPUT:  CLR  C
  MOV TXD,C ;发送起始位
  LCALL DEL833; ;延时
  MOV R3,#8
REP:    RRC  A
   MOV   TXD ,C
   LCALL DEL833
   DJNZ R3,REP ;发送8 位数据
   SETB C ;发送停止位
   MOV TXD,C
   LCALL DEL833
   RET
;******** 从PC 机接收数据子程序********
OUTPUT:JB RXD, $;  ;判断是否有起始位出现
       LCALL DEL833
       MOV R3,#8
  OUT: MOV C ,RXD
       RRC A
       LCALL DEL833
       DJNZ R3,OUT; ;接收8 位数据
       JNB RXD ,$; ;判断是否有停止位出现
       RET
       
 ITOP:  LCALL OUTPUT;;调用接收子程序
        MOV REVE,A
        MOV A,REVE
        LCALL INPUT
        RETI            
       END

⌨️ 快捷键说明

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