1、 1 xxxx 大学 电子设计自动化技术与应用 设计报告 设计题目: 基于 FPGA 的 数字 时钟 学 院: 通 信 学 院 姓 名: 学 号: 2 基于单片机的数字时钟 目录 一、设计任务 .3 二、总体设计方案 .3 1、设计思想 .3 2、总体设计框图 .3 三、单元电路设计 .4 1、秒计数器模块设计与实现 .4 2、分计数器模块设计与实现 .5 3、时计数器模块设计与实现 .6 4、 2 选 1 选择器模块设计与实现 .7 5、译码器模块的设计与实现 .8 6、 3-8 线译 码器模块设计与实现 .9 7、分频器的设计与实现 .9 8、顶层原理设计图 . 10 四、硬件测试与结果分
2、析 . 11 1、硬件测试 : . 11 2、测试过程及结果分析 . 12 五、收获与体会 . 12 3 基于单片机的 数字 时钟 一、 设计任务 1、 能进行正常的时、分、秒计时功能,由 LED 数码 管显示时间 ,最大计时为 23: 59: 59。 2、 小时显示采用 24 进制,分显示和秒显示都采用 60 进制。 3、具有调时和调分功能。 二、总体设计方案 1、设计思想 本设计是基于 Altera 公司的 Cyclone III 系列的 EP3C16Q240C8 芯片设计的,采用层次化设计方式,先设计数字时钟的底层器件:秒计数器、分计数器、时计数器、 2 选 1 选择器、译码器 、分频器
3、 。顶层采用原理图设计方式 ,将所设计的底层器件连接起来构成一个具有计时和调时功能的数字时钟。 2、总体设计框图 完整的数字时钟 设计硬件框图如图所示。 LED 数 码 管 时钟信号 按 键 分频 2选1选择 秒计数 3-8 线 译码器 时计数 分计数 译码器 4 三、 单元电路设计 1、秒计数 器 模块设计与实现 1.1 秒计数器 流程图 如下: Y N 1.2 秒计数器生成模块如图 1 所示 : 图 1 其中, clk 是时钟信号, daout 是 60 计数输出, enmin 是向分进位的高电平。 1.3 波形仿真图 秒脉冲 满 60 向分进位 60 计数器 清零 秒计数输出 5 波形分
4、析:由波形图知秒计数器是由 60 进制计数器完成的 00 到 59 的循环计数功能,当计数到 59 时,再来一个计数脉冲则产生进位输出,即 enmin=1,作为分计数器的计数脉冲。 2、分计数器模块设计与实现 2.1 分计数器 流程图 如下: N Y Y N 2.2 分计数器生成模块如图 2 所示: 分计数输出 向时进位 清零 60 计数器 调分按键按下 满 60 进位高电平 6 图 2 其中, clk 是时钟信号, daout 是 60 计数输出, enhour 是向时进位的高电平。 2.3 波形仿真图 波形分析:由波形图可知,该模块实现了分计数的功能,计数循环从 00到 59,计数脉冲为秒
5、计数器的进位输出,即 enmin。当计数到 59 时,再来一个计数脉冲则产生进位输出,即 enhour=1,作为时计数器的计数脉冲。 3、 时计数器模块设计与实现 3.1 时计数器 流程图 如下 : N Y Y N 3.2 时计数器生成模块如图 3 所示: 调时按键按下 24 计数器 满 24 时计数输出 清零 进位高电平 7 图 3 其中, clk 是时钟信号, daout 是 24 计数输出。 3.3 波形仿真图 波形分析:小时计数模块由 24 进制计数器完成的从 00 到 23 之间的循环计数,计数脉冲为分计数器的进位输出,即 enhour。 4、 2 选 1 选择器模块设计与实现 4.
6、1 2 选 1 选择器 流程图 如下: 按键没按下 按键按下 4.2 2 选 1 选择器生成模块如图 4 所示: 图 4 其中, sel 是按键信号, b 是时钟信号, a 是来自秒向分进位(分向时进位)的信号, y 是所选信号。 进位电平 按键 2 选 1 输出进位电平 输出按键电平 8 5、译码器模块的设计与实现 5.1 译码器 流程 如下: 5.2 译码器生成模块如图 5 所示: 图 5 其中, clk 是时钟信号, second 是秒计数数据, minute 是分计数数据, hour 是时计数数据, seg_dp 是显示“点”, sel 是数码管的位选通信号, seg 是数码管显示信号
7、。 5.3 波形仿真图 波形分析:译码器模块完成了将时、分、秒的二进制码转换为能在 LED 数码管上显示的 7 端 BCD 码,同时产生了数码管的位选通信号,即 sel,位选通信号是将时、分、秒的 7 端 BCD 码分别显示在对应的数码管上。 秒计数 BCD 码秒值 分 计数 秒计数 BCD 转换 BCD 码 分 值 BCD 码 时 值 数码管位选通信号 对应显示输出 9 6、 3-8 线译码器模块设计与实现 6.1 3-8 线译码器 流程图 如下: 6.2 3-8 线译码器生成模块如图 6 所示: 图 6 其中, sel 是 时、分、秒选择信号, y 是 8 位译码信号。 6.3 波形仿真图
8、 波形分析:由波形图分析可知, 3-8 线译码器完成了 3 位信号的输入到 8 位译码的输出功能。 7、分频器的设计与实现 7.1 分频器流程图如下: 由于要为秒计数器提供 1hz 的脉冲和数码显示提供 1000hz 的脉冲,所以要把 50Mhz 的时钟信号进行分频。 BCD 码秒值 BCD 码 分 值 BCD 码 时 值 3-8 线转换 数码管的 2、1 位显示 数码管的 5、4 位显示 数码管的 8、7 位显示 10 N Y N Y 这是产生 1hz 脉冲 这是产生 1000hz 脉冲 7.2 分频器生成模块如图 7 所示 。 图 7 8、顶层原理设计图 将分频器、 2 选 1 选择器、秒计数器、分计数器、时计数器、译码器、 3-8线译码器 按照要求连接起来就组成了整个数字时钟的原理图,如图 8 所示。 50MHZ 时钟信号 二分频 次数加 1 到达25000000 次数变 0 到达25000 次数加 1 次数变 0