第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秒递增。
相关推荐
unicrom_深圳市由你创科技10 小时前
多 FPGA 之间如何同步与通信?
fpga开发
LCMICRO-1331084774615 小时前
长芯微LCMDC7616完全P2P替代AD7616,16通道16位模数转换器(ADC)
stm32·嵌入式硬件·fpga开发·硬件工程·模数转换器adc·电力线监测
又菜又爱玩的东哥18 小时前
【Verilog 3-8译码器设计与仿真:深入理解case语句与组合逻辑】
fpga开发
Risehuxyc18 小时前
<= 是Verilog中的非阻塞赋值操作符
fpga开发
扣脑壳的FPGAer18 小时前
傅里叶级数、傅里叶变换、Z变换、数字滤波器
fpga开发·信号处理
Risehuxyc20 小时前
HDL中assigned 与 always 有什么区别?
fpga开发
我爱C编程1 天前
【3.5】固定旋转因子系数乘法模块的FPGA实现1——45°旋转因子和高阶蝶形修正因子
fpga开发·固定旋转因子·旋转因子
Terasic友晶科技1 天前
答疑解惑 | DE25-Nano开发板串口在访问FPGA端外设LED时卡死,无任何反应
fpga开发·串口·led·de25-nano
尤老师FPGA2 天前
LVDS系列46:Xilinx Ultrascale系 ADC LVDS接口参考方法(八)
fpga开发
何如呢2 天前
uw_inserter
fpga开发