⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 six_smg2.v

📁 六个数码码动态扫描接口程序
💻 V
字号:
//六位数码管动态显示
module six_smg2(clk,               
               led1,led2,led3,led4,led5,led6,
               seg_a,seg_b,seg_c,seg_d,seg_e,
               seg_f,seg_g,seg_h);
input clk;
//声明输入管脚为wire型

output reg     led1,led2,led3,led4,led5,led6,
               seg_a,seg_b,seg_c,seg_d,seg_e,
               seg_f,seg_g,seg_h;
reg[3:0] led1q,led2q,led3q,led4q,led5q,led6q;
reg [3:0] led_xx;
reg [7:0] seg_out;
reg [1:6] led_out;
reg [7:0] delay;


always @(led_out or led1q or led2q or led3q or
         led4q or led5q or led6q)
  begin
   led1=led_out[1];
   led2=led_out[2];
   led3=led_out[3];
   led4=led_out[4]; 
   led5=led_out[5];
   led6=led_out[6];
  case(led_out)
   6'b111110:led_xx=led6q;
   6'b111101:led_xx=led5q;
   6'b111011:led_xx=led4q;
   6'b110111:led_xx=led3q;
   6'b101111:led_xx=led2q;
   6'b011111:led_xx=led1q;
  default:  led_xx=4'hf;
  endcase
  case(led_xx)
        4'd0:seg_out=8'b00111111;//0,0x3f
        4'd1:seg_out=8'b00000110;//1,0x06
        4'd2:seg_out=8'b01011011;//2,0x5b
        4'd3:seg_out=8'b01001111;//3,0x4f
        4'd4:seg_out=8'b01100110;//4,0x66
        4'd5:seg_out=8'b01101101;//5,0x6d
        4'd6:seg_out=8'b01111101;//6,0x7d
        4'd7:seg_out=8'b00000111;//7,0x07
        4'd8:seg_out=8'b01111111;//8,0x7f
        4'd9:seg_out=8'b01101111;//9,0x6f
        4'd10:seg_out=8'b01110111;//a,0x77;
        4'd11:seg_out=8'b01111100;//b,0x7c
        4'd12:seg_out=8'b00111001;//c,0x39
        4'd13:seg_out=8'b01011110;//d,0x5e
        4'd14:seg_out=8'b01111001;//e,0x79
        4'd15:seg_out=8'b01110001;//f,0x71               
       endcase
       seg_h=seg_out[7];seg_g=seg_out[6];
       seg_f=seg_out[5];seg_e=seg_out[4];
       seg_d=seg_out[3];seg_c=seg_out[2];
       seg_b=seg_out[1];seg_a=seg_out[0];
      end
  always @(posedge clk)
    begin 
       led1q=4'd10;led2q=4'd11;led3q=4'd12;
       led4q=4'd13;led5q=4'd14;led6q=4'd15;
       delay<=delay+1;
       if(delay>200)
        begin
         delay<=8'd0;
         if(led_out==6'b111111) led_out<=6'b111110;
         else
           led_out<=(led_out<<1)|1;
         end
     end
  endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -