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
回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |