没有合适的资源?快使用搜索试试~ 我知道了~
首页数字电子技术课程设计报告.docx
使用quartus设计基于VHDL语言的简易数字钟,要求数字钟能实现以下功能。 1.秒、分为00~59六十进制计数器。 2.时为00~23二十四进制计数器。 3. 具有设置闹钟功能,在设定时间到达时鸣叫30秒。 4.具有整点报时功能:整点报时电路要求在每个整点时鸣叫10秒。 5.利用设计软件对其进行设计输入,设计仿真,使其具备所要求的功能。 里面报告仿真波形,源代码.
资源详情
资源评论
资源推荐

课程设计报告
设计题目: 多功能数字电子钟
所属院系: 计算机学院
专 业:
班 级:
小组成员:
指导教师:
| 课程设计报告
1

一.设计要求
使用 quartus 设计基于 VHDL 语言的简易数字钟,要求数字钟能实现以下功能。
1.秒、分为 00~59 六十进制计数器。
2.时为 00~23 二十四进制计数器。
3. 具有设置闹钟功能,在设定时间到达时鸣叫 30 秒。
4.具有整点报时功能:整点报时电路要求在每个整点时鸣叫 10 秒。
5.利用设计软件对其进行设计输入,设计仿真,使其具备所要求的功能。
二.设计实现功能
该数字电子钟能够实现时、分、秒计时功能;校准时和分
的功能;校准时间时秒清零的功能;整点报时的功能;
三.分工
四.各个设计模块描述
(一) 计时模块
| 课程设计报告
2

1. 秒计数是由一个六十进制的计数器构成,生成元器件如下
Clk:驱动秒计时器的时钟信号
Clr:校准时间时清零的输入端
En:使能端
Sec0[3..0] sec1[3..0]:秒的高位显示,低位显示
Co:进位输出端,作为分的 clk 输入
代码如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity second is
port (clk,clr,en:in std_logic;
sec0,sec1:out std_logic_vector(3 downto 0);
co:out std_logic);
end second;
architecture sec of second is
SIGNAL cnt1,cnt0:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if(clr='0')then
cnt0<="0000";
cnt1<="0000";
elsif(clk'event and clk='1')then
if(en='1')then
if cnt1="0101" and cnt0="1000" then
co<='1';
cnt0<="1001";
elsif cnt0<"1001" then
cnt0<=(cnt0+1);
| 课程设计报告
3

else
cnt0<="0000";
if cnt1<"0101"then
cnt1<=cnt1+1;
else
cnt1<="0000";
co<='0';
end if;
end if;
end if;
end if;
sec1<=cnt1;
sec0<=cnt0;
end process;
end sec;
仿真图如下:
2. 分计数是由六十进制的计数器构成,生成元器件如下
Clk:设置分输入和秒进位的或输入
En:使能输入
Min1[3..0] min0[3..0]:分的高位显示,低位显示
Co:向时的进位输出
代码如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
| 课程设计报告
4

entity minute is
port (clk,en:in std_logic;
min1,min0:out std_logic_vector(3 downto 0);
co:out std_logic);
end minute;
architecture min of minute is
SIGNAL cnt1,cnt0:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if(clk'event and clk='1')then
if en='1' then
if cnt1="0101" and cnt0="1001" then
co<='1';
cnt0<="0000";
cnt1<="0000";
elsif cnt0<"1001" then
cnt0<=(cnt0+1);
else
cnt0<="0000";
cnt1<=cnt1+1;
co<='0';
end if;
end if;
end if;
min1<=cnt1;
min0<=cnt0;
end process;
end min;
仿真图如下:
| 课程设计报告
5
剩余24页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0