Q:怎样设计汇编语言程序使用定时器中断实现实时时钟?
A:此前我们曾使用轮询定时器I/O的方式实现实时时钟,而在本实验中将采用定时器中断的方式。新增的interval_timer.s间隔定时器的中断服务程序中增加了TIME变量,还更新了控制七段数码管显示的HEX_code变量。主程序会执行一个无限循环,将变量HEX_code的值写入七段数码管HEX[3:0]中。
下载程序到DE2-115开发板后,观察实验现象同样是:HEX[1:0]从00到99(百分秒)循环计数,每计数到99时,HEX[3:2]显示的秒数增加1直到59,再从0重新开始计数直到59;任意KEY,时钟会停止计时;再次按下任意KEY,时钟会从上一次停止的时间开始继续计时。