微机接口实验三 微机系统串行口的测试.doc
文本预览下载声明
PAGE 1
实 验 报 告
课程名称
微型计算机原理与接口技术
实验名称
微机系统串行口的测试
实验目的和要求
实验目的:
学习汇编语言程序设计的方法;掌握8250异步串行接口芯片的工作原理;掌握串行通信程序的设计。
二、实验环境(实验设备)
PC系列机,未来汇编软件
三、实验原理及内容
实验内容:
1、 完成硬件测试环境;
2、 编写程序对微机系统的串口进行自发自收外环测试,发送采用查询方式,接收采用中断方式;
3、 数据发送从键盘键入,接收数据屏幕显示。
实验代码:
.486
DATA SEGMENT USE16
BUF DB 30
DB ?
DB 30 DUP(?)
;LENS EQU $-BUF
ERROR DB COM1 BAD!,0DH,0AH,$
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BEG:
MOV AX,DATA
MOV DS,AX
CALL I8250 ;主串口初始化
SCAN:
MOV AH,0AH ;用户输入字符串
MOV DX,OFFSET BUF
INT 21H
MOV AH,2
MOV DL,0AH
INT 21H
MOV BL,BUF+1 ;实际输入的字符串个数-BX
MOV BH,0
AGAIN:
MOV CL,BL ;电文长度送CL
MOV BX,OFFSET BUF+2 ;用户输入的字符串内容给BX
TSCAN:
MOV DX,3FDH
IN AL,DX
TEST AL,20H ;发送保持寄存器空?
JZ TSCAN ;否
MOV AL,[BX] ;取字符
SEND:
MOV DX,3F8H
OUT DX,AL ;送主串口数据寄存器
MOV SI,0
RSCAN:
MOV DX,3FDH
IN AL,DX
TEST AL,01H ;一帧数据收完否 ?
JNZ REVEICE ;收完转
DEC SI
JNZ RSCAN ;延时
JMP DISPERR ;超时,转出错处理
REVEICE:
MOV DX,3F8H
IN AL,DX ;读数据寄存器
AND AL,7FH
DISP:
MOV AH,2
MOV DL,AL
INT 21H ;屏幕显示
INC BX
DEC CL ;计数
JNZ TSCAN
MOV AH,2
MOV DL,0DH
MOV DL,0AH ;换行
INT 21H ;屏幕显示
;JNZ AGAIN
JMP RETURN
DISPERR:
MOV AH,9
MOV DX,OFFSET ERROR
INT 21H ;显示出错信息
RETURN:
MOV AH,4CH
INT 21H ;返回 DOS
;
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
实 验 报 告
实验图:
实 验 报 告
四、实验小结(包括问题和解决方法、心得体会、意见与建议等)
说明:这部分内容主要包括:在编程、调试或测试过程中遇到的问题及解决方法、本次实验的心得体会、进一步改进的设想等。
(一)实验中遇到的主要问题及解决方法
问题:对8250的工作方式理解不透彻
解决方法:看书回顾8250的工作方式和编程规范
(二)实验心得
通过这次实验,我学习了串行接口8250的工作原理以及编程和中断程序的设计,结合微型计算机系统串行通信的相关知识,成功进行了微机系统穿行口的测试。书本知识与实践的结合使我体会更加深刻,对于汇编语言的理解也更加透彻。
(三)意见与建议(没有可省略)
支撑毕业要求指标点
六、指导教师评语 (含学生能力达成度的评价)
成 绩
批阅人
日 期
评 分
显示全部