南邮微机系统串行口的测试
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