EDA课程设计数字秒表.doc

上传人:b****1 文档编号:230348 上传时间:2022-10-07 格式:DOC 页数:11 大小:672KB
下载 相关 举报
EDA课程设计数字秒表.doc_第1页
第1页 / 共11页
EDA课程设计数字秒表.doc_第2页
第2页 / 共11页
EDA课程设计数字秒表.doc_第3页
第3页 / 共11页
EDA课程设计数字秒表.doc_第4页
第4页 / 共11页
EDA课程设计数字秒表.doc_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

EDA课程设计数字秒表.doc

《EDA课程设计数字秒表.doc》由会员分享,可在线阅读,更多相关《EDA课程设计数字秒表.doc(11页珍藏版)》请在冰豆网上搜索。

EDA课程设计数字秒表.doc

课程设计

  题目数字秒表设计  

院系信息工程学院    

班  级      

姓  名      

指导教师

-11-

目录

第一章:

系统设计要求..............................................................................................3

第二章:

实验目的......................................................................................................3

第三章:

实验原理......................................................................................................3

第四章:

系统设计方案..............................................................................................3

第五章:

主要VHDL源程序.....................................................................................4

1)十进制计数器的VHDL源程序..............................................................4

2)六进制计数器的VHDL源程序..............................................................5

3)蜂鸣器的VHDL源程序..........................................................................5

4)译码器的VHDL源程序..........................................................................6

5)控制选择器的VHDL源程序..................................................................7

6)元原件例化的VHDL源程序..................................................................8

第六章:

系统仿真.......................................................................................................10

第七章:

系统扩展思路...............................................................................................11

第八章:

设计心得总结...............................................................................................11

数字秒表的设计

一、系统设计要求

1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。

当计时达60分钟后,蜂鸣器鸣响10声。

2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。

3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。

在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。

二、实验目的

通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。

三、实验原理

秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。

秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.01秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。

当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:

0~59;ss表示秒:

0~59;xx表示百分之一秒:

0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:

0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。

在设计秒表的时候,时钟的选择为100Hz。

变量的选择:

因为xx(0.01秒)和hh(小时)表示的范围都是0~99,所以用两个4位二进制码(BCD码)表示;而ss(秒钟)和mm(分钟)表示的范围是0~59,所以用一个3位的二进制码和一个4位的二进制码(BCD)码表示。

显示的时候要注意的问题就是小时的判断,如果小时是00,则显示格式为mm-ss-xx,如果小时不为00,则显示hh-mm-ss。

四、系统设计方案

秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。

四个10进制计数器:

用来分别对百分之一秒、十分之一秒、秒和分进行计数;两个6进制计数器:

用来分别对十秒和十分进行计数;分频器:

用来产生100HZ计时脉冲;显示译码器:

完成对显示的控制。

根据电路持点,用层次设计概念将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。

按适配划分后的管脚定位,同相关功能块硬件电路接口连线。

用VHDL语言描述所有底层模块。

清零信号为异步清零。

当最高位记到6时停止计数显示译码器全部显示零,并发出十声警报声。

按下复位按钮后继续计数。

数字秒表拟由单片的CPLD/FPGA来实现,经分析设计要求,拟定整个系统由10个模块组成,原理图如下:

五、主要VHDL源程序

1.十进制计数器的VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycount10is

port(clk,start,clr:

instd_logic;

cout:

outstd_logic;

daout:

outstd_logic_vector(3downto0));

endcount10;

architectureoneofcount10is

signalq0:

std_logic_vector(3downto0);

signalq1:

std_logic;

begin

process(clk,clr)

begin

ifclr='1'thenq0<="0000";

elsif(clk'eventandclk='1')then

ifstart='1'then

ifq0="1001"thenq0<="0000";q1<='1';

elseq0<=q0+1;q1<='0';

endif;

endif;

endif;

endprocess;

daout<=q0;

cout<=q1;

endone;

2.六进制计数器的VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entitycount6is

port(clk,start,clr:

instd_logic;

cout:

outstd_logic;

daout:

outstd_logic_vector(3downto0));

endcount6;

architecturetwoofcount10is

signalq0:

std_logic_vector(3downto0);

signalq1:

std_logic;

begin

process(clk,clr)

begin

ifclr='1'thenq0<="0000";

elsif(clk'eventandclk='1')then

ifstart='1'then

ifq0="0101"thenq0<="0000";q1<='1';

elseq0<=q0+1;q1<='0';

endif;

endif;

endif;

endprocess;

daout<=q0;

cout<=q1;

endtwo;

3.蜂鸣器的VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

entityalarmis

port(clk,I:

instd_logic;

q:

outstd_logic

);

endalarm;

architecturearofalarmis

signaln:

integerrange0to20;

signalq0:

std_logic;

begin

process(clk)

begin

ifclk'eventandclk='1'

then

ifi='0'thenq0<='0';

n<=0;

elsifn<=19andi='1'then

q0<=notq0;

n<=n+1;

elseq0<='0';

endif;

endif;

endprocess;

q<=q0;

endar;

4.译码器的VHDL源程序

libraryieee;

useieee.std_logic_1164.all;

entitydeledis

port(num:

instd_logic_vector(3downto0);

led:

outstd_logic_vector(6downto0));

enddeled;

architectureaofdeledis

begin

process(num)

begin

casenumis

when"0000"=>led<="0111111";

when"0001"=>led<="0000110";

when"0010"=>led<="1011011";

when"0011"=>led<="1001111";

when"0100"=>

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1