第29篇 基于ARM A9处理器用C语言实现中断<五>

**Q:**怎样设计基于ARM A9处理器的C语言程序使用定时器中断实现实时时钟?

**A:**在上一期的程序中添加A9 Private Timer作为第三个中断源,配置该定时器使其每隔0.01秒产生一次中断。使用该定时器使全局变量time的值递增,并将time变量作为实时时钟显示在七段数码管HEX5-HEX0上。主程序调用新的子程序config_priv_timer( ),该子程序配置A9 Private Timer产生所需要的中断。主程序中的无限循环将变量HEX_code3_0和HEX_code5_4的值写入七段数码管HEX5~HEX0中。

创建A9 Private Timer中断服务程序priv_timer_ISR.c,用于递增time变量并更新HEX_code3_0和HEX_code5_4变量,这些变量将在主程序中写入七段数码管。

编译下载程序后可观察到HEX1和HEX0上从00到99循环百分秒;HEX1和HEX0每计时一次99厘秒,HEX3和HEX2显示的秒数增加1,直到59再从0重新开始计时;HEX3和HEX2每计时一次59秒,HEX5和HEX4显示的分钟数增加1,直到59。

相关推荐
智者知已应修善业5 分钟前
【51单片机独立按键控制数码管动态显示和LED间隔闪烁并清零】2023-5-28
c语言·经验分享·笔记·算法·51单片机
水云桐程序员16 分钟前
用C语言开发单片机项目的工作思路
c语言·开发语言·单片机
她说彩礼65万24 分钟前
C语言 指针运算
c语言·数据结构·算法
fei_sun10 小时前
FPGA&数字前端
fpga开发
尤老师FPGA10 小时前
HDMI数据的接收发送实验(九)
fpga开发
weixin_4460235610 小时前
C语言:面向过程、应用底层开发、跨平台的通用程序设计语言
c语言·跨平台·数据类型·底层开发·面向过程
无敌昊哥战神12 小时前
深入理解 C 语言:巧妙利用“0地址”手写 offsetof 宏与内存对齐机制
c语言·数据结构·算法
Flamingˢ12 小时前
ZYNQ + OV5640 视频系统开发(四):HDMI 显示链路
嵌入式硬件·fpga开发·硬件架构·音视频
LCMICRO-1331084774613 小时前
国产长芯微LDC5141完全P2P替代DAC80501,数模转换器 (DAC)
单片机·嵌入式硬件·fpga开发·硬件工程·dsp开发·数模转换器 dac
cmpxr_14 小时前
【C】数组名、函数名的特殊
c语言·算法