微机接口实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京科技大学计算机与通信工程学院

实验报告

实验名称:实验一8259 中断控制器应用实验

实验二8254 定时/计数器应用实验

实验三8255 并口控制器应用实验学生姓名:

专业:

班级:

学号:

指导教师:

实验成绩:

实验地点:机电楼320

实验时间:2015 年12 月 4 日

一、实验目的与实验要求

1、实验目的

实验一

1.掌握PC 机中断处理系统的基本原理。

2.掌握可编程中断控制器8259 的应用编程方法。

实验二

1.掌握8254 的工作方式及应用编程。

2.掌握8254 典型应用电路的接法。

实验三

1.掌握8255 的工作方式及应用编程。

2.掌握8255 典型应用电路的接法。

2、实验要求

实验一

(1)实验1-1:PC 机内中断应用实验

①按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,将屏幕显示结果以截图方式写在实验报告中。

②自设计实验。改变接线方式,将单次脉冲连到USB 核心板上的IRQ10 插孔上,参考本实验代码,编程实现IRQ10 中断。(注意:考虑PC 机内中断级联的方式,参看前面的原理说明),将代码写在报告中。

(2)实验1-2:PC 机内中断嵌套实验

①按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,并将屏幕显示结果以截图的方式写在实验报告中,并分析产生该现象的原因:

A.按下连接IRQ 的单次脉冲按键,屏幕上会显示10个3,在屏幕上10 次显示未结束之前,按下连接IRQ10 的单次脉冲按键,观察现象;

B.按下连接IRQ10 的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3 的单次脉冲按键,观察现象。

②程序中所有代码均没有注释,请在报告中补全注释,尽量详细。

(3)实验1-3:扩展多中断应用实验

说明:本实验采用查询方式,应用实验箱提供的8259 中断源,向PC 机提交中断请求。拨动开关发起请求一次中断,屏幕上显示相应的中断请求号。

调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259 工作原理填写并验证,然后将所填内容写在实验报告中,并分析所填数据的形成原理。

实验二

(1)实验2-1:计数器应用实验

①将计数器0 设置为方式3,计数器初值为4,用手动逐个输入单脉冲,用LED 灯观察OUT0 电平变化。将代码中划横线的部分填上相应的代码,并在实验报告中对所填代码做原理分析。

②如果令计数器0 工作在方式0,其实验现象有什么不同,在报告中进行分析说明。

(2)实验2-2:自设计实验

参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254 的定时功能,将其分频为1Hz。以LED灯作为输出显示。经过实际验证后,在报告中画出接线图,并给出源代码。

实验三

(1)实验3-1:可编程并行接口8255 方式0 应用实验

编写程序,自行设定A、B、C 三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分,根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。

(2)实验3-2:自设计试验

自行设计完成本实验,要求,8255A 口工作在方式一输入,B 口工作在方式一输出,利用方式一的控制信号,使数据从输入到输出人为可控。在实验报告中画出接线图,并说明设计的原理,给出对应的程序代码。

二、实验设备(环境)及要求

Windows 7系统下的HQFC集成开发环境,CZ-CIUS微机接口实验系统。三、实验内容与步骤

实验一

实验1-1

(1)实验内容

PC 机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。

(2)主要步骤

①按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象。

②自设计实验。改变接线方式,将单次脉冲连到USB 核心板上的IRQ10 插孔上,参考本实验代码,编程实现IRQ10 中断。(注意:考虑PC 机内中断级联的方式,参看前面的原理说明)。

接线图:

说明:本实验只需要一根连线,一端接系统总线区的IRQ 引脚,一端接到单脉冲单元的引脚上,接线如图1-1 所示。

参考流程图:

程序源代码:

(1)

;数据段

DA TA SEGMENT

MESS DB 'TPCA interrupt! ',0DH,0AH, '$'

;需要显示的数据,以'$'结束,方便系统调用。0DH,0AH为换行

DA TA ENDS

;代码段

CODE SEGMENT

ASSUME CS:CODE, DS:DA TA

START: MOV AX, CS ;系统调用25是设置中断

MOV DS, AX

MOV DX, OFFSET INT3 ;采用间接修改法,设置中断向量

MOV AX, 250BH ;设置IRQ3 对应的中断向量,25是系统调用功能;号,在AL里放中断向量号,0B*4=2C,是中断程序的地址所在位置,DS放中断程序的段;基址,DX放偏移地址

INT 21H

;中断设置完成

IN AL, 21H ;读中断屏蔽寄存器,21H 是该寄存器的端口号

AND AL, 0F7H ;开放IRQ3 中断,允许IRQ3 的中断申请

OUT 21H, AL ;写OCW1

MOV CX, 10 ;记中断循环次数为10 次

STI ;允许中断发生

相关文档
最新文档