这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 278 -笨笨河 每日进程

共4条 1/1 1 跳转至

278 -笨笨河 每日进程

菜鸟
2013-07-29 14:31:32     打赏

一、数码管前两位倒计时

 

 

 

 


module led_seg7(
   clk,rst_n,
   sm_cs1_n,sm_cs2_n,sm_db 
  );

input clk;  // 50MHz
input rst_n; // 复位信号,低有效

output sm_cs1_n,sm_cs2_n; //数码管片选信号,低有效
output[6:0] sm_db; //7段数码管(不包括小数点)

reg[24:0] cnt; //计数器,最大可以计数到2的25次方*20ns=640ms

always @ (posedge clk or negedge rst_n)
 if(!rst_n) cnt <= 25'd0;
 else cnt <= cnt+1'b1; //循环计数
 
reg[3:0] num; //显示数值   四位二进制

always @ (posedge clk or negedge rst_n)
 if(!rst_n) num <= 4'b1111;
 else if(cnt == 25'h1ffffff) num <= num-1'b1; //每640ms增一

//-------------------------------------------------------------------------------
/* 共阴极 :不带小数点
              ;0,  1,  2,  3,  4, 5,  6,  7, 
      db      3fh,06h,5bh,4fh,66h,6dh,7dh,07h
              ;8,  9, a,  b,   c,  d,  e,  f , 灭  
      db      7fh,6fh,77h,7ch,39h,5eh,79h,71h,00h*/
parameter seg0 = 7'hc0,
   seg1 = 7'hf9,
   seg2 = 7'ha4,
   seg3 = 7'hb0,
   seg4 = 7'h99,
   seg5 = 7'h92,
   seg6 = 7'h82,
   seg7 = 7'hf8,
   seg8 = 7'h80,
   seg9 = 7'h90,
   sega = 7'h88,
   segb = 7'h83,
   segc = 7'hc6,
   segd = 7'ha1,
   sege = 7'h86,
   segf = 7'h8e;

reg[6:0] sm_dbr;  //7段数码管(不包括小数点)
 
always @ (num)
  case (num) //NUM值显示在两个数码管上
   4'h0: sm_dbr <= seg0;
   4'h1: sm_dbr <= seg1;
   4'h2: sm_dbr <= seg2;
   4'h3: sm_dbr <= seg3;
   4'h4: sm_dbr <= seg4;
   4'h5: sm_dbr <= seg5;
   4'h6: sm_dbr <= seg6;
   4'h7: sm_dbr <= seg7;
   4'h8: sm_dbr <= seg8;
   4'h9: sm_dbr <= seg9;
   4'ha: sm_dbr <= sega;
   4'hb: sm_dbr <= segb;
   4'hc: sm_dbr <= segc;
   4'hd: sm_dbr <= segd;
   4'he: sm_dbr <= sege;
   4'hf: sm_dbr <= segf;
   default: ;
   endcase

assign sm_db = sm_dbr;
assign sm_cs1_n = 1'b0;  //数码管1常开
assign sm_cs2_n = 1'b0;  //数码管2常开
 
endmodule

 




关键词: 笨笨河     每日     进程    

院士
2013-07-29 15:22:23     打赏
2楼
你的所有进程都放在一个帖子内多好

专家
2013-07-29 16:31:30     打赏
3楼
这是个啥板子?

菜鸟
2013-07-29 20:06:14     打赏
4楼
活动申请的啊!

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]