《微机原理与接口技术实验》 - 17 -
8253/8254是Intel公司生产的可编程定时器/计数器芯片。它可以工作在如下六种工作方式之一:
?方式0——计数结束中断(单次电路); ?方式1——硬件触发的可重复触发单稳电路; ?方式2——分频器(波特率发生器); ?方式3——方波发生器;
?方式4——软件触发的选通信号发生器; ?方式5——硬件触发的选通信号发生器。 8253/8254的工作方式控制字如图5.1所示:
D7D6D5D4D3D2D1D0计数器选择00—CH0读/写控制01—CH100-锁定当前计数值10—CH201-只读/写计数器低字节11—不用10-只读/写计数器高字节11-先读/写计数低字节 后读/写计数高字节计数码制1-BCD计数0-二进计数工作方式000-方式0001-方式1X10-方式2X11-方式3100-方式4101-方式5
图5.1 8253/8254的工作方式控制字
本实验用PC机内部的中断控制器8259A,中断源用8253来产生,硬件电路如图5.2所示:
17
8254OUT0CLK0周期性方波8259IR0INTCPU
图5.2 8259与8253/8254的硬件电路示意图
可参考教材第四章中的例4.17。可借用该程序中的中断服务程序以及8253的初始化程序段(口地址为40H、41H、42H、43H,控制字为36H=B,时间常数TC=11932:1.1932MHz/11932=100Hz,输出方波频率为100Hz,其周期为1000/100=10ms)。
5. 实验内容及步骤
编一程序,在显示器上显示时、分、秒。借用计数器8253的Timer0作为中断源,通过8259A向CPU发中断,每10ms产生一次中断。在中断服务程序中管理刷新时、分、秒。
要求清屏后显示:
Current time is: xx:xx:xx (时分秒键盘输入) 回车后时、分、秒开始计时,时钟不停的刷新。
当键入CTRL+C时,停止计时,返回系统,且系统正常运行不死机。
18
《微机原理与接口技术实验》 - 19 -
6. 实验报告
(1)画出程序流程图。
(2)提交调试好的汇编语言源程序(.asm)。 (3)总结实验中遇到的问题及解决的方法。
19