8086微机系统设计:8254-8255-8259接口芯片协同实验

需积分: 16 6 下载量 153 浏览量 更新于2024-08-30 3 收藏 10.89MB DOC 举报
"微机接口原理大实验课程设计,涉及8086微处理器、8254定时器、8255A并行接口、8259A中断控制器,以及汇编语言编程。实验目标是理解这些接口芯片的协同工作,并实现特定功能,如定时中断、开关状态显示等。实验内容包括硬件连线、接口初始化程序、中断服务子程序的编写等。" 在微机接口原理的大实验或课程设计中,主要关注的是微处理器与外部设备之间的通信和数据交换。在这个实验中,CPU采用了8086,这是一种16位微处理器,广泛应用于早期个人计算机系统。8086支持多种接口芯片,以扩展其功能。 8254可编程定时/计数器是一种常见的接口芯片,用于产生定时或计数信号。在本实验中,8254被用作定时器,其端口地址为6A8H、6AAH、6ACH和6AEH。为了每隔0.8秒产生中断,需要正确配置8254的计数模式和初始计数值。根据5MHz的计数时钟频率,需要计算出合适的计数值以达到0.8秒的时间间隔。 8255A通用并行接口芯片则用于处理输入/输出(I/O)操作。在这里,它的PC4至PC7引脚连接了4个开关,而PA0至PA6则连接到7段LED显示器。8255A的初始化程序需要设置适当的控制字,以确定I/O端口的操作模式。 8259A中断控制器管理系统的中断请求,提供了一种有序处理中断的方法。实验要求8254的OUT0连接到8259的IR5引脚,中断类型号的高五位为68H,其端口地址为600H、602H。中断服务子程序应能够读取8255A的C口,获取开关状态,并将其转换为相应的16进制数字,然后通过7段LED显示器显示。 实验中,需要编写以下程序: 1. 8259A的初始化程序,用于设置中断控制器的工作方式。 2. 8255A的初始化程序,定义其端口为输入/输出模式。 3. 8254的初始化程序,配置定时器以产生所需中断。 4. 中断服务子程序,处理中断请求,更新LED显示器的显示内容。 5. 修改中断向量表的程序,确保中断处理指向正确的服务程序。 在汇编代码实现中,可以看到使用了特定的端口地址进行数据传输,并使用了汇编指令来保护现场、读取输入、更新输出和清除中断请求。这个实验不仅涵盖了硬件设计,还涉及了软件编程,是学习微机接口原理和汇编语言实践的重要环节。