下载此文档

EDA课程设计数字钟.doc


文档分类:通信/电子 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
16
北 华 航 天 工 业 学 院
《EDA技术综合设计》
课程设计报告
报告题目: 利用VHDL语言进行数字钟的设计
作者所在系部: 电子工程系 。
⒊彩灯、扬声器编码模块。
课程设计成果
1.能熟练使用maxpulas-Ⅱ进行程序设计
2.用VHDL编写数字钟程序
5
一.概述:设计一个数字钟。
要求:
1、具有时,分,秒,计数显示功能,以24小时循环计时。
2、具有清零,调节小时、分钟功能。
3、具有整点报时功能,整点报时的同时LED灯花样显示。
原理:
在同一芯片EPF10K10上集成了如下电路模块:
1.时钟计数: 秒——60进制BCD码计数,分——60进制BCD码计数, 时——24进制BCD码计数,同时整个计数器有清零,调分,调时功能,在接近整数时间能提供报时信号。
2.具有驱动8位八段共阴扫描数码管的片选驱动信号输出和八段字形译码输出。
3.蜂鸣器在整点时有报时驱动信号产生。
4.LED灯在整点时有花样显示信号产生。
二.各模块设计
⒈秒计数器模块:
library ieee;
use ;
use ;
entity second is
port(clk,reset,setmin:in std_logic;
enmin:out std_logic;
6
qh:buffer std_logic_vector(2 downto 0);
ql:buffer std_logic_vector(3 downto 0)
);
end second;
architecture fun of second is
signal enmin_1,enmin_2:std_logic;
begin
enmin_2<=(setmin and clk);
enmin<=(enmin_1 or enmin_2 );
process(clk,reset,setmin)
begin
if(reset='0')then
ql<="0000";qh<="000";
elsif(clk'event and clk='1')then
If(ql=9)then
ql<="0000";
if(qh=5)then
qh<="000";
enmin_1<='1';
else qh<=qh+1;
end if;
else ql<=ql+1;
7
enmin_1<='0'after 100 ns;
end if;
end if;
end process;
end fun;
⒉分计数器模块:
library ieee;
use ;
use ;
entity minute is
port(
clk,clk1,reset,sethour:in std_logic;
enhour:out std_logic;
qh:buffer std_logic_vector(2 downto 0);
ql:buffer std_logic_vector(3 downto 0));
end entity;
architecture fun of minute is
signal enhour_1,enhour_2:std_logic;
begin
enhour_2<=(sethour and clk1);
enhour<=(enhour_1 or enhour_2);
process(clk,reset,sethour)
8
begin
if(reset='0')then
qh<="000";ql<="0000";
elsif(clk'event and clk='1')then
If(ql=9)then ql<="0000";
if(qh=5)then qh<="000";
enhour_1<='1';
else qh<=qh+1;
end if;
else ql<=ql+1;
enhour_1<='0' after 10 ns;
end if;
end if;
end process;
end fun;
⒊小时计数器模块:
library ie

EDA课程设计数字钟 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人慢慢老师
  • 文件大小91 KB
  • 时间2022-03-01
最近更新