zhuwei0710进程帖
由于核心板焊接失败,没有及时更新,非常抱歉。
再次发帖,鉴于时间不足,基础项目比较简单开发板例程都有,就不上传了,直接贴创意项目吧,第一个是数字时钟数码管显示,这是以前做的一个小项目:.
功能:显示时间(时:分:秒),精度1s,具有校准功能,显示范围:00:00:00--23:59:59,并且具有整点报时功能。
源代码:1)SegClock:顶层文件,例化;2)clock:主时钟模块;3)smg_disp:数码管显示模块;4)sys_clk_ctrl:分频控制模块,产生1s分频;5)speaker:扬声器模块。
顶层文件代码:
//计数器,00:00:00~~23:59:59
module SegClock(
sys_clk,
rst_n,
//ckey,
key,
smg_dig,
smg_seg,
spk_out
);
//----------------------------------------------------
//I/0
input sys_clk; //1Hz
input rst_n;
// input ckey; //拨码开关
input [5:0] key; //按键
output [7:0] smg_dig; //片选
output [7:0] smg_seg; //段选
//output spk_out;
//----------------------------------------------------
wire clk;
// wire ckey_sig;
wire clock_clk;
wire [3:0] hor_h, hor_l;
wire [3:0] min_h, min_l;
wire [3:0] sec_h, sec_l;
wire spk_hor_en, spk_sec_en;
//pll----10M
PLL10M i1
(
.areset (!rst_n),
.inclk0 (sys_clk),
.c0 (clk)
);
//分频1s
sys_clk_ctrl i2
(
.clk(clk), //使用i1的10M时钟 i1---->i3
.rst_n(rst_n),
// .ckey(ckey), //拨码开关控制分频时钟使能
// .ckey_sig(ckey_sig),
.clock_clk(clock_clk)
);
//计时器
clock i3
(
.clk(clk), //使用i1的10M时钟 i1---->i3
.rst_n(rst_n),
.key(key),
.clock_clk(clock_clk),
.hor_h(hor_h),
.hor_l(hor_l),
.min_h(min_h),
.min_l(min_l),
.sec_h(sec_h),
.sec_l(sec_l),
.spk_hor_en(spk_hor_en),
.spk_sec_en(spk_sec_en)
);
//SMG显示
smg_disp i4
(
.clk(clk), //使用i1的10M时钟 i1---->i3
.rst_n(rst_n),
.hor_h(hor_h), //h,m,来自i4 i4---->i5
.hor_l(hor_l),
.min_h(min_h),
.min_l(min_l),
.sec_h(sec_h),
.sec_l(sec_l),
.smg_dig(smg_dig),
.smg_seg(smg_seg)
);
speaker i5
(
.clk(clk), //使用i1的10M时钟 i1---->i3
.rst_n(rst_n),
.spk_hor_en(spk_hor_en),
.spk_sec_en(spk_sec_en),
.spk_out(spk_out)
);
endmodule
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |