serial_communication+80c196mcu.asm

来自「80C196系列单片机的串行口通信程序」· 汇编 代码 · 共 41 行

ASM
41
字号
          org    2030h
          DW     TI
          org    2032h
          DW     RI
          org    2080h
          ld     dx, #0a000h
          ldb    ah, #0ffh
          stb    ah, [dx]
          ld     sp, #0100h         ;设置堆栈
          orb    IOC1, #20h         ;设定P2.1为RXD
          ldb    baud_rate, #4Dh    ;设波特率为2400
          ldb    baud_rate, #80h
          ldb    sp_con, #09h       ;允许接收,方式1
          stb    sbuf,40h           ;清缓冲器
          di                        ;关中断
          orb    int_mask, #40h     ;开中断
          andb   INT_PEND, #10111111B        ;清中断挂号
loop1:
          ldb    al, #01h
          ldb    ah, #8
loop:
          stb    al, sbuf
          ldb    bl, sbuf
          not    bl
          stb    bl, [dx]
          call   delay
          shlb   al, #1
          djnz   ah, loop
          sjmp   loop1
delay:
          ld     cx, #0ffffh
dloop:
          djnz   cl, dloop
          djnz   ch, dloop
          ret
TI:
          ret
RI:
          ret
          end

⌨️ 快捷键说明

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