微机接口实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ;允许中断发生