电子钟报告Word文档下载推荐.docx

上传人:b****5 文档编号:21333195 上传时间:2023-01-29 格式:DOCX 页数:21 大小:328.89KB
下载 相关 举报
电子钟报告Word文档下载推荐.docx_第1页
第1页 / 共21页
电子钟报告Word文档下载推荐.docx_第2页
第2页 / 共21页
电子钟报告Word文档下载推荐.docx_第3页
第3页 / 共21页
电子钟报告Word文档下载推荐.docx_第4页
第4页 / 共21页
电子钟报告Word文档下载推荐.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

电子钟报告Word文档下载推荐.docx

《电子钟报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《电子钟报告Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。

电子钟报告Word文档下载推荐.docx

3.3电子钟的引脚锁定......................................................................................................16

4硬件支持.......................................................................................................................16

4.1系统供电....................................................................................................................16

4.2独立I/O口配置........................................................................................................17

4.3LED指示灯.................................................................................................................17

4.4无源蜂鸣器.............................................................................................................18

4.5矩阵键盘.................................................................................................................18

4.6数码管外部电路...........................................................................................................19

5编程下载与调试................................................................................................................19

心得体会...............................................................................................................................20

参考文献.............................................................................................................................21

致谢.................................................................................................................................21

摘要

随着计算机性价比的提高及可编程逻辑器件的出现,对传统的数字电子系统设计方法进行了解放性的革命,现代电子系统设计方法是设计师自己设计芯片来实现电子系统的功能,将传统的固件选用及电路板设计工作放在芯片设计中进行。

从20世纪90年代初开始,电子产品设计系统日趋数字化、复杂化和大规模集成化,各种电子系统的设计软件应运而生。

在这些专业化软件中,电子设计自动化EDA(ElectronicDesignAutomation)具有一定的代表性,EDA技术是一种基于芯片的现代电子系统设计方法。

它的优势主要集中在能用HDL语言进行输入、进行PLD(可编程器件)的设计与仿真等系统设计自动化上;

20世纪90年末,可编程器件又出现了模拟可编程器件,由于技术、可操作性及性价比的影响,今后EDA技术会向模拟可编程器件的设计与仿真方向发展,并占据市场的一定份额。

复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)是近年来迅速发展的大规模可编程专用集成电路(ASIC),在数字系统设计和控制电路中越来越受到重视。

集成电路技术和计算机技术的蓬勃发展,让电子产品设计有了更好的应用市场,实现方法也有了更多的选择。

传统电子产品设计方案是一种基于电路板的设计方法,该方法需要选用大量的固定功能器件,然后通过这些器件的配合设计从而模拟电子产品的功能,其工作集中在器件的选用及电路板的设计上。

数字电子钟是一种具有自动显示时间,整点报时功能的电子钟,利用EDA技术,对其编程实现是电子设计自动化的充分体现。

本次即是利用VHDL语言,在MAXPLUSII中编程实现一个电子钟,进行功能仿真,并且在FPGA的芯片上下载实现。

设计中构造了秒模块、分模块、小时模块、八进制模块、扫描显示模块、译码显示模块以及整点报时模块等七个模块,对电子钟进行模块化设计。

在顶层文件里对各个模块进行例化,锁定管脚后下载到FPGA上实现。

关键词:

电子设计自动化FPGA电子钟模块化---

1电子钟总体设计方案

1.1设计要求

设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,能非常方便地对小时、分钟和秒进行手动调节以校准时间,每逢整点,产生报时。

具体要求如下:

A、B:

模式选择,AB=00为模式0,计时状态;

AB=01为模式1,手动校时状态;

Turn:

turn=0时,在手动校对时,选择调整分钟部分;

turn=1时,在手动校对时,选择调整小时部分。

Change:

在手动校时设置模式下,每按一次,计数器加1。

Reset:

reset=0时,整个系统复位;

reset=1时,系统计时或其它特殊功能操作。

状态显示信号(发光管):

LD_h:

指示当前调整的是小时信号;

LD_m:

指示当前调整的是分钟信号。

利用发光二极管进行整点报时。

扩展要求

1.增加小时、分钟、秒的键盘直接修改功能;

2.设计闹钟功能,最多支持5个闹钟,可分别查看和修改闹钟时间,可分别设置闹钟开关。

3.增加万年历功能。

1.2设计方案

本设计用FPGAFPGA来实现,经分析设计要求,整个设计由7大模块构成,即:

秒模块、分模块、小时模块、译码显示电路模块、扫描显示模块、八进制模块和整点报时模块。

1.3各模块的功能

秒模块与分模块是一个六十进制的循环计数器,由时钟脉冲控制计数,每到六十就产生进位。

小时模块是一个二十四进制循环计数器,由时钟脉冲控制计数,不产生进位。

这三个模块都具有异步复位与同步使能的功能,秒模块的时钟由系统给定,分模块由秒模块的进位产生,小时模块由分模块的进位产生。

八进制模块是一个循环八进制计数模块,计数脉冲由系统给定,输出控制扫描显示脉冲和38译码器。

扫描显示模块用来选择秒模块、分模块、小时模块中产生的信号中何种输出到数码管,由一个计数脉冲控制。

译码显示电路模块将输入的信号对应到数码管显示数字。

整点报时模块到整点时利用发光二极管进行整点报时。

1.4电子钟的组成框图

2各单元模块化设计与仿真

2.1秒模块的设计

秒模块是输入信号为1HZ而输出是两个四位数组以及一个进位,设计思路是个六十进制的计数器。

其设计原理如下:

由复位键RST控制异步复位,‘0’表示复位,‘1’表示正常计数;

EN键作为使能端,‘1’表示正常计数,‘0’表示暂停;

输入信号1HZ由系统给定;

六十进制是利用两个计数器(秒个位为十进制,秒十位为六进制),每到六十产生进位输出到分模块,并将秒个位与秒十位输出。

秒模块的源程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYMIAOIS

PORT(RST,EN,CLK:

INSTD_LOGIC;

SEC1,SEC0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

CO:

OUTSTD_LOGIC);

ENDMIAO;

ARCHITECTUREMIAOAOFMIAOIS

BEGIN

PROCESS(CLK,RST)

VARIABLECNT1,CNT0:

STD_LOGIC_VECTOR(3DOWNTO0);

IFRST='

0'

THEN

CNT1:

="

0000"

;

CNT0:

ELSIFCLK'

EVENTANDCLK='

1'

THEN

IFEN='

THEN

ifCNT0="

1001"

andCNT1="

0101"

then

CO<

='

;

else

endif;

IFCNT0="

IFCNT1="

THEN

ELSE

=CNT1+1;

ENDIF;

=CNT0+1;

SEC1<

=CNT1;

SEC0<

=CNT0;

ENDPROCESS;

ENDMIAOA;

秒模块的仿真时序图如下(图3-1):

图3-1

2.2分模块的设计

分模块与秒模块的设计完全一样,只需要将实体名改为MINA。

不将赘述。

2.3小时模块的设计

小时模块的设计有点区别,就是计数长度为二十四,而不是六十,并且不产生进位输出。

其它的完全一样。

小时模块的源程序如下:

ENTITYXiaoshiIS

H1,H0:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDXiaoshi;

ARCHITECTUREXiaoshiAOFXiaoshiIS

0011"

ANDCNT1="

0010"

ELSIFCNT0<

"

H1<

H0<

ENDXiaoshiA;

小时模块的仿真时序图如下(图3-2)

图3-2

2.4八进制模块的设计

八进制模块就是一个八进制循环计数器,由系统给定的时钟作为计数脉冲,为KHZ级别以上的,输出一个三位数组。

源程序如下:

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_arith.all;

useieee.std_logic_unsigned.all;

entityJISHUis

port(clk1:

instd_logic;

ji:

outstd_logic_vector(2downto0));

endJISHU;

architecturebehaofJISHUis

signalcnt:

std_logic_vector(2downto0);

begin

process(clk1)

begin

ifclk1'

eventandclk1='

then

ifcnt="

111"

cnt<

="

000"

else

cnt<

=cnt+1;

endif;

endprocess;

ji<

=cnt;

endbeha;

八进制模块的仿真时序图如下(图3-3)

图3-3

2.5译码显示电路模块的设计

输入为一个三位数组,对数组进行译码,对应到七段数码管的显示端。

entityYIMAis

port(d:

instd_logic_vector(3downto0);

q:

outstd_logic_vector(6downto0));

endYIMA;

architectureYIMAAofYIMAis

begin

process(d)

casedis

when"

=>

q<

0111111"

0001"

0000110"

1011011"

1001111"

0100"

1100110"

1101101"

0110"

1111101"

0111"

0100111"

1000"

1111111"

1101111"

whenothers=>

0000000"

endcase;

endYIMAA;

译码显示电路模块的仿真时序图如下(图3-4)

图3-4

2.6扫描显示模块的设计

利用一个八进制的循环计数,对输入的秒个位、秒十位、分个位、分十位、时个位、时十位进行选择输出。

ENTITYBBBIS

PORT(SEC1,SEC0,MIN1,MIN0,H1,H0:

INSTD_LOGIC_VECTOR(3DOWNTO0);

SEL:

INSTD_LOGIC_VECTOR(2DOWNTO0);

Q:

ENDBBB;

ARCHITECTUREBBBAOFBBBIS

PROCESS(SEL)

CASESELIS

WHEN"

=>

Q<

=SEC0;

001"

=SEC1;

011"

=MIN0;

100"

=MIN1;

110"

=H0;

=H1;

WHENOTHERS=>

1111"

ENDCASE;

ENDBBBA;

扫描显示模块的仿真时序图如下(图3-5)

图3-5

2.7整点报时模块的设计

设计原理:

输入为秒个位、秒十位、分个位、分十位、时个位、时十位,输出为一个四位数组,控制二极管。

当时间为59分59秒或00分00秒或00分01秒时发光二极管灯亮,并且能利用发光二极管的亮灯个数确定时间。

ENTITYbaoshiIS

port(hh1,hh0,mm1,mm0,ss1,ss0:

led_led:

endENTITYbaoshi;

ARCHITECTUREbaoshiAOFbaoshiIS

process(hh1,hh0)

begin

ifhh1="

ifhh0<

1010"

ifmm1="

andmm0="

andss1="

andss0="

led_led<

=hh0+1;

elsif(mm1="

)or(mm1="

)then

=hh0;

endARCHITECTUREbaoshiA;

报时模块的仿真时序图如下(图3-6)

图3-6

3顶层设计

3.1电子钟的逻辑原理图

3.2主程序的设计

IBRARYIEEE;

USEIEEE.STD_LOGIC_U

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

当前位置:首页 > 小学教育 > 语文

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

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