欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: fpga數(shù)碼管動態(tài)掃描程序 [打印本頁]

作者: bibi    時間: 2015-4-19 01:30
標(biāo)題: fpga數(shù)碼管動態(tài)掃描程序
module display(datain,dataout);
input[3:0] datain;
output[7:0] dataout;//段碼
reg[7:0] dataout;
always@(datain)
case(datain)
8'd0: dataout=8'b11000000;
8'd1: dataout=8'b11111001;
8'd2: dataout=8'b10100100;
8'd3: dataout=8'b10110000;
8'd4: dataout=8'b10011001;
8'd5: dataout=8'b10010010;
8'd6: dataout=8'b10000010;
8'd7: dataout=8'b11111000;
8'd8: dataout=8'b10000000;
8'd9: dataout=8'b10010000;
default: dataout=8'b11111111;
endcase
endmodule
(注:以上是基于pnp管開關(guān)的,就是段碼為1,燈滅,0燈亮,一般的數(shù)碼管應(yīng)該是反過來的)
如果只需驅(qū)動一位數(shù)碼管就很簡單,直接輸入數(shù)即可;如果驅(qū)動多位數(shù)碼管,就需要動態(tài)掃描顯示了,假如是八位數(shù)碼管顯示,這時就要先設(shè)計一個計數(shù)器了,八位計數(shù)器,不斷掃描,而且頻率也要設(shè)計好,每次只驅(qū)動一個管子,由于頻率很快,等光殘影等,人眼根本分辨不出,就造成了所有管子都亮的效果。程序如下
module view(din,clk,rst,dout,dataout);
input clk,rst;
input[23:0] din;
output[7:0] dout;//驅(qū)動使能端,有八位,0有效,綁定到對應(yīng)的使能端
output[7:0] dataout;//段碼輸出,綁定到對應(yīng)的led段碼端
reg[10:0] count;//分頻,因為輸入時鐘太大
reg[7:0] dout;
reg[3:0] data;
reg[2:0] count1;//八位計數(shù)器,不斷掃描
reg clk1;
display u1(data,dataout);//調(diào)用段碼程序
always@(posedge clk)begin
count<=count+1;
if(count==1)
clk1<=~clk1;
end
always@(posedge clk1 or posedge rst)begin
if(rst)begin
data=0;dout=8'b11111110;
end
else begin
count1<=count1+1;
case(count1)
3'd0: begin dout=8'b11111110; data=din[3:0];end//要顯示的數(shù),可以改為一個具體數(shù)
3'd1: begin dout=8'b11111101; data=din[7:4];end
3'd2: begin dout=8'b11111011; data=din[11:8];end
3'd3: begin dout=8'b11110111; data=din[15:12];end
3'd4: begin dout=8'b11101111; data=din[19:16];end
3'd5: begin dout=8'b11011111; data=din[23:20];end
3'd6: begin dout=8'b11111111; data=din[7:4];end
3'd7: begin dout=8'b11111111;data=din[7:4];end
endcase
end
end
endmodule








歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1