篮球30s可控计时器设计1111111111

更新时间:2024-01-21 13:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

篮球30s可控计时器设计

具体要求:1)具有30s计时、显示功能;

2)设置外部操作开关,控制计时器的直接清零、装数、启动和暂停/连续功能;

3)30s倒计时,其计时间隔为1s;

4)计时器递减计时到零时显示器不能灭灯,同时发出报警信号; 5)能解除报警信号;

6)画出该电路的电路图,用Verilog HDL设计此电路,并进行仿真。 一、设计思路

对应的模块 控制电路 控制电路 控制电路 译码显示 译码显示 报警电路 报警电路 报警电路 状态 1 2 3 1 2 1 2 3 对应的信号 load=1、stop=0 load=0、stop=1 load=0、stop=0 load=0、stop=0 load=0、stop=1 load=0、alarm=0 load=0、alarm=1 load=1、alarm=0 倒计时 倒计时开始,每次减1s 倒计时暂停,保持当前秒数 倒计时继续,在前开下,每次减1s 倒计时开始,每次减1s 倒计时暂停,保持当前秒数 倒计时30s开始 倒计时为0,计时结束 倒计时重新开始计时 对应情况 不报警、 不暂停 不报警、 暂停 不报警、 不暂停 不报警 不报警、 暂停 不报警 报警 不报警

该电路包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等5个部分。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具

有直接控制计数器的启动计数、暂停/连续计数、译码显示电路的显示和灭灯等功能。总体设计框图如下:

秒脉冲发生器 计数器 译码显示 外部操 作 开 关 控制电路 报警电路 30s计时器的总体方案框图

二、详细模块设计 1控制模块设计

控制部分具有直接控制计数器的启动计数、暂停、连续计数功能。

表2 I/O管脚描述(一) 名称 方向 位宽 功能 clk input 1 系统时钟(50MHZ) load input 1 复位信号(高电平有效) stop input 1 暂停信号(高电平有效) clk_2 output 1 分频后时钟信号(1HZ) 2译码显示模块设计

译码显示部分主要是显示当前计时数。

表3 I/O管脚描述(二) 名称 clk_2 load qh ql 3报警模块设计

根据设计要求,当倒计时结束时,要进行报警,而且灯还不能灭。报警一段时间后,报警信号又自动取消。本程序通过循环来实现自动解除警报,并且重新进入新一轮的计时。

方向 input input input input 位宽 1 1 1 1 功能 分频后时钟信号(1HZ) 复位信号(高电平有效) 十位输出 个位输出 表4 I/O管脚描述(三) 名称 clk_2 load alarm 4 顶层文件设计

整个顶层文件主要是由三个输入信号和三个输出信号组成,三个输入信号分别是clk(时钟信号)、load(复位)、stop(暂停),三个输出信号分别是qh(十位)、ql(个位)、alarm(报警)。

三、设计电路图

方向 input input output 位宽 1 1 1 功能 分频后时钟信号(1HZ) 复位信号(高电平有效) 报警信号(高电平有效)

四、编译和仿真 1、源程序

module basketball(CPB,L,QH,QL,CPA,S,LD,CR);

output[3:0] QH,QL; output CPB,L; input S,LD,CR; input CPA;

reg[3:0] QH,QL; reg CPB; reg L; reg[3:0] i; reg QC;

always @(posedge CPA) //10分频

begin

if (S==0)CPB<=CPB;

else if (i==9)

begin i=0;CPB<=1;end

else

begin i=i+1;CPB<=0;end

end

always @(posedge CPB or negedge LD or negedge CR) //实现30s可控计时器的功能

begin

if(!CR) begin QH[3:0]<=0;QL[3:0]<=0;QC<=0;end

else if (!LD) begin QH[3:0]<=3;QL[3:0]<=0;QC<=1;L=0;end

begin QH[3:0]<=0;QL[3:0]<=0;L=QC;end begin QL[3:0]<=9;QH[3:0]<=QH[3:0]-1;end begin QL[3:0]<=QL[3:0]-1;QH[3:0]<=QH[3:0];end

else if ((QH==0)&(QL==0))

else if (QL[3:0]==0) else

end

endmodule

2、仿真结果

五、结论

由仿真波形图可以看出,在可控计时器能正常递减计数、当开关键使能是S=0时能做保持(暂停)。另外,开关键装数LD低电平有效时,则立即预置输出变量QH[3..Q0]和QL[3..Q0]为0011和0000,即装数功能有效,在CR=0时,重新装数。另外,由开关键输入清零(CR=0)低电平信号时,能直接致使减时计数器复位并解除报警,实现系统的控制功能。仿真结果符合设计要求,达到预期效果。

本文来源:https://www.bwwdw.com/article/qcro.html

Top