第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秒递增。
相关推荐
S&Z34638 小时前
[SZ901]高级功能:远程调试
fpga开发
醇氧9 小时前
【学习】冯诺依曼架构和哈弗架构
fpga开发
尤老师FPGA11 小时前
HDMI数据的接收发送实验(七)
fpga开发
学习永无止境@11 小时前
FPGA设计中,主时钟与虚拟时钟的定义
fpga开发
进击的横打12 小时前
【车载开发系列】系统时钟与定时器
stm32·单片机·fpga开发
Nobody3312 小时前
Avalon® 接口规范知识文档(v2018.09.26)
fpga开发
GateWorld14 小时前
FPGA内部模块详解之六 FPGA的“心跳”与“神经网络”——时钟网络与布线资源深度解析
fpga开发·fpga内部时钟网络·fpga布线资源
lit_wei17 小时前
【ZYNQ的DMA获取FPGA数据处理,零拷贝,DMA方式】
fpga开发
FPGA-ADDA17 小时前
Xilinx Zynq UltraScale+ RFSoC XCZU47DR 开发板
fpga开发·fpga·rfsoc·xczu47dr
unicrom_深圳市由你创科技20 小时前
FPGA如何实现高速接口(PCIe/DDR4/QSFP28)?
fpga开发