数字逻辑课程设计

上传人:枫** 文档编号:493960336 上传时间:2023-06-21 格式:DOC 页数:9 大小:517KB
返回 下载 相关 举报
数字逻辑课程设计_第1页
第1页 / 共9页
数字逻辑课程设计_第2页
第2页 / 共9页
数字逻辑课程设计_第3页
第3页 / 共9页
数字逻辑课程设计_第4页
第4页 / 共9页
数字逻辑课程设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《数字逻辑课程设计》由会员分享,可在线阅读,更多相关《数字逻辑课程设计(9页珍藏版)》请在金锄头文库上搜索。

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

2、。0, 可开始新的一轮倒计时。增加暂停/继续(Pse)功能当aue=0时,计时器停止计时;Pase=1时,计时器恢复计时3。对设计出来的程序用七段译码器显示到开发板上四、 设计思路1. 先设计一个对BCD数的倒计时计数器,使其每隔0.1s就减1计数。初始值为2s,若最终倒计时到0s,就使一盏灯闪烁,证明倒计时终止了;当按下暂停键,倒计时中止,松开暂停键,则继续倒计时;再设计一个复位键,当st=1时,计数器复位到24s.2. 设计一个暂停键的模块,实现暂停的功能.3. 设计把bcd数转化为七段译码器的模块,使得每次计时器变化的值能够反映到开发板的数码管上。因为只用到个数位,因此利用七段译码器把数

3、码管的一直置为0.即一直不显示.4. 设计一个能够产生周期为0s的时钟。3将四个七段译码器得到的编码加到一个4选1 的多路复用器上,并用一个2位的选择端来选择输出哪一路编码。因为输入的数据都在一根总线上,所以想不断改变选择信号,使4个LED灯交错显示.考虑利用一个2-4译码器,令信号的变化速度达到一个值,则人眼看到的就是4个LD灯一直显示所做的运算。从而达到2s倒计时的功能。五、 功能实现的具体代码。倒计时计数器模块tmcal ns / 1psmodle ont_bakward(clk,puse,et,igt,Q);input clk;npupue,reset;outu rglight=0;o

4、uput eg1:Q=12b;always (poeg ck)beni(ue) =Q;ese if(reet=1)beginQ=12b;lght0;nsebeinif(Q0)lght1;else i(Q3:0=0)begi3:09;if(7:4=0)egnQ:=9;Q11:8=Q1:;edelsQ7:4=Q:41;edelsQ3:=Q3:0-1;endndedoule暂停模块程序timcl 1ns /1psmodle aue_ode(co,r,pausn,pauseout);iput co,reset,pausin;oput wie paueo;reg pause;assigpuseout=p

5、auspasen;alays(oedrco or posedge reset)(rco) ue=1;else if(reset)use=0;ese aue=pause;endmdule5。3有小数点的第二位的七段码译码器程序tmesale 1ns / smodulebc_7sg_dp(en,c_n,sg_7);inun;u3:0bcd_in;outut :0 seg_7;eg :seg_;alwys (en, cd_in)gii(en)case(bd_in)40:seg_7=800000;4h1:g_78b1001111;4h2:sg_=b00100;h3:_=8b000100;h4:g_=8

6、010;4h5:eg_7=8b011000;4h6:seg_7=8b010000;h:eg7=b0011110;48:se7=0000000;4h9:se=8b000010;deflt:eg_7=b11111;endcaslse sg_7=b111;endedmdu5.一般的七段译码器程序timescl 1ns / 1psmoduebc_7seg(n,bcd_in,s_7);inpte;iput3:0 b_in;oupt 7:0 seg_7;reg: seg;alays (en,bcin)benif (en)case (bcd_in)40:seg_7=8000011;4h1:e_=b0111;

7、4h2:eg_7b0010010;4h3:seg=8b000001;4h4:seg_=10111;h5:sg_=8b0101001;46:seg_7=8b0100001;47:e_7800011111;4h8:eg_7=8b0000001;4h9:sg_=8b000100;defult:seg_7=8b1111111;ecaseels eg_7=b111111;nedodle.5产生一个周期为0.1s的时钟信号timesale 1 /1smoe f_dide(clk,f50,f2,f10);inpul;ouput f250,f15;ouput rg 10;r f250;eg f15=1;g 1

8、7:0 cnt0;e 21:0 out20;reg fout=0;assin f=fut;alwys (osedg clk)beinoun=ount+;count2cout+1;f (cn=9999)beincun=0;foutfou;endf(ount2=25999)beginut2=0;10=f1;enendalws (gedgeu)f12=12;enmdul六、 电路图七、 仿真结果71计数7。2结束7。3暂停7.4重置7。5暂停和重置八、 总结体会在上一次的课程设计中,对BC加法器的设计编写Vrilog语言异常辛苦,而经过这样的一次体验,在编写本次课程设计的代码时思路清楚了很多,并且基本都能转化成正确的语言.再者,在这次的课程设计中还体验了对chematic的绘制,对设计的内容有了更深入的把握.对4s倒计时器的设计,更加深入的认识了十进制数在具体问题中的处理与应用,对二进制数和BC数的转换有了不一样的理解。文中如有不足,请您指教! /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号