第24篇 基于ARM A9处理器用汇编语言实现中断<六>

Q:怎样设计ARM处理器汇编语言程序使用定时器中断实现实时时钟?

A:此前我们曾使用轮询定时器I/O的方式实现实时时钟,而在本实验中将采用定时器中断的方式。新增第三个中断源A9 Private Timer,对该定时器进行配置,每1/100秒产生一次中断。 修改上一期实验的主程序,添加代码用于调用配置A9 Private Timer产生中断的子程序CONFIG_PRIV_TIMER。定义一个全局变量TIME作为实时时钟,以SS:DD的形式显示该实时时钟,其中SS为秒,DD为百分之一秒,当时钟增加到59:99时,再从00:00开始重新计时。

image-20241126150233957

下载程序到DE1-SoC开发板后,观察实验现象除了上一期实验的LED计数器之外,还有新增的实时时钟功能:HEX[1:0]从00到99(百分秒)循环计数,每计数到99时,HEX[3:2]显示的秒数增加1直到59,再从0重新开始计数直到59;任意KEY,时钟会停止计时;再次按下任意KEY,时钟会从上一次停止的时间开始继续计时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值