EDA》课程设计之手表闹钟设计.docx

上传人:b****6 文档编号:6725460 上传时间:2023-01-09 格式:DOCX 页数:8 大小:148.25KB
下载 相关 举报
EDA》课程设计之手表闹钟设计.docx_第1页
第1页 / 共8页
EDA》课程设计之手表闹钟设计.docx_第2页
第2页 / 共8页
EDA》课程设计之手表闹钟设计.docx_第3页
第3页 / 共8页
EDA》课程设计之手表闹钟设计.docx_第4页
第4页 / 共8页
EDA》课程设计之手表闹钟设计.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

EDA》课程设计之手表闹钟设计.docx

《EDA》课程设计之手表闹钟设计.docx》由会员分享,可在线阅读,更多相关《EDA》课程设计之手表闹钟设计.docx(8页珍藏版)》请在冰豆网上搜索。

EDA》课程设计之手表闹钟设计.docx

EDA》课程设计之手表闹钟设计

 

《电子设计自动化》

课程设计

题目:

带闹钟功能的数字石英时钟电路

院(系)信息科学与工程学院

专业通信工程

届别2011级

班级

学号1115105048

姓名

任课老师

摘要:

本课程设计旨在设计一个可用EP2C5T144C8芯片实现的简易手表电路,带有24小时循环功能、时间设定功能、闹钟功能以及星期显示功能。

通过EDA课程的深入学习,电子设计自动化技术,先用文字描述出电路功能,通过自顶向下思想,构思出所需小单元模块,再分别写出组成电路所需要的模块的程序,并用QUARTERS软件生成各个模块的系统框图,新建blockdiagram文件,添加各个模块,然后用线路连接好。

调试成功后进行波形仿真,检验电路的正确性,并加以修改与改进。

其次,将程序下载到芯片里,进行硬件测试。

结果硬件功能与设想一致,结论:

手表仪器可用EDA实现其软件功能,用EP2C5T144C8芯片及各种简单电子器件实现其硬件功能。

1正文·························································2

1.1系统设计·················································2

1.2单元电路设计·············································2

1.3系统设计·················································7

1.4结论·····················································7

2参考文献·····················································7

1.正文

1.1.系统设计

1.设计要求:

带闹钟功能的数字石英时钟电路(难度系数1.1)

要求:

LED数码管显示小时、分钟及秒;时间可任意设置;外部时钟信号采用石英晶振频率(32768HZ);可设定闹钟时间,闹钟时间到发出警告信号。

 

2.系统设计方案:

设计方案1,在blockprogram文件里直接列出所有需要的小模块,各个小模块为最基础的模块,不可再划分,然后进行连接,实现功能;

设计方案2,将系统划分为定时、计数、闹钟三大块,每块分别独立设计,生成block文件,最后将三大块组合起来。

方案1的方法直接简单,但是线路会比较复杂,排查问题也比较困难;方案2分层设计,框图会简洁明了,但是设计步骤比方案1多了一步把小模块整合。

2个方案都可行,笔者选择第一种方案。

1.2.单元电路设计

3.该设计电路分为四大块:

时钟电路部分、定时部分、闹钟部分、数码管输出选择部分

接下去一一介绍它们的组成,程序,及系统框图。

1.时钟电路部分由2个10进制计数器,2个6进制计数器,1个24进制计数器组成,起始输入脉冲频率为32768HZ,经过一个32768计数器。

10进制程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

10进制

ENTITYCOUNT_10IS

PORT(CLK,RST,EN:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDCOUNT_10;

ARCHITECTUREbhvOFCOUNT_10IS

SIGNALQ1:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALQ2:

STD_LOGIC;

BEGIN

PROCESS(CLK,RST,EN)

BEGIN

IFRST='1'THENQ1<=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='0'THEN

IFQ1<9THENQ1<=Q1+1;COUT<='0';

ELSEQ1<=(OTHERS=>'0');COUT<='1';

ENDIF;

ENDIF;ENDIF;

ENDPROCESS;

Q<=Q1;

ENDbhv;

6进制程序

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

6进制

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOUNT_10IS

PORT(CLK,RST,EN:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

COUT:

OUTSTD_LOGIC);

ENDCOUNT_10;

ARCHITECTUREbhvOFCOUNT_10IS

BEGIN

PROCESS(CLK,RST,EN)

VARIABLEQ1:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

IFRST='1'THENQ1:

=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='0'THEN

IFQ1<5THENQ1:

=Q1+1;COUT<='0';

ELSEQ1:

=(OTHERS=>'0');COUT<='1';ENDIF;

ENDIFENDIF;

Q<=Q1;

ENDPROCESS;

ENDbhv;

24进制程序

LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCOUNT_24IS

24进制

PORT(CLK,RST,EN:

INSTD_LOGIC;

Q,COUT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

DAY:

OUTSTD_LOGIC);

ENDCOUNT_24;

ARCHITECTUREbhvOFCOUNT_24IS

SIGNALQ1,Q2:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALQ3:

STD_LOGIC;

BEGIN

PROCESS(CLK,RST,EN)

BEGIN

IFRST='1'THENQ1<=(OTHERS=>'0');Q2<=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='0'THEN

IFQ1<9THENQ1<=Q1+1;

ELSEQ1<=(OTHERS=>'0');Q2<=Q2+1;ENDIF;

IFQ2="0010"ANDQ1="0011"THENQ1<="0000";Q2<="0000";Q3<='1';

ELSEQ3<='0';

ENDIF;ENDIF;ENDIF;

Q<=Q1;COUT<=Q2;DAY<=Q3;

ENDPROCESS;

ENDbhv;

32768计数器

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

32768计数器计数器

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCT32768IS

PORT(CLK,RST,EN:

INSTD_LOGIC;

Q:

OUTSTD_LOGIC_VECTOR(14DOWNTO0);COUT:

OUTSTD_LOGIC);

ENDCT32768;

ARCHITECTUREoneOFCT32768IS

BEGIN

PROCESS(CLK,RST,EN)

VARIABLEQ1:

STD_LOGIC_VECTOR(14DOWNTO0);

BEGIN

IFRST='1'THENQ1:

=(OTHERS=>'0');

ELSIFCLK'EVENTANDCLK='1'THEN

IFEN='0'THEN

IFQ1<32767THENQ1:

=Q1+1;COUT<='0';

ELSEQ1:

=(OTHERS=>'0');COUT<='1';ENDIF;

ENDIF;

ENDIF;

Q<=Q1;

ENDone;

2.定时部分由一个二选一数据选择器和一个输出选择器符合而成

ENTITYc2b4IS

PORT(a,b,s1,s2:

INBIT;

Y:

OUTBIT);

ENDENTITYc2b4;

ARCHITECTUREoneOFc2b4IS

片选模块

BEGIN

PROCESS(a,b,s1,s2)

BEGIN

IFs1='0'ands2='1'THENY<=b;ELSEY<=a;

ENDIF;

ENDPROCESS;

ENDARCHITECTUREone;

4.闹钟部分组成与时钟部分选择器件一样

5.数码管输出选择部分

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYxz2to1IS

数码输出选择

PORT(a,b:

INSTD_LOGIC_VECTOR(3DOWNTO0);

s:

INSTD_LOGIC;

Y:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

ALARM:

OUTSTD_LOGIC);

ENDENTITYxz2to1;

ARCHITECTUREoneOFxz2to1IS

BEGIN

PROCESS(a,b,s)

BEGIN

IFs='0'THENY<=a;ELSEY<=b;

ENDIF;

IFa=bthenALARM<='1';ELSEALARM<='0';

ENDIF;

ENDPROCESS;

ENDARCHITECTUREone;

系统总图

软件设计平台:

Quartus2

 

1.3.系统测试

1、把软件下载到硬件电路,选择模式1,选择时钟输出显示管,观察24小时时钟的正确性。

2、选择定时功能,任意调整时间,检测可行性。

3、选择数码管输出闹钟时间,调整闹钟为10:

20:

00返回定时定在10:

19:

00让时钟功能运行,看起闹钟功能是否可行。

1.4.结论

可在输入362478HZ的周期脉冲时候,从00:

00:

00计时到23:

59:

59,可在设定闹钟时间响铃,可任意设定时间,完全成功。

2.参考文献

EDA技术与VHDL(第三版)潘松黄继业编著清华大学出版社

资料仅供参考!

!

!

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

当前位置:首页 > 求职职场 > 职业规划

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

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