南邮微机系统串行口的测试

1:完成串口测试环境,编写程序对微机系统的串口进行查询方式自发自收内环测试。

2:在查询方式的基础上,设计查询发送,中断方式接收的串行通信内环自发自收方式测试。

串行通信编程源码:

.486
        DATA  SEGMENT     USE16
         BUF  DB     'B20012918'
        LENS  EQU     $-BUF
       COUNT  DW     0

        DATA  ENDS    
              ;---------------------------------------------------------
        CODE  SEGMENT     USE16
              ASSUME     CS: CODE, DS: DATA
        BEG:  MOV     AX, DATA
              MOV     DS, AX
              CALL     I8250
              MOV     CX, LENS
              MOV     BX, 0
      SCANT:  MOV     DX, 3FDH
              IN     AL, DX
              TEST     AL, 20H        ; 00100000
              JZ     SCANT          ; 判断D5=1否?
              MOV     DX, 3F8H       ;发送保持寄存器
              MOV     BX, COUNT
              MOV     AL, [BUF+BX]
              INC     COUNT
              OUT     DX, AL
              ;---------------------------------------------------------              
      SCANR:  MOV     DX, 3FDH
              IN     AL, DX
              TEST     AL, 30H
              TEST     AL, 01H       
              JZ     SCANR
              MOV     DX, 3F8H
              IN     AL, DX
              MOV     DL, AL
              MOV     AH, 02H
              INT     21H
              LOOP     SCANT
              ;---------------------------------------------------------
       I8250  PROC                   ;主串口初始化子程序
              MOV     DX, 3FBH
              MOV     AL, 80H
              OUT     DX, AL        ;寻址位置1
              MOV     DX, 3F9H
              MOV     AL, 00H
              OUT     DX, AL        ;写除数高8位
              MOV     DX, 3F8H
              MOV     AL, 60H
              OUT     DX, AL        ;写除数低8位
              MOV     DX, 3FBH
              MOV     AL, 03H
              OUT     DX, AL        ;无校验传送,8位数据
              MOV     DX, 3F9H
              MOV     AL, 10H
              OUT     DX, AL        ;禁止8250内部中断
              MOV     DX, 3FCH
              MOV     AL, 10H
              OUT     DX, AL        ;8250收发方式,禁止中断
              RET
       I8250  ENDP    
              ;---------------------------------------------------------

        CODE  ENDS    
              END     BEG
posted @ 2023-03-28 21:06  玄修杰  阅读(313)  评论(0编辑  收藏  举报