Altera MAX10: 计时控制

 行业动态     |      2023-11-15 09:46:39    |      作者

计时控制

在之前的实验中我们掌握了如何进行时钟分频、如何进行数码管显示与按键消抖的处理,那么在本节实验之中,我们将会实现一个篮球赛场上常见的24秒计时器

====硬件说明====

在之前的实验中我们为读者详细介绍过小脚丫MXO2板卡上的按键、数码管、LED等硬件外设,在此不再赘述。本节将实现由数码管作为显示模块,按键作为控制信号的输入(包含复位信号和暂停信号),Altera MAX10作为控制核心的篮球读秒系统,实现框图如下:

====Verilog代码====

//******************************************************************** //>>>>>>>>>>>>>>>>>>>>>>>>>COPYRIGHTNOTICE<<<<<<<<<<<<<<<<<<<<<<<<< //******************************************************************** //Filename:debounce.v //Modulename:debounce //Author:STEP //Description: // //-------------------------------------------------------------------- //CodeRevisionHistory: //-------------------------------------------------------------------- //Version:|Mod.Date:|ChangesMade: //V1.0|2017/03/02|Initialver //-------------------------------------------------------------------- //ModuleFunction:计时器 modulesegment_counter( clk , rst , hold , seg_led_1 , seg_led_2 ,); input clk,rst; input hold; outputreg [8:0] seg_led_1,seg_led_2; reg clk_divided; reg hold_flag; reg back_to_zero_flag = 0; reg [6:0]seg [9:0]; reg [23:0] cnt; reg [3:0] cnt_ge; reg [3:0] cnt_shi; parameter PERIOD=6000000; //1秒 initial begin seg[0]=7'h3f; //0 seg[1]=7'h06; //1 seg[2]=7'h5b; //2 seg[3]=7'h4f; //3 seg[4]=7'h66; //4 seg[5]=7'h6d; //5 seg[6]=7'h7d; //6 seg[7]=7'h07; //7 seg[8]=7'h7f; //8 seg[9]=7'h6f; //9/*若需要显示A-F,解除此段注释即可 seg[10]=7'hf7; //A seg[11]=7'h7c; //b seg[12]=7'h39;//C seg[13]=7'h5e;//d seg[14]=7'h79;//E seg[15]=7'h71;//F*/ end always@(posedgeclk)begin //用于分出一个1Hz的频率 if(!rst==1)begin cnt<=0; clk_divided<=0;end elsebegin if(cnt

====引脚分配====

设置好复位键可消抖的按键,编译完成后下载,通过按键就可以翻转LED。你也可以定义多个按键控制多个LED,还可以比较不加按键消抖情况下实际的效果对比如何。

信号引脚
clkJ5
rstJ9
holdK14
segled1[0]E1
segled1[1]D2
segled1[2]K2
segled1[3]J2
segled1[4]G2
segled1[5]F5
segled1[6]G5
segled1[7]L1
segled1[8]E2
segled2[0]A3
segled2[1]A2
segled2[2]P2
segled2[3]P1
segled2[4]N1
segled2[5]C1
segled2[6]C2
segled2[7]R2
segled2[8]B1

====小结====

本实验主要介绍了计时器的实现方式,并且包含了复位与暂停功能,读者可自行修改程序内部的时钟参数来调节计时时间。下一节将介绍PWM调制技术的应用呼吸灯。