数电课程设计电子时钟设计.docx

上传人:b****2 文档编号:1827576 上传时间:2023-05-01 格式:DOCX 页数:14 大小:484.26KB
下载 相关 举报
数电课程设计电子时钟设计.docx_第1页
第1页 / 共14页
数电课程设计电子时钟设计.docx_第2页
第2页 / 共14页
数电课程设计电子时钟设计.docx_第3页
第3页 / 共14页
数电课程设计电子时钟设计.docx_第4页
第4页 / 共14页
数电课程设计电子时钟设计.docx_第5页
第5页 / 共14页
数电课程设计电子时钟设计.docx_第6页
第6页 / 共14页
数电课程设计电子时钟设计.docx_第7页
第7页 / 共14页
数电课程设计电子时钟设计.docx_第8页
第8页 / 共14页
数电课程设计电子时钟设计.docx_第9页
第9页 / 共14页
数电课程设计电子时钟设计.docx_第10页
第10页 / 共14页
数电课程设计电子时钟设计.docx_第11页
第11页 / 共14页
数电课程设计电子时钟设计.docx_第12页
第12页 / 共14页
数电课程设计电子时钟设计.docx_第13页
第13页 / 共14页
数电课程设计电子时钟设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数电课程设计电子时钟设计.docx

《数电课程设计电子时钟设计.docx》由会员分享,可在线阅读,更多相关《数电课程设计电子时钟设计.docx(14页珍藏版)》请在冰点文库上搜索。

数电课程设计电子时钟设计.docx

数电课程设计电子时钟设计

课程设计报告

课程名称:

VHDL语言与EDA课程设计

 

设计题目:

电子时钟设计

系别:

专业:

班级:

学生姓名:

学号:

起止日期:

指导教师:

教研室主任:

 

指导教师评语:

 

指导教师签名:

年月日

成绩评定

项目

权重

成绩

1、设计过程中出勤、学习态度等方面

0.2

2、课程设计质量与答辩

0.5

3、设计报告书写及图纸规范程度

0.3

总成绩

教研室审核意见:

 

教研室主任签字:

年月日

教学系审核意见:

 

主任签字:

年月日

 

摘要

数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。

电路通过使用数字元件,采用三个计数器来构成完成二十四小时的数字钟设计,并且将译码器和二选一数字选择器配合使用来完成动时间写出。

此外,使能端和复位端控制信号用来控制电路,使得该电路可以完成保持、清零、预置时间、等一系列的功能。

关键词:

计数器;译码器;二选一数字选择器;使能端;复位端。

 

目录

设计要求1

1、方案论证与对比1

1.1方案一1

1.2方案二2

1.3两种方案的对比2

2、各功能模块设计2

2.1计数器2

2.2时间设置模块3

2.3二选一数据选择器3

2.4时间显示模块3

2.5顶层电路VHDL程序设计3

3、调试与操作说明5

4、课程设计心得与体会6

5、元器件及仪器设备明细表6

6、致谢7

7、参考文献7

8、附录7

附录1秒,分计数模块7

附录2时计数器模块8

附录3二选一数据选择器9

附录416进制转换为10进制9

电子时钟设计

设计要求

1.能显示时分秒;

2.设置启停开关;

3.能进行复位;

4.用户可以调整时间。

1、方案论证与对比

按照设计要求,本次的设计分为计数器模块,控制器模块和译码器模块。

根据各个模块的不同,我们的设计上提出了以下两种不同的方案。

1.1方案一

图1.方案一结构图

通过二选一数据选择器选择输出为CLK时钟信号还是数据控制信号,从而使计数器计数,计数器将结果传输给时间显示模块,最后再将16进制数转换为10进制数,在通过数码显示器显示。

当数据选择器输出为CLK时钟信号时,计数器开始计时工作,将输入信号设置为1Hz,则为标准时钟。

当数据选择器输出为数据控制端时,则可通过外部按键改变计数器始终变换,从而改变计数器结果,起到数据写入,预置时间的作用。

1.2方案二

图2.方案二结构图

由CLK传输1Hz信号,计数开始计数,实现标准时钟功能,当控制器关闭,数据传输给时间显示模块,再通过数码显示器显示。

当控制器打开,通过外部按键数据通过控制器输入进计数器,计数器再将结果传输给时间显示模块,从实现到时间预置功能。

1.3两种方案的对比

相同点:

两方案的计数器和时间显示模块的设计思想相同。

不同点:

方案一是二选一数据选择器输出来控制计数器的时钟输入,而方案二是通过控制器来控制计数器的输入输出。

两者相比,虽然方案二结构简单、思路易懂,但方案二需要使用双向端口,而双向端口在控制方面不如二选一数据选择器易操作,准确。

因此,综合考虑,我们选择了方案一进行设计。

2、各功能模块设计

2.1计数器

A.秒计数模块:

秒计数,在频率为1HZ的时钟下以60次为循环计数,并产生进位信号影响分计数;(程序见附录1)

B.分计数模块:

分计数,在秒进位信号为高电平时,计数一次,同样以60次为一个循环计数,同时产生分进位信号影响时计数;(程序见附录1)

C.时计数模块:

时计数,在分进位信号为高电平时,计数一次,以24次为一个循环计数。

(程序见附录2)

2.2时间设置模块

设置调试使能端,可以调时,分,秒。

基本功能是在外部按键后产生低电平跳变到高电平的脉冲,从而模拟出时间脉冲信号输入给计数器。

总共有3个同样的部件,分别控制秒,分,时的计数器。

2.3二选一数据选择器

设置时能段,可以使输出受使能段控制。

基本操作,当使能端为‘0’,将CLK脉冲信号输出,当使能端为‘1’时,将外部按键信号输出。

总共有3个同样的部件,分别控制秒,分,时的计数器。

(程序见附录3)

2.4时间显示模块

有计数器输出的数据分7位标准矢量,显示时为16进制数,通过CONV部件将其转换为10进制数输出。

(程序见附录4)

2.5顶层电路VHDL程序设计

将以上所描述的各功能模块的VHDL语言文件在QuartusⅡ工具软件上打包成可调用的元件,然后再将名功能模块元件调入原理图编辑窗中并连接好,最后得到的顶层文件原理图如图3所示。

工作原理:

当二选一数据选择其使能端‘0’,计数器接收时钟信号。

时钟信号上升沿到来,秒计数器开始计数,计数到60清零并产生进位信号,进位信号传输到分计数器,从而分计数器开始计数,分计数器计数到60清零并产生进位信号传输到时计数器,时计数器计数到24清零。

当二选一数据选择器为‘1’时,计数器接收外部按键信号,每按一次,产生低电平到高电平的变化,模拟时钟信号运行,从而控制计数器变换,起到数据输入,预置时间的功能。

 

图3.顶层原理图

3、调试与操作说明

1)、建立工程。

2)、对顶层文件进行时序仿真,得到仿真波形如下图示:

说明:

当key1键上升沿到来,秒计数器加1;当key2键上升沿到来,分计数器加1;当ke3键上升沿到来,时计数器加。

图4.顶层文件仿真图

3)、引脚锁定——如下表所示。

图1.引脚锁定表

4、课程设计心得与体会

本次课程设计的VHDL语言程序已在QuartusⅡ工具软件上进行了编译、仿真和调试,并通过编程器下载到了EP1C6Q240C8芯片。

经过实践验证,本设计是正确的,仿真数据与实际波形发生器的试验箱运行结果完全一致,达到预期目的,设计成功。

本文给出的设计思想也适用于其他基于计数器的设计。

我们这次课程设计是通过小组的讨论与实验所完成的,在进行过程中碰到了一些困难。

采用的是QuartusⅡ来完成设计的,因此对于QuartusⅡ软件的使用也提出了一定的要求。

其次,由于VHDL程序编写得不够好,以致于综合器在编译时出现了一些错误,需要多次修改程序直到编译成功。

再次,在仿真时没有正确的结果,经过多次修改,终于得到正确的时序仿真波形。

通过这次实验我感觉到我的动手能力得到很大我加强。

在这次课程设计中,我学会了怎样去根据课题的要求去设计电路和调试电路。

动手能力得到很大的提高。

从中我发现自己并不能很好的熟练去使用我所学到的EDA技术与VHDL语言。

在以后的学习中我们要加强对理论与实际相结合。

而且通过这次实验,体现了团队合作的重要性和交流的必要性。

表2元器件及仪器设备明细表

5、元器件及仪器设备明细表

 

符号

型号/参数

数量

备注

计算机

联想

1台

EDA/SOPC实验开发系统

GW48-PK2

1套

QuartusⅡ6.0开发软件

1套

6、致谢

本次课程设计主要由我们两人共同完成,其间当然老师也同样是付出了大量的时间和精力来帮助我们。

不管怎么样,我们都会欣然接受现实,因为我们努力过了。

同时我们也要衷心地感谢我们所有的老师,以及帮助我们的同学们,要是没你们的帮助我们是不能这么好的完成这次的课程设计。

7、参考文献

[1]边计年,薛宏熙译.用VHDL设计电子线路[M].北京:

清华大学出版社,2000

[2]李宗伯,王蓉晖译.VHDL设计表示和综合[M].北京:

机械工业出版社,2002

[3]高书莉,罗朝霞.可编程逻辑设计技术及应用[M].北京:

人民邮电出版社,2004

[4]黄正谨,徐坚.CPLD系统设计技术入门与应用[M].北京:

电子工业出版社,2005

[5]潘松,黄继业.EDA技术与VHDL(第2版)[M].北京:

清华大学出版社,2007

8、附录

附录1秒,分计数模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycntis

port(CLK,RST,EN:

instd_logic;

CQ:

outstd_logic_vector(6downto0);

COUT:

outstd_logic);

endcnt;

architecturebehavofcntis

begin

process(CLK,RST,EN)

variableCQI:

std_logic_vector(6downto0);

begin

ifRST='1'thenCQI:

=(others=>'0');

elsifCLK'eventandCLK='1'then

ifEN='1'then

ifCQI<59thenCQI:

=CQI+1;

elseCQI:

=(others=>'0');endif;

endif;

endif;

ifCQI=59then

ifclk='1'thenCOUT<='1';

elsecout<='0';endif;endif;

CQ<=CQI;

endprocess;

endbehav;

附录2时计数器模块

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycnt1is

port(CLK,RST,EN:

instd_logic;

CQ:

outstd_logic_vector(6downto0)

);

endcnt1;

architecturebehav1ofcnt1is

begin

process(CLK,RST,EN)

variableCQI:

std_logic_vector(6downto0);

begin

ifRST='1'thenCQI:

=(others=>'0');

elsifCLK'eventandCLK='1'then

ifEN='1'then

ifCQI<24thenCQI:

=CQI+1;

elseCQI:

=(others=>'0');endif;

endif;

endif;

CQ<=CQI;

endprocess;

endbehav1;

附录3二选一数据选择器

libraryieee;

useieee.std_logic_1164.all;

entitymux21ais

port(a,b:

instd_logic;

s:

instd_logic;

y:

outstd_logic);

endmux21a;

architecturecqofmux21ais

begin

y<=awhens='0'elseb;

endarchitecturecq;

附录416进制转换为10进制

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityconvis

port(clk:

instd_logic;

in16:

instd_logic_vector(6downto0);

out1,out2:

outstd_logic_vector(3downto0));

endentityconv;

architecturebhvofconvis

begin

process(clk,in16)

variabletmp,q1,q2,q3:

integer;

begin

tmp:

=conv_integer(in16);

q1:

=tmp/10;

q2:

=q1/10;

q3:

=q2/10;

ifclk'eventandclk='1'then

out1<=conv_std_logic_vector(tmprem10,4);

out2<=conv_std_logic_vector(q1rem10,4);

endif;

endprocess;

endbhv;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2