EDA课程设计报告数字电子钟.docx

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

EDA课程设计报告数字电子钟.docx

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

EDA课程设计报告数字电子钟.docx

EDA课程设计报告数字电子钟

 

《EDA技术》课程设计报告

 

学院:

专业:

班级:

姓名:

学号:

 

2012年12月30日

目录

 

课题要求…………………………………………………………………3

分析与设计.……………………………………………………………….3

程序代码及原理图.……………………………………………………….4

结果与测试………………………………………………………………11

日志与调试记录…………………………………………………………12

心得与体会………………………………………………………………15

 

数字钟

一、【课题要求】

1.设计一个能显示1/10秒、秒、分、时的12小时数字钟。

2.熟练掌握各种计数器的使用。

3.能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。

4.能用低位的进位输出构成高位的计数脉冲。

 

二、【分析与设计】

数字钟是计数器的综合应用,数字钟由十分之一秒、秒钟、分钟、时钟组成,十分之一秒由十进制计数器74160组成,秒钟由六十进制计数器构成,分钟由六十进制计数器,时钟由十二进制计数器构成。

该数字钟程序的底层文件主要有六进制计数器模块、六十进制计数器模块和十二进制模块,对各模块进行封装,供顶层文件调用,各模块有VHDL文本设计及原理图设计。

输入端clk是连续脉冲,clrn是高电平系统复位,en是高电平使能端,输出端是十分之一秒位、秒钟个位、秒钟十位、分钟个位、分钟十位、时钟个位、时钟十位,最后由7个数码管显示各位的值。

该数字钟程序的底层文件主要有六进制计数器模块、六十进制计数器模块和十二进制模块,对各模块进行封装,供顶层文件调用,各模块有VHDL文本设计及原理图设计。

程序框图:

六进制计数器

六十进制计数器

十进制计数器

十分之一秒秒钟分钟小时

 

三、【程序代码及原理图】

1、六进制计数器

VHDL代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcout6IS

PORT(clk,en,clrn,load:

INSTD_LOGIC;

date:

INSTD_LOGIC_VECTOR(2DOWNTO0);

cnt:

OUTSTD_LOGIC_VECTOR(2DOWNTO0);

co:

OUTSTD_LOGIC);

ENDcout6;

ARCHITECTUREbehaveOFcout6IS

SIGNALq:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

co<='1'WHEN((q="101")AND(en='1'))ELSE'0';

PROCESS(en,clk)

BEGIN

IFclrn='0'THEN

q<="000";

ELSIF(clk'eventandclk='1')THEN

IFload='0'THEN

q<=date;

ELSIFen='1'THEN

q<=q+1;

IF(q="101")THEN

q<="000";

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

cnt<=q;

ENDbehave;

波形仿真:

 

2、六十进制计数器

原理图:

 

波形仿真:

3、十二进制计数器

VHDL代码:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYcout12IS

PORT(clk,clrn,ldn,en:

INSTD_LOGIC;

ha:

INSTD_LOGIC_VECTOR(3DOWNTO0);

hb:

INSTD_LOGIC;

qa:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

qb:

outSTD_LOGIC);

ENDcout12;

ARCHITECTUREbehavOFcout12IS

SIGNALq:

STD_LOGIC_VECTOR(3DOWNTO0);

SIGNALb:

STD_LOGIC;

SIGNALa:

STD_LOGIC_VECTOR(3DOWNTO0);

BEGIN

PROCESS(en,clk)

BEGIN

IFclrn='0'THEN

q<="0000";

ELSIF(clk'eventandclk='1')THEN

IFldn='0'THEN

b<=hb;

a<=ha;

ELSIFen='1'THEN

q<=q+1;

IF(q="1011")THEN

q<="0000";

ENDIF;

ENDIF;

ENDIF;

CASEqIS

WHEN"0000"=>b<='1';a<="0010";

WHEN"0001"=>b<='0';a<="0001";

WHEN"0010"=>b<='0';a<="0010";

WHEN"0011"=>b<='0';a<="0011";

WHEN"0100"=>b<='0';a<="0100";

WHEN"0101"=>b<='0';a<="0101";

WHEN"0110"=>b<='0';a<="0110";

WHEN"0111"=>b<='0';a<="0111";

WHEN"1000"=>b<='0';a<="1000";

WHEN"1001"=>b<='0';a<="1001";

WHEN"1010"=>b<='1';a<="0000";

WHEN"1011"=>b<='1';a<="0001";

WHENOTHERS=>NULL;

ENDCASE;

ENDPROCESS;

qa<=a;

qb<=b;

ENDARCHITECTUREbehav;

波形仿真:

4、数字钟

原理图:

波形仿真:

 

四、【结果与测试】

根据六进制的波形图判断出六进制的设计正确,实现了0~5的计数,并且在5处产生进位,将六进制进行封装与十进制74160根据原理图设计成六十进制计数器,然后将它进行封装,根据六十进的波仿真图可以看出实现了0~59的计数,并且在59处产生进位,然后将它进行封装。

根据十二进制的波形仿真图可以看出实现了0~11的计数,最后根据顶层原理图实现数字钟的设计,根据波形仿真图,由于要给clk赋很多的脉冲才会计到小时,所以我只测试到了一分钟,十分之秒计到9产生进位,秒开始计数,当秒计到59,产生进位,分钟开始计数,因为秒和分钟都是调用的六十进制计数器,秒钟功能是正确的,同理分钟也是可行的,只要来足够的脉冲,就可以实现数字钟,由于纸的限制,数字钟的波形仿真图只计到了一部分,但是根据现有的判断可以断定数字钟的设计是正确的。

接下来是做硬件测试,先选Device,EPF10K10LC84-4,然后进行引脚锁定,由于是简单的数字钟,我就没有对预置端进行引脚锁定。

根据数字钟功能要求可以选实验电路结构图NO.5。

时钟源clk接clock0,引脚号2;使能端en用键7接PIO6,引脚号11;清零端clrn用键6接PIO5,引脚号10;

时钟十位qb用数码管8接PIO44,引脚号72。

时钟个位qa[3..0]用数码管7,qa3接PIO43,引脚号71;qa2接PIO42引脚号70;qa1接PIO41,引脚号67;qa0接PIO40,引脚号66。

分钟十位qmb[2..0]用数码管6,qmb2接PIO38,引脚号64;qmb1接PIO37,引脚号62;qmb0接PIO36,引脚号61。

分钟个位qma[3..0]用数码管5,qma3接PIO35,引脚号60,qma2接PIO34,引脚号59;qma1接PIO33,引脚号58;qma0接PIO32,引脚号54.

秒钟十位qsb[2..0]用数码管4,qsb2接PIO30,引脚号52;qsb1接PIO29,引脚号51;qsb0接PIO28,引脚号50。

秒钟个位qsa[3..0]用数码管3,qsa3接PIO27,引脚号49;qsa2接PIO26,引脚号48;qsa1接PIO25,引脚号47;qsa0接PIO24,引脚号39。

十分之一秒m[3..0]用数码管2,m3接PIO23,引脚号38;m2接PIO22,引脚号37;m1接PIO21,引脚号36;m0接PIO20,引脚号35。

五、【心得与体会】

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

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

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

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