logo资料库

外环自检实验报告.docx

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
( 2018/ 2019 学年 第二学期)
实 验 报 告 ( 2018/ 2019 学年 第二学期) 课程名称 实验名称 微型计算机原理与接口技术 外环自检 实验时间 2019 年 5 月 23 日 指导单位 计算机学院、软件学院、网络空间安全学院 指导教师 陈燕俐 学生姓名 学院(系) 班级学号 专 业
实 验 报 告 实验名称 外环自检 指导教师 实验类型 验证 实验学时 2 实验时间 2019.05.23 一、实验目的和要求 1、学习 8250 的工作原理、工作方式、初始化编程及中断程序的编程方 法。 2、题目: 编写程序对微机系统串口进行外环的自发自收测试,要求发 送采取查询方式,接收采取中断方式。用键盘输入要发送的数据并显示在屏 幕上,同时将收到的数据也显示在屏幕上。 二、实验环境 PC 系列机 三、实验内容 代码如下: .586 DATA SEGMENT USE16 OLD0B DD ? DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA 1
BEG:MOV AX,DATA MOV DS,AX CLI CALL I8250 CALL I8259A CALL RD0B CALL WR0B STI SCA: MOV AH,1 INT 16H JZ SCA;无输入 ;------------------发送------------------------ MOV DX,2FDH;发送保持器空 IN AL,DX TEST AL,20H JZ SCA MOV AH,0 INT 16H MOV DL,AL MOV AH,02H 2
INT 21H AND AL,7FH MOV DX,2F8H OUT DX,AL;送至发送保持寄存器 JMP SCA TWA:MOV DX,2FDH IN AL,DX TEST AL,40H;测试一帧数据是否发送完 JZ TWA RETURN:CALL RESET MOV AH,4CH INT 21H ;-------------------SERVICE------------------------- SERVICE PROC PUSHA PUSH DS MOV AX,DATA MOV DS,AX MOV DX,2F8H IN AL,DX AND AL,7FH MOV AH,2 3
MOV DL,AL INT 21H EXIT:MOV AL,20H OUT 20H,AL POP DS POPA IRET SERVICE ENDP ;-----------------I8250----------------------- I8250 PROC MOV DX,2FBH MOV AL,80H OUT DX,AL MOV DX,2F9H MOV AL,0 OUT DX,AL MOV DX,2F8H MOV AL,60H;设置分频系数1200 OUT DX,AL MOV DX,2FBH MOV AL,03H;设置通信线寄存器,随便设的可以改 4
OUT DX,AL MOV DX,2F9H MOV AL,01H;允许8250内部提出接收中断 OUT DX,AL MOV DX,2FCH MOV AL,0BH;允许中断让D3为1 OUT DX,AL RET I8250 ENDP ;-------------I8259------------------------- I8259A PROC IN AL,21H AND AL,11110111B OUT 21H,AL RET I8259A ENDP ;-------------------RD0A--------------------- RD0B PROC MOV AX,350BH INT 21H MOV WORD PTR OLD0B,BX MOV WORD PTR OLD0B+2,ES 5
RET RD0B ENDP ;-----------------WR0A------------------------ WR0B PROC PUSH DS MOV AX,CODE MOV DS,AX MOV DX,OFFSET SERVICE MOV AX,250BH INT 21H POP DS RET WR0B ENDP ;-----------------RESET------------------------ RESET PROC IN AL,21H OR AL,00001000B;写中断屏蔽 OUT 21H,AL MOV DX,WORD PTR OLD0B MOV DS,WORD PTR OLD0B+2 MOV AX,250BH INT 21H 6
RET RESET ENDP ;----------------------------------------- CODE ENDS END BEG 程序运行结果如下: 当从键盘输入一个字符时频幕上会显示两个该字符,第一遍是直接调用软中 断显示在频幕上的,另一个从端口读入的通过软中断显示再频幕上的。 7
分享到:
收藏