数字逻辑课程设计.doc

数字逻辑课程设计.doc

ID:53965432

大小:516.50 KB

页数:8页

时间:2020-04-11

数字逻辑课程设计.doc_第1页
数字逻辑课程设计.doc_第2页
数字逻辑课程设计.doc_第3页
数字逻辑课程设计.doc_第4页
数字逻辑课程设计.doc_第5页
资源描述:

《数字逻辑课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数字逻辑课程设计---24s倒计时设计学院:数学科学学院姓名:墨漓选课号:9设计目的利用组合逻辑电路和时序电路,通过Verilog语言编码设计篮球24s倒计时器。初始时间为24.0s,每隔0.1s减1计数,当计时达到00.0s时,计时器停止,点亮LED灯表示超时。并且在实现倒计时的功能的基础上,加上复位和暂停键。一、课程设计说明1.时钟源为50MHz,计时器精确到0.1s2.数码管只使用后3位。二、设计任务及要求1.设计一个24s的倒计时计数器,使其每0.1s减一计数,并当计时达到00.0s时,计时器停止,点亮LED灯表示超时。2.功能拓展a.增加复

2、位(Reset)功能当Reset按键按下或Reset=1时,计时器初始化为24.0s,可开始新的一轮倒计时b.增加暂停/继续(Pause)功能当Pause=0时,计时器停止计时;Pause=1时,计时器恢复计时3.对设计出来的程序用七段译码器显示到开发板上三、设计思路1.先设计一个对BCD数的倒计时计数器,使其每隔0.1s就减1计数。初始值为24s,若最终倒计时到0s,就使一盏灯闪烁,证明倒计时终止了;当按下暂停键,倒计时中止,松开暂停键,则继续倒计时;再设计一个复位键,当reset=1时,计数器复位到24s。1.设计一个暂停键的模块,实现暂停的功能

3、。2.设计把bcd数转化为七段译码器的模块,使得每次计时器变化的值能够反映到开发板的数码管上。因为只用到3个数位,因此利用七段译码器把数码管的一直置为0.即一直不显示。3.设计一个能够产生周期为0.1s的时钟。3.将四个七段译码器得到的编码加到一个4选1的多路复用器上,并用一个2位的选择端来选择输出哪一路编码。因为输入的数据都在一根总线上,所以想不断改变选择信号,使4个LED灯交错显示。考虑利用一个2-4译码器,令信号的变化速度达到一个值,则人眼看到的就是4个LED灯一直显示所做的运算。从而达到24s倒计时的功能。一、功能实现的具体代码5.1倒计时计

4、数器模块`timescale1ns/1psmodulecount_backwards(clk,pause,reset,light,Q);inputclk;inputpause,reset;outputreglight=0;outputreg[11:0]Q=12'b0;always@(posedgeclk)beginif(pause)Q<=Q;elseif(reset==1)beginQ=12'b0;light=0;endelsebeginif(Q==0)light=1;elseif(Q[3:0]==0)beginQ[3:0]=9;if(Q[7:4]=

5、=0)beginQ[7:4]=9;Q[11:8]=Q[11:8]-1;endelseQ[7:4]=Q[7:4]-1;endelseQ[3:0]=Q[3:0]-1;endendendmodule5.2暂停模块程序`timescale1ns/1psmodulepause_mode(rco,reset,pausein,pauseout);inputrco,reset,pausein;outputwirepauseout;regpause;assignpauseout=pause

6、pausein;always@(posedgercoorposedgerese

7、t)if(rco)pause<=1;elseif(reset)pause<=0;elsepause<=pause;endmodule5.3有小数点的第二位的七段码译码器程序`timescale1ns/1psmodulebcd_7seg_dp(en,bcd_in,seg_7);inputen;input[3:0]bcd_in;output[7:0]seg_7;reg[7:0]seg_7;always@(en,bcd_in)beginif(en)case(bcd_in)4'h0:seg_7=8'b;4'h1:seg_7=8'b;4'h2:seg_7=8'

8、b;4'h3:seg_7=8'b;4'h4:seg_7=8'b;4'h5:seg_7=8'b;4'h6:seg_7=8'b;4'h7:seg_7=8'b;4'h8:seg_7=8'b;4'h9:seg_7=8'b;default:seg_7=8'b;endcaseelseseg_7=8'b;endendmodule5.4一般的七段译码器程序`timescale1ns/1psmodulebcd_7seg(en,bcd_in,seg_7);inputen;input[3:0]bcd_in;output[7:0]seg_7;reg[7:0]seg_7;al

9、ways@(en,bcd_in)beginif(en)case(bcd_in)4'h0:seg_7=8'b;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。