实验三 EDA时钟的设计
姓名:王林强
学号:2009230123
班级:09级通信工程
实验组别:周五下午
同组人员:王林强黄泽斌李贺伟
日期:2012
06 04
一、实验目的:
设计并实现具有一定功能的数字钟。
二、实验仪器:
计算机 一台,FPGA实验箱 一台
三、实验原理:
通过时钟、分钟、秒钟模块组合,来完成整体的计时功能。
四、实验内容与步骤:
实验内容1:正常的时、分、秒计时功能,分别由6个数码管显示24小时、60分钟、60秒钟的计数器显示。
实验内容2:按键实现“校时”“校分”功能;
实验内容3:用扬声器做整点报时。当计时到达59’50”时鸣叫。
实现的方法:通过PORT MAP 语句来实现。
程序代码如下:
SECOND:
library
ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity
SECOND is
port(clk,clr,secset:in std_logic;----时钟/清零信号
sechdata:in std_logic_vector(3 downto 0);----加载分钟的高位
secldata:in std_logic_vector(3 downto 0);----加载分钟的低位
sec1,sec0:out std_logic_vector(3 downto 0);----秒高位/低位
co:out std_logic);-------输出/进位信号
end SECOND;
architecture
SEC of SECOND is
begin
process(clk,clr,secset)
variable cnt1,cnt0:std_logic_vector(3 downto 0);---计数
begin
if clr='1' then----当ckr为1时,高低位均为0
cnt1:="0000";
cnt0:="0000";
elsif secset='1' then
cnt0:=secldata;----加载秒的设定值
cnt1:=sechdata;
elsif clk'event and clk='1' then