数字钟VHDL设计
- 格式:pdf
- 大小:1.23 MB
- 文档页数:10


浙江大学城市学院 实验报告纸
一、实验要求
1、用vhdl编程,实现10进制计数器
2、用vhdl编程,实现60进制计数器
3、用vhdl编程,实现数字时钟,时、分、秒、毫秒分别显示在数码管上。
4、实现可调数字时钟的程序设计,用按键实现时、分、秒、毫秒的调整。
二、实验原理
用VHDL,行为级描述语言实现实验要求。思路如下:
1、分频部分:由50MHZ分频实现1ms的技术,需要对50MHZ采取500000分频。
2、计数部分:采用低级影响高级的想法,类似进位加1的思路。对8个寄存器进行计数,同步数码管输出。
3、数码管输出部分:用一个拨码开关控制显示,当sw0=0时,四位数码管显示秒、毫秒的计数。当sw0=1时,四位数码管显示时、分得计数。
4、调整部分:分别用四个按键控制时、分、秒、毫秒的数值。先由一个开关控制计数暂停,然后,当按键按下一次,对应的数码管相对之前的数值加1,,通过按键实现时间控制,最后开关控制恢复计数,完成时间调整。
5、整个实现过程由一个文件实现。
三、实验过程
各个引脚说明:
Clk:50MHZ
SW:数码管切换,SW=’0’时,数码管显示为秒,毫秒。SW=’1’时,数码管显示为时,分。
SW1:暂停与启动。SW1=’0’时,时钟启动,SW=’1’时,时钟暂停。
SW2:时钟调整接通按钮,当SW2=’0’时,不进行调整,当SW=’1’时,通过按键调整时间。
KEY0: 毫秒调整,按一次实现+1功能
KEY1:秒调整,按一次实现+1功能 浙江大学城市学院 实 验 报 告 纸
KEY2:分调整,按一次实现+1功能
KEY3:时调整,按一次实现+1功能
Q0;第一个数码管
Q1; 第二个数码管
Q2: 第三个数码管
Q3: 第四个数码管
1、源代码如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
数字钟设计
一、实验目的:
1.熟悉和掌握基本电子计数器及数码显示的工作原理
2.能独立的完成基本电子计数器的设计,并由此设计出带一定功能的电子钟
二、实验要求
设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校准时间,每逢整点,产生报时音报时。
三、实验平台:
MAX+PLUSII10.1
四、实验过程
一)、总体思路:
这是一个电子钟,其功能如下:可以实现正常的时钟功能,可以调整时间,整点会报时(用显示灯表示),同时还可以设置闹钟,可以显示所设的闹钟值,闹钟有分响铃(用批示灯表示)。在需要校正时间时,不需要暂停时间,可以像在手机上操作一样,用三个调整键,分别对小时调整(CHANGEH),对分钟的第一位调整(CHANGETM),对分钟的第二位调整(CHANGEM)。为了更好的操作,加一个UPDOWN键,为1时,则是每次加1,为0时,则是每次减1。对闹钟进行设置时,不影响正常的计时模块,所以不分影响准确的时间。对每一部分的操作则是通过总的控制模块来实现的。
整个数字钟的系统框图如下图所示:
该数字钟的硬件系统示意图如下图所示:
二)、模块及代码和波形图:
1、正常计时模块:
★、六进制计数器COUNT6的VHDL代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY COUNT6 IS
PORT( CLK,UPDOWN,CLR,P:IN STD_LOGIC;
Q:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);
COUT:OUT STD_LOGIC);
精品文档
。 1欢迎下载 实验三 VHDL 时序逻辑电路设计
一、实验目的
1. 熟悉用VHDL语言设计时序逻辑电路的方法
2. 熟悉用Quartus文本输入法进行电路设计
二、实验所用仪器元件及用途
1. 计算机:装有Quartus软件,为VHDL语言提供操作场所。
2. 直流稳压电源:通过USB接口实现,为实验开发板提供稳定电源。
3. 数字系统与逻辑设计实验开发板:使试验结果下载到开发板上,实现整个实验的最终结果。
三、实验内容
1. 用VHDL语言设计实现一个8421码十进制计数器。
(1) 实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。
(2) 试验结果:VHDL代码和仿真结果。
2. 用VHDL语言设计实现一个分频系数为8,分频输出信号占空比为50%的分频器。
(1) 实验内容及要求:在Quartus平台上设计程序和仿真题目要求。
(2) 试验结果:VHDL代码和仿真结果。
3. 用VHDL语言设计实现一个控制8个发光二极管亮灭的电路。
(1) 实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。
a. 单点移动模式:一个点在8个发光二极管上来回的亮
b. 幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间点灭,依次往复
c. 通过拨码开关或按键控制两种模式的转换
(2) 试验结果:VHDL代码和仿真结果。
四、实验设计思路及过程
1.8421码十进制计数器状态转移表
左图为8421码十进制计数器的状态转移表,abcd为初状态,ABCD为下一状态,每当有“1”出现时,相应的管脚就亮灯,从而从0000到1001的灯依次出现。
VHDL代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL; a b c d A B C D
XXXXXXX学院
学生毕业设计(论文)报告
系 别: 电子与电气工程学院
专 业: 电子信息工程技术
班 号:
学 生 姓 名:
学 生 学 号:
设计(论文)题目: 基于VHDL的数字频率计设计
指 导 教 师:
设 计 地 点: XXXXXXX学院
起 迄 日 期: 20XX.9.1~20XX.10.31 常州信息职业技术学院电子与电气工程学院 毕业设计论文
毕业设计(论文)任务书
专业 电子信息工程技术 班级 姓名
一、课题名称: 基于VHDL的数字频率计设计
二、主要技术指标:
1. 频率范围为:1Hz~50MHz。
2. 结果用数码管十进制显示。
3. 输入信号电压幅度为50mV~5V。
三、工作内容和要求:
1. 构建大体的设计方案,并了解其内容。