基于Verilog-HDL实现的秒表程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于VerilogHDL实现的秒表程序moduleclock(clk,pause,rst,sm_bit,sm_seg);inputclk,rst,pause;output[2:0]sm_bit;//三位位选信号output[6:0]sm_seg;//7段数码管输出信号reg[3:0]dataout;reg[6:0]sm_seg;reg[2:0]sm_bit;reg[3:0]led0;//百分秒低位regdd0;//百分秒进位reg[3:0]led1;//百分秒高位regdd1;//百分秒高位进位reg[3:0]led2;//秒低位regdd2;//秒低位进位reg[3:0]led3;//秒高位regdd3;//秒高位进位reg[3:0]led4;//分低位regdd4;//分低位进位reg[3:0]led5;//分高位regdd5;//分高位进位/*reg[3:0]led6;//时低位regdd6;//时低位进位*/regclk_100;reg[2:0]cnt_scan;reg[3:0]counter;/*1000——100分频器*/always@(posedgeclk)beginif(!pause)beginif(counter==4'b1001)begincounter=0;endelsecounter=counter+1;endclk_100=counter[3];end//////////////////////计数器/////////////////////////always@(posedgeclk_100orposedgerst)/////////////////百秒个位beginif(rst)beginled0=0;dd0=0;endelseif(clk_100==1)beginif(led0==9)beginled0=0;dd0=1;endelsebeginled0=led0+1;dd0=0;endendend////////////////////////////////////always@(posedgedd0orposedgerst)/////////////////百秒十位beginif(rst)beginled1=0;dd1=0;endelseif(dd0==1)beginif(led1==9)beginled1=0;dd1=1;endelsebeginled1=led1+1;dd1=0;endendend////////////////////////////////////////always@(posedgedd1orposedgerst)/////////////////秒个位beginif(rst)beginled2=0;dd2=0;endelseif(dd1==1)beginif(led2==9)beginled2=0;dd2=1;endelsebeginled2=led2+1;dd2=0;endendend////////////////////////////////////always@(posedgedd2orposedgerst)/////////////////秒十位beginif(rst)beginled3=0;dd3=0;endelseif(dd2==1)beginif(led3==5)beginled3=0;dd3=1;endelsebeginled3=led3+1;dd3=0;endendend////////////////////////////////////////always@(posedgedd3orposedgerst)/////////////////分个位beginif(rst)beginled4=0;dd4=0;endelseif(dd3==1)beginif(led4==9)beginled4=0;dd4=1;endelsebeginled4=led4+1;dd4=0;endendend///////////////////////////////////////always@(posedgedd4orposedgerst)/////////////////分十位beginif(rst)beginled5=0;dd5=0;endelseif(dd4==1)beginif(led5==5)led5=0;elseled5=led5+1;endend/*always@(posedgedd5orposedgerst)/////////////////时个位beginif(rst)beginled6=0;dd6=0;endelseif(dd5==1)beginif(led6==9)led6=0;elseled6=led6+1;endend*/////////////////////////数码管/////////always@(posedgeclkorposedgerst)beginif(rst)begincnt_scan=0;endelsebegincnt_scan=cnt_scan+1'b1;endendalways@(cnt_scan)begincase(cnt_scan[2:0])3'b000:sm_bit=3'b000;3'b001:sm_bit=3'b001;3'b010:sm_bit=3'b010;3'b011:sm_bit=3'b011;3'b100:sm_bit=3'b100;3'b101:sm_bit=3'b101;default:sm_bit=3'b000;endcaseendalways@(sm_bit)begincase(sm_bit)3'b000:dataout=led0;3'b001:dataout=led1;3'b010:dataout=led2;3'b011:dataout=led3;3'b100:dataout=led4;3'b101:dataout=led5;default:dataout=0;endcaseendalways@(dataout)begincase(dataout)0:sm_seg=7'b1111110;//显示01:sm_seg=7'b0110000;//显示12:sm_seg=7'b1101101;//显示23:sm_seg=7'b1111001;//显示34:sm_seg=7'b0110011;//显示45:sm_seg=7'b1011011;//显示56:sm_seg=7'b1011111;//显示67:sm_seg=7'b1110000;//显示78:sm_seg=7'b1111111;//显示89:sm_seg=7'b1111011;//显示9default:sm_seg=7'b0000000;//不显示endcaseendendmodule

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功