Q:如何使用间隔定时器实现数码管循环计数器?
A:DE2-115_Computer系统包含间隔定时器,Nios II处理器可使用这个定时器实现延时:定时器首先加载一个预设值作为计数值,然后将该计数值递减到0。定时器的时钟信号采用DE2-115_Computer系统提供的50MHz时钟信号。定时器的编程配置接口包含6个16位寄存器。
两个16位的Counter start value寄存器用于修改定时器的定时周期,默认的定时周期为125ms。本实验中需要实现250ms即也是0.25s的延时,其对应的预设计数值为50MHz × 250 ms= 12.5 × 1000000,比之前我们用延迟循环实现的0.25s延时更精准。部分汇编语言程序代码:
同样是在HEX1~HEX0上实现十进制计数器,从0开始每0.25秒递增1计数直到99,再从0开始重新计数;按下任意KEY,计数器会停止或开始计数。