在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4384|回复: 9

七段数码显示管的设计

[复制链接]
发表于 2006-9-15 19:18:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请问谁有七段数码管的设计实验实例
能不能共享一下
我在设计中看到的资料里有PFGA引脚与BOARD NET NAME有什么区别呀
还有PIN
发表于 2006-9-16 10:00:15 | 显示全部楼层
小声问一句,
你说的是用led来搭出数码管的设计方法,还是你有一个数码管,想知道如何连接,如何控制?
 楼主| 发表于 2006-9-16 14:59:49 | 显示全部楼层
有数码管
想用QUARTUS来设计
发表于 2006-9-18 11:10:47 | 显示全部楼层
确定是共阳极还是共阴极,直接用硬件描述语言写真值表即可。

很简单的
发表于 2006-9-18 11:12:06 | 显示全部楼层
在Quartus II中可以直接用AHDL写
头像被屏蔽
发表于 2006-9-18 17:14:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2006-10-20 17:36:10 | 显示全部楼层
设计一个译码器应该就可以了吧。
发表于 2006-10-27 17:29:13 | 显示全部楼层
电路比较简单,要动态的还是静态的,
发表于 2006-10-31 21:54:15 | 显示全部楼层
// synopsys translate_off
`timescale 1 ns / 10 ps
// synopsys translate_on

//这是四个数码管,分时给数据,但人眼看不出来闪烁,呵呵

module sevenseg
    (
       clk,
       reset,
       number1,    //四个管子分为两组
       number2,
       dp1,      //四个小数点
       dp2,
       dp3,
       dp4,
       out_a,
       out_b,
       out_c,
       out_d,
       out_e,
       out_f,
       out_g,
       out_dp,
       out_sel
    );
input  clk;
input  reset;
input  [7:0] number1;
input  [7:0] number2;
input  dp1;
input  dp2;  
input  dp3;
input  dp4;
output out_a;   
output out_b;   
output out_c;   
output out_d;   
output out_e;   
output out_f;   
output out_g;   
output out_dp;  
output [3:0] out_sel;

wire   clk;
wire   reset;
wire   [7:0] number1;      
wire   [7:0] number2;   
wire   dp1;
wire   dp2;
wire   dp3;
wire   dp4;  
reg    out_a;               
reg    out_b;               
reg    out_c;               
reg    out_d;               
reg    out_e;               
reg    out_f;               
reg    out_g;               
reg    out_dp;  
        
reg    [3:0] out_sel;   
reg    [9:0]cnt;
reg    [3:0]count;
wire   [6:0]discode;

always @(posedge reset or posedge clk)                  
        begin                                             
           if(reset==1)                              
               cnt <= 10'd0;
           else
              begin
               cnt <= cnt + 10'd1;
              end
        end
        
always @(posedge reset or posedge clk)                                                           
        begin                                
           if(reset==1)      
              begin               
                out_sel <= 4'd0;   
                out_dp  <= 1'd1;
              end               
           else                              
              begin         
                if(cnt<=10'd255)      
                   begin
                      out_sel <= 4'd1;  
                      out_dp  <= ~dp1;
                   end
                else if(cnt<=10'd511)
                   begin
                      out_sel <= 4'd2;  
                      out_dp  <= ~dp2;
                   end
                else if(cnt<=10'd761)  
                   begin
                      out_sel <= 4'd4;
                      out_dp  <= ~dp3;
                   end
                else                  
                   begin
                      out_sel <= 4'd8;
                      out_dp  <= ~dp4;
                   end                     
                                                                                 
              end                           
        end      
        
always @(posedge reset or posedge clk)                                                           
        begin                                
           if(reset==1)      
              begin               
                count   <= 4'd0;
              end               
           else                              
              begin         
               
                if(cnt<=10'd255)       count <= number1[7:4];                 
                else if(cnt<=10'd511)  count <= number1[3:0];  
                else if(cnt<=10'd761)  count <= number2[7:4];
                else                   count <= number2[3:0];                 
                                                         
              end                           
        end                     
        
always @(posedge reset or posedge clk)                                                           
        begin                                
           if(reset==1)      
              begin               
                out_a   <= 1'd1;
                out_b   <= 1'd1;
                out_c   <= 1'd1;
                out_d   <= 1'd1;
                out_e   <= 1'd1;
                out_f   <= 1'd1;
                out_g   <= 1'd1;
              end               
           else                              
              begin         
                {out_a,out_b,out_c,out_d,out_e,out_f,out_g} <= discode;                                         
              end                           
        end                                          
            
segdec segdec1 (count,discode);     
                           
endmodule   


         
module segdec
      (
         count,
         discode     
       );

input  [3:0]count;
output [6:0]discode;
reg [6:0]discode;
always @ (count)
   begin
      discode = 7'b1111111;
      case(count)
        4'd0:  discode = 7'b0000001;
        4'd1:  discode = 7'b1001111;
        4'd2:  discode = 7'b0010010;
        4'd3:  discode = 7'b0000110;
        4'd4:  discode = 7'b1001100;
        4'd5:  discode = 7'b0100100;
        4'd6:  discode = 7'b0100000;
        4'd7:  discode = 7'b0001111;
        4'd8:  discode = 7'b0000000;
        4'd9:  discode = 7'b0000100;
        4'd10: discode = 7'b0001000;
        4'd11: discode = 7'b1100000;
        4'd12: discode = 7'b0110001;
        4'd13: discode = 7'b1000010;
        4'd14: discode = 7'b0110000;
        4'd15: discode = 7'b0111000;
      endcase
   end
endmodule
发表于 2009-10-30 21:34:36 | 显示全部楼层
不错,楼上写的不错,又学习了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-6-17 16:49 , Processed in 0.107067 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表