时钟设计VHDL代码Quartus仿真

名称:时钟设计VHDL代码Quartus仿真(文末获取)

软件:Quartus

语言:VHDL

代码功能:

时钟设计

实验内容 完成时钟的动态显示功能

■实验要求

◆五人一组,完成时钟的分十位、分个位、秒十位、秒个位动态显示

◆数码管动态显示(译码逻辑、动态显示逻辑)

◆计数器(分的十位、分的个位、秒的十位、秒的个位--取余和取整)

◆设计报告

要求.jpg

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图

整体仿真图

分频模块

数码管计数器模块

2-4译码器模块

4选1模块

分秒计数器模块(计时模块)

数码管译码模块

部分代码展示:

LIBRARY IEEE; 
USE IEEE.STD_LOGIC_1164.ALL; 
USE IEEE.STD_LOGIC_UNSIGNED.ALL; 
--译码器
ENTITY decode_41 IS 
PORT( 
sel : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ;--输入2位
en : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)--输出4位
) ; 
END ENTITY decode_41 ; 
ARCHITECTURE behav OF decode_41 IS 
BEGIN 
PROCESS (sel) BEGIN 
CASE sel(1 DOWNTO 0) IS 
WHEN "00"=> 
en<="1000";--0
WHEN "01"=> 
en<="0100";--1 
WHEN "10"=> 
en<="0010";--2 
WHEN "11"=> 
en<="0001";--3 
WHEN OTHERS => NULL ;
END CASE ; 
END PROCESS ; 
END ARCHITECTURE behav ;
源代码

点击下方的公众号卡片获取

根据以上对于多功能数字钟的功能的描述,可以将整个的电路设计分为以下几个模块: 分频模块:由于实验电路板上所能提供的只有1Khz和6Mhz的信号,而本设计过 程的即以及跑表模块需要1hz、100hz和4hz的时钟信号。 控制模块:为达到多动能数字钟在计、校、显示日历、跑表等不同的模块之间 切换,需要控制模块产生序要不相冲突的控制信号,保证各个模块的功能有序的执行。 计模块:在输入的1hz时钟信号,产生显示的AM、PM、、分、秒信号,由 于要涉及到后面的校模块,这里采用带有置数的计模块,在load信号控制下将校模块设定的间转载至初始值,在初始值的基础上正常计。 校模块:当功能切换至校模块,本程序采用在外部按键的上升沿即:每按动 一次校键对应显示相应加1。 万年历模块:在计模块的进位输出信号(每次跳动代表一年),产生显示的年、月、 日、星期、是否闰年信号,同样类似于计模块考虑到后面的校正日历模块,这里同样采用带有置数的计模块,在load信号控制下将校正日历模块设定的日历转载至初始值,在初始值的基础上正常计。 6. 校正日历模块:切换至该模块,采用外部按键的上升沿:每按动一次校正键对应的显示相应的加1。 闹钟模块:这里采用和校模块同样的电路设定闹钟的间,一旦触发信号为高电 平,触发音乐播放模块,播放歌曲《两只蝴蝶》,不按停止键播放一分钟自动停止。 跑表模块:采用显示毫秒、秒、分的显示格式,并设有stop按钮和reset按钮。 9. 显示模块:采用从控制模块中出来的mode 信号为变量,跟随该信号的变化,选着不同的模块的输出信号,通过两个译码器输出数据连接到数码管显示。 以上简单的介绍了构成电路的几大模块,下面给出本设计电路的总的模块化示意图: 1)10分频模块: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin10 is port (clk_in:in std_logic;- - 输入时钟信号      clk_out:buffer std_logic);- -输出时钟信号 end fenpin10; architecture rtl of fenpin10 is
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值