|如何制作电子时钟?

【|如何制作电子时钟?】|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?

文章图片

|如何制作电子时钟?



背景简介
数码管:一般为8段共阴/共阳数码管共阴极数码管:公共端接地共阳极数码管:公共端接VCC点亮一个8段数码管 , 需要分别点亮“abcdefg”以及“.” 。 共阳极八段数码管真值表如下数码管驱动方式:静态显示、动态显示(一般为多位数码管区分驱动方式)公共端-位选信号led段-段选信号硬件资源

名称功能管脚
clk系统时钟E1
rst_n系统复位M1
com_led公共端N16
seg_led[0
段选aM11
seg_led[1
段选bN12
seg_led[2
段选cC9
seg_led[3
段选dN13
seg_led[4
段选eM10
seg_led[5
段选fN11
seg_led[6
段选gP11
seg_led[7
段选hD9
KEY0按键-时E16
KEY1按键-分E15
KEY2按键-秒M2
产品需求分析
  • 本次演示使用6位数码管进行动态驱动 , 公共端接高电平 , 段位端接低电平 。

  • 6位数码管显示“HH.mm.ss”
代码演示
按照顶层文件、定时器模块、按键检测模块、计数模块、数码管动态驱动模块 , 进行结构划分 。
模块作用
顶层文件提供模块例化、中间参数
定时器模块提供1s脉冲与1ms脉冲
按键检测模块检测按键触发信号
计数模块根据信号脉冲 , 计算需要显示的时间参数
码管动态驱动模块根据1ms脉冲刷新显示时间参数
顶层文件
使用3个按键 , 分别控制时、分、秒设置 , 故例化3个按键检测模块 , 定时器模块
普通的定时器 , 输出1s、1ms脉冲 。 此处可以再简化为:只提供一个输出脉冲的可配置时间的定时器模块 , 在例化两个信号即可 。 按键检测模块
与前一个例程“蜂鸣器”中类似 , 采用消抖处理 , 不然按键修改参数时 , 可能修改多次 。 计数模块