这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 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 跳转至

回复

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