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

**Q:**怎样修改HPS Timer 0定时器产生的中断周期?

**A:**在上一期实验的基础上,可以修改按键中断服务程序,实现红色LED上的计数值递增的速率,主程序和其余代码文件不用修改。

实现以下功能:按下KEY0时,RUN变量的值在1和0之间切换,也使得COUNT变量的值保持不变或递增;按下KEY1时,COUNT值递增的速率加倍;按下KEY2时速率减半;通过在按键中断服务例程中停止HPS Timer 0定时器,修改定时器中用到的load值,然后重新启动定时器来实现这个功能。

修改过的程序烧录到DE1-SoC开发板后,相比上一期的实验新实现的功能现象:

  • 按KEY1,计数速度加倍:第一次按下KEY1,计数值每隔0.125秒递增,第二次按下KEY1,计数值每隔0.0625秒递增;
  • 按KEY2,计数速度减半:第一次按下KEY2,计数值每隔0.5秒递增,第二次按下KEY2,计数值每隔1秒递增。
相关推荐
一条九漏鱼2 小时前
分频器code
fpga开发
G2突破手2592 小时前
以太网详解(五)GMII、RGMII、SGMII接口时序约束(Quartus 平台)
嵌入式硬件·fpga开发·verilog
南棱笑笑生4 小时前
20250117在Ubuntu20.04.6下安装易灵思的FPGA的刷机工具efinity-2024.2.294
fpga开发
碎碎思7 小时前
单芯片控制多个高性能伺服电机
fpga开发
一条九漏鱼19 小时前
简单组合逻辑
fpga开发
hexiaoyan82720 小时前
国产化板卡设计原理图:2295-基于 JFM7K325T的半高PCIe x4双路万兆光纤收发卡
fpga开发·jfm7k325t·jfm7vx690t板卡·高速数据采集系统·光纤隔离网闸
如何学会学习?1 天前
1 使用EMIO
fpga开发·zynq·emio·zcu106·ug1244
FakeOccupational1 天前
fpga系列 HDL:Quartus II SignalTap的Create Signal Tap List File功能
fpga开发
一条九漏鱼2 天前
寄存器 reg
fpga开发