tag 标签: 数码钟

相关博文
  • 热度 16
    2014-12-27 14:57
    1551 次阅读|
    0 个评论
    图中存在较多的模块,因此在此将每个模块的功能做简单介绍:       normal_keys_detect 独立按键消抖模块 Dig_Led_Driver 数码管驱动模块 Clock_Control 时钟控制模块 Bin_to_BCD 二进制转 BCD 格式模块,将时、分、秒计数器的值转换为 BCD 格式,以送往数码管显示 MUX 最右侧三个多路选择器负责根据时分秒的显示使能信号进行对应数码管位的亮灭控制 表 4-3 数字钟实验模块功能说明 另外, Clock_Control 模块为综合模块,内部包含了时、分、秒、时钟计数器模块和时间设定模块,该模块的内部结构这里小梅哥不做过多介绍,详细请参看代码。 五、 代码组织方式 本实验主要学习由顶向下的设计流程,代码均为常见风格,这里不多做介绍。希望读者能够通过代码架构,学习领会这种自顶向下的设计结构的优势。 六、 关键代码解读 本设计中,顶层模块主要实现了各个模块的例化和数码管显示使能的多路控制,相信看了图 4-1 后,便能理解顶层代码的含义。由于本系统涉及到的模块较多,采用文档的形式很难简洁的讲解清楚,因此,综合实验,小梅哥以后将不再进行关键代码的解读。反之,小梅哥会尽快进行视频的录制,对综合实验采用视频的方式讲解,以使读者快速理解架构。 七、 测试平台设计 本系统为低速系统,采用 Modelsim 仿真耗时长,而且波形不便于观察。因此仿真略去。大家可以对每个子模块进行仿真,以验证其正确性。 八、 仿真分析 九、 下板验证 此次,小梅哥采用很早以前购买的 21EDA 的板子进行了下板测试,实测功能完备。以下为测试照片(渣渣像素,请各位谅解)。 十 、 总结 本实验实现了数码钟的功能,并可以通过 4 个按键进行时间的设置,因为时间的关系,小梅哥没有在文档中进行详细的介绍,请大家谅解。
  • 热度 19
    2014-10-30 09:54
    1731 次阅读|
    1 个评论
    一、         实验目的 实现数码时钟的功能,要求能够进行 24 时制时、分、秒的显示,并能够通过按键调整时间。 二、         实验原理 通过对系统时钟进行计数,获得 1S 的标准信号,再以该信号为基础,进行时、分、秒的计数,通过数码管将该计数值显示出来,即可实现数字钟的功能。同时可以使用独立按键对时、分、秒计数器的初始值进行设置,即可实现时间的设定。 三、         硬件设计 本实验硬件电路简单,用到了 8 个数码管和 4 个独立按键。硬件电路如下:     图 3-1 数字钟电路   四、         架构设计 本实验设计架构模块较多,下图为数字钟的架构:   图 4-1 数字钟实验模块组织结构图 由图可知本实验有 16 个输出端口和 6 个输入端口,各端口的意义如下 端口说明 端口名 端口功能或意义 Rst_n 全局复位 Clk 系统时钟输入端口 Key_in 按键输入端口 Seg 数码管段驱动输出 Sel 数码管位驱动输出 表 4-1 数字钟实验端口说明 因为存在模块间的连接,因此有部分内部信号,下表为部分内部信号的名称和功能说明 内部信号说明 内部信号名 内部信号功能或意义 Time_Data 时间值,直接送往数码管显示 Key_Value 按键检测结果输出 Key_Flag 按键检测成功标志信号 Hour_Disp_en 数码管“时”显示使能信号,提供调时时候的闪烁效果 Min_Disp_en 数码管“分”显示使能信号,提供调分时候的闪烁效果 Sec_Disp_en 数码管“秒”显示使能信号,提供调秒时候的闪烁效果 表 4-2 数字钟实验内部信号说明