
三个芯片(8253、8259A、8255)进行中断实验
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
通过将8253的输出设置为中断控制信号,使得当8259响应中断时,在屏幕上显式显示“THIS IS A 8259 INTRUPT”,同时点亮一个发光二极管。每隔一秒钟发生一次中断事件,当八个LED同时点亮时,系统退出当前任务并返回主程序。本实验主要围绕三个关键组件展开:微处理器系统的8253定时器、负责处理中断事件的8259A中断控制器以及实现并行数据传输功能的8255可编程端口控制器。在每秒的时间间隔内,这个8253定时器会触发一个中断请求信号。在本实验中,这个定时器被配置成发送定期的中断请求信号。为了实现这一功能,在初始化阶段,我们需配置8253的工作模式和分频设置。这一步骤通常包括初始化8253,设置其工作模式、分频系数等参数,使其能够按照预定的频率进行计数。这个定时器具备多通道数字计时计数功能,可实现精确的时间间隔测量。
此外,在系统管理中,8259A中断控制器负责处理各种中断源。在收到来自8253的中断请求后,8259A将这一指令转换为CPU能够识别和执行的任务。为了控制特定类型的任务权限,在实验过程中,我们设置了相应的中断屏蔽寄存器来限制或释放这些中断功能。在初始化阶段,系统首先清除清除位域以便开启8253的中断服务功能。随后,在完成所有中断服务任务之后,系统将中断屏蔽寄存器设置回其初始状态。这样做既能确保任务的正常处理,又避免了由于连续中断引发的问题。
8255可编程并行接口芯片则负责处理外部硬件设备(如LED等)的数据传输。在本实验中,8255作为响应端子,接收CPU发出的控制指令,并对8只LED进行状态调节。每当中断服务程序运行完毕后,会切换其数据端子并点亮相应的LED。当所有LED均点亮一次即COUNT降到零时,中断服务程序将退出当前模式以完成任务,随后系统将脱离中断服务模式以完成任务,返回DOS。在程序结构中,数据段声明了字符串‘THIS IS A 8259 INTERRUPT’并设置COUNT变量用于控制中断频率。堆栈段预留了100个存储空间以支持相关操作。代码段包含核心处理逻辑,负责主程序的运行。初始化阶段需完成中断向量表的配置、中断功能的开启与关闭以及对8253和8255芯片的初始化设置。而INTPROC服务程序则负责显示预设字符串‘THIS IS A 8259 INTERRUPT’、更新8255输出端口的状态并调整COUNT变量的值,以实现中断处理功能。在本次实验中,我们成功透彻掌握了一个中断系统的运作机制。通过深入探究,我们明确了8253、8259A和8255芯片的各自功能及其在实际应用中的操作规范。此外,在系统配置与控制方面也获得了宝贵的经验。本实验还详细讲解了中断向量表的建立过程、中断服务程序的工作流程以及中断屏蔽机制的应用方法,同时深入分析了中断恢复处理的关键步骤。这些内容涵盖了计算机体系结构中极为重要的知识点。
全部评论 (0)


