资源描述:
《EDA数字电压表设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字电压表源程序:moduleshuzidianya(ale,start,oe,addr,seg,d,eoc,clk,clk1k);outputale,start,oe;//通道锁存,转换开始,输出允许output[2:0]addr;//通道选择output[7:0]seg;//数码管段选input[7:0]d;//转换结果输入inputeoc,clk,clk1k;//转换结束wire[7:0]q;wire[3:0]dec_in;adcint(ale,start,oe,addr,q,d,clk,eoc);segscan
2、segscan(dec_in,q,clk1k);decoderdecoder(seg,dec_in);endmodule//ADC0809控制模块moduleadcint(ale,start,oe,addr,q,d,clk,eoc);outputale,start,oe;output[2:0]addr;output[7:0]q;input[7:0]d;inputclk,eoc;regale,start,oe;reg[7:0]q;reglock;reg[4:0]present_state,next_state;param
3、eterst0=5'b00001,st1=5'b00010,st2=5'b00100,st3=5'b01000,st4=5'b10000;assignaddr=3'b000;always@(posedgeclk)beginpresent_state<=next_state;endalways@(present_stateoreoc)begincase(present_state)st0:next_state<=st1;st1:next_state<=st2;st2:beginif(eoc)next_state<=st3
4、;elsenext_state<=st2;endst3:next_state<=st4;st4:next_state<=st0;default:next_state<=st0;endcaseendalways@(present_state)begincase(present_state)st0:beginale<=0;start<=0;lock<=0;oe<=0;endst1:beginale<=1;start<=1;lock<=0;oe<=0;endst2:beginale<=0;start<=0;lock<=0;o
5、e<=0;endst3:beginale<=0;start<=0;lock<=0;oe<=1;endst4:beginale<=0;start<=0;lock<=1;oe<=1;enddefaultbeginale<=0;start<=0;lock<=0;oe<=0;endendcaseendalways@(posedgelock)beginq<=d;endendmodulemoduleweisaomiao(clk,sel1);inputclk;output[1:0]sel1;reg[1:0]sel1;always@(
6、posedgeclk)beginsel1=sel1+1;endendmodulemodulesuocun(qo,din,load);output[7:0]qo;input[7:0]din;inputload;reg[7:0]qo;always@(posedgeload)beginqo=din;endendmodulemodulesegscan(dout,din,sel);output[3:0]dout;input[7:0]din;inputsel;reg[3:0]dout;always@(selordin)begini
7、f(sel)dout<=din[3:0];elsedout<=din[7:4];endendmodule//显示译码模块moduledecoder(decoderout,dec_in);output[7:0]decoderout;input[3:0]dec_in;reg[7:0]decoderout;always@(dec_in)begincase(dec_in)4'h0:decoderout<=8'b00111111;4'h1:decoderout<=8'b00000110;4'h2:decoderout<=8'b0
8、1011011;4'h3:decoderout<=8'b01001111;4'h4:decoderout<=8'b01100110;4'h5:decoderout<=8'b01101101;4'h6:decoderout<=8'b01111101;4'h7:decoderout<=8'b00000111;4'h8:decodero