eda数字时钟实验报告

合集下载

EDA实验报告(时钟)

EDA实验报告(时钟)

巢湖学院EDA实验报告数字时钟的设计报告学校:巢湖学院系别:物理与电子科学系专业:电子科学与技术班级:07电子科学与技术学号:07036037姓名:汪振新指导老师:常红霞2009-12-10摘要:根据系统设计的要求,系统设计采用自顶向下的设计方法,可以将该系统中的各功能模块细分为:秒计数模块、分计数模块、小时计数模块、报时模块、时间设置模块和译码显示模块六个部分。

具有清零、校时、校分等功能。

关键字:VHDL MAX+PLUS软件七段共阴数码管设计校时系统整体GDF图标文件截图目录一设计目的 (4)二设计要求 (4)三系统整体构架 (4)四各模块程序设计 (5)五系统模块的编译、仿真及调试 (14)六系统模块的整合 (18)七系统硬件介绍 (19)八系统实验过程 (20)九实验总结 (21)十参考文献 (21)一:设计目的1、数字时序逻辑电路综合应用。

2、学习喇叭的驱动方法。

3、学习CPLD/FPGA的层次化设计方法。

二:设计要求具有时、分、秒计数显示功能,以24小时循环计时。

整个计数器具有清零、调分、调时功能,而且在接近整点时间时能提供报时信号。

三:系统整体构架根据系统设计的要求,系统设计采用自顶向下的设计方法,可以将该系统中的各功能模块细分为:秒计数模块、分计数模块、小时计数模块、报时模块、时间设置模块和译码显示模块六个部分。

先使用VHDL语言设计编译将这每个模块制作成图元,然后再使用图形编辑器进行总体的整合,系统的整体组装设计的草图如下:四:各模块程序设计1.秒计数模块VHDL(second.vhd)秒计数模块中是以60进制进行循环的,故需要的秒数据输出应该是7位的,但是为了方便随后的调整时间模块设计,秒输出数据用8位二进制表示,其中低四位用于秒的低位,而高四位作为秒的高位。

另外在该模块下的程序由于考虑到系统功能中调整时钟和分钟的要求,故要在秒计数模块中另外加入复位信号(reset)以及分钟设置信号(setmin)。

eda多功能数字钟实验报告

eda多功能数字钟实验报告

eda多功能数字钟实验报告
《EDA多功能数字钟实验报告》
摘要:
本实验通过对EDA多功能数字钟的组装和测试,探索了数字钟的功能和性能。

实验结果表明,EDA多功能数字钟具有精准的时间显示、多种闹铃设置、温度
和湿度监测等功能,是一款实用且性能稳定的数字钟产品。

引言:
数字钟作为现代生活中不可或缺的家居用品,其功能和性能一直备受关注。


次实验选择了EDA多功能数字钟作为研究对象,旨在通过对其组装和测试,深
入了解数字钟的各项功能和性能指标。

实验方法:
1. 组装数字钟:按照产品说明书,将数字钟的各个部件进行组装,并确保连接
牢固。

2. 功能测试:测试数字钟的时间显示、闹铃设置、温度和湿度监测等功能。

3. 性能测试:对数字钟的时间精准度、闹铃响铃声音、温度和湿度监测准确度
等进行测试。

实验结果:
1. 时间显示:数字钟的时间显示精准,误差在1秒以内。

2. 闹铃设置:数字钟支持多组闹铃设置,响铃声音清晰、音量适中。

3. 温度和湿度监测:数字钟的温湿度监测准确度高,与实际环境温湿度相符合。

讨论:
通过本次实验,我们发现EDA多功能数字钟具有精准的时间显示、多种闹铃设
置、温度和湿度监测等功能,性能稳定,符合用户对数字钟的基本需求。

同时,数字钟的组装和操作也相对简单,适合家庭使用。

结论:
EDA多功能数字钟是一款实用且性能稳定的数字钟产品,能够满足用户对数字
钟的基本需求。

在未来的生活中,数字钟将继续扮演重要的角色,为人们的生
活提供便利。

致谢:
感谢实验中提供支持和帮助的老师和同学们。

EDA数字钟实验报告

EDA数字钟实验报告
4.输入完成后检查并保存,编译。
5.改错并重新编译;
6.建立仿真波形文件并进行仿真。单击File菜单下的New,选择Vector Waveform File单击OK,创建一个后缀名为*.vwf的仿真波形文件,按照课件上的方法编辑输入波形,保存,进行仿真,验证仿真结果是否正确;
7.选择器件及分配引脚,重新编译;
四.心得体会
对于我们刚熟悉QuartusⅡ的新手来说,这是一个比较大的实现程序了。通过多VHDL语句的掌握以及真值表的理解来控制LED的七段显示译码。先设计一个4位计数器,使其可以从1计数到15.分别用1~F表示,然后通过译码器显示。通过这次实验进一步增进了我们对VHDL语言的了解,提高了发现错误及纠错的能力。
控制模块:数字钟要满足题目要求,必须有5种状态:正常计时、校小时、校分钟、闹铃设置小时、闹铃设置分钟,所以至少用三个二进制数字表示这5种状态,“000”、“001”、“010”、“011”、“100”,当setup为低电平时,状态在这五种状态之间转换,当setup为高电平时,就停在该状态,等待其他操作。主控组合进程程序:
8.根据引脚分配在试验箱上进行连线,使用LED进行显示;
9.程序下载,观察实验结果并记录;
三.仿真波形:
四.心得体会
通过此次课堂的亲自操作,大致了解了quartus的工作流程和操作步骤,对数字电路中的38译码器和半加器的原理有了新的认识,其中,全加器可以通过之前半加器的原理图生成文件以及与门和或门结合来实现。同时对VHDL语言的语法结构和设计方法也有了初步认识,虽然还不能独立编写程序但是却可以看懂程序了,对这门编程语言有浓厚的兴趣!
二.实验步骤
学习QuartusⅡ软件的使用方法:
1.进入QuartusⅡ环境;

EDA数字钟实验报告

EDA数字钟实验报告

EDA数字钟实验报告EDA实验EDA实验数字钟一.实验任务用FPGA器件和EDA技术的设计已知条件:XXX软件XXX实验开发装臵基本功能:1.以数字形式显示时,分,秒的时间;2.小时计数器为24进制;3.分,秒计数器为60进制;多功能数字电子钟设计:输入变量:时钟CPS,直接清零RD;输出变量:小时H[7..4]、H[3..0]为8421BCD码输出,其时钟为CLK;分计时M[7..4]、M[3..0]为8421BCD 码输出,其时钟为CPM;秒计时S[7..4]、S[3..0]为8421BCD码输出,其时钟为CLK;RD为清零信号等。

二.仿真与波形1.60进制原理图如下;其仿真波形如下:2.24进制原理图如下:其仿真波形如下:3.数字钟的整个电路图如下:逻辑电路说明:由电路分析得知,多功能数字电子钟最基本的计时电路在CLK(秒)时钟作用下,电路输出变量为H[7..0],M[7..0]及S[7..0],按8421BCD码正常走时,电路为异步时序逻辑电路4.数字电子钟的仿真波形如下:仿真波形分析及结论:由仿真波形分析得知在CLK(秒)时钟作用下,电路正常走时。

分析过程完全符合多功能数字电子钟最基本的计时功能,逻辑电路设计正确。

三.感想:这次的课程设计的内容是《EDA多功能数字钟》,这次课程设计验我花了两个上午的时间。

虽然我是顺利的完成了任务,但是在实验中我还是发现了自己存在的一些问题。

在课程设计中我经常做完上一步就忘记了下一步该怎么做,总是一边看老师的课件一边做,这样一来浪费了不少时间,这是由于我对软件的操作不熟练的缘故,因此我觉得我应该在今后的日子里多练习一下这个MA_+PLUS软件,做到在以后的学习及工作中能利用这个软件快速的正确的完成任务。

在实验中我还经常出现掉步骤的现象,比如经常忘记“指向当前文件”,从而导致得到的结果是错误的甚至根本就得不到结果,这全都是因为粗心大意造成的。

在今后的日子里我会努力的去改掉这个毛病,从而高质量的完成老师交给我的各项任务!。

eda数字钟实验报告

eda数字钟实验报告

eda数字钟实验报告EDA数字钟实验报告本次实验旨在设计并实现一个EDA数字钟。

通过这个实验,我们将学习如何使用EDA工具来设计数字电路,并通过实际的电路实现来验证我们的设计。

1. 实验背景数字钟是我们日常生活中常见的设备之一。

它不仅可以显示时间,还具有闹钟等功能。

在这个实验中,我们将使用EDA工具来设计一个数字钟电路,并通过FPGA实现这个电路。

2. 实验目标本次实验的目标是设计一个能够显示小时、分钟和秒的数字钟电路。

我们将使用七段数码管来显示这些信息,并通过按键来设置时间和闹钟。

3. 设计思路我们的设计思路如下:3.1 时钟模块我们首先需要设计一个时钟模块,用来产生一个固定的时钟信号。

我们可以使用FPGA的时钟模块来实现这个功能,或者使用外部的晶振电路。

3.2 数码管驱动模块接下来,我们需要设计一个数码管驱动模块,用来将数字转换为七段数码管的显示信号。

我们可以使用查找表或者逻辑门电路来实现这个功能。

3.3 时间设置模块为了能够设置时间,我们需要设计一个时间设置模块。

这个模块可以通过按键来设置小时、分钟和秒。

3.4 闹钟设置模块类似于时间设置模块,我们还需要设计一个闹钟设置模块。

这个模块可以通过按键来设置闹钟的小时和分钟。

3.5 主控制模块最后,我们需要设计一个主控制模块,用来控制时钟、数码管驱动、时间设置和闹钟设置模块之间的交互。

这个模块可以根据设置的时间和闹钟来控制数码管的显示。

4. 电路实现根据我们的设计思路,我们使用EDA工具来实现我们的数字钟电路。

我们使用VHDL语言来描述电路,并使用模块化的方式来组织我们的代码。

5. 实验结果经过实际的电路实现和测试,我们成功地实现了数字钟电路。

我们可以通过按键来设置时间和闹钟,并通过七段数码管来显示时间和闹钟。

6. 实验总结通过这个实验,我们学习了如何使用EDA工具来设计数字电路,并通过实际的电路实现来验证我们的设计。

我们深入了解了数字钟的工作原理,并学会了如何使用VHDL语言来描述电路。

EDA设计数字钟实验报告

EDA设计数字钟实验报告

南京理工大学EDA(Ⅱ)实验报告——多功能数字钟姓名:学号:学院:指导教师:时间:2014/11/3~2014/11/7摘要日益复杂的电子线路使得基于原理图的设计越来越复杂,甚至不切实际。

硬件描述语言的诞生,对设计自动化起到了极大的促进和推动作用。

Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种硬件描述语言,实现了从算法级、门级到开关级的多种抽象设计层次的数字系统建模,具有仿真,验证,故障模拟与时序分析等功能。

本文利用Verilog HDL语言,采用自顶向下的设计方法设计多功能数字钟,并通过QuartusⅡ分块进行了仿真。

此程序通过下载到FPGA芯片后,可实现实际的数字钟显示,具有基本的计时显示和设置,时间校正,整点报时,12h/24h转换,闹钟设置和闹铃控制的功能。

关键词: FPGA, Verilog HDL, QuartusⅡ, EP3C25F324C8,数字钟AbstractThe development of electronic circuit has grown to be too complicated to be designed base on schematic diagram. The birth of HDL accelerated the development of electronic design automation drastically. Verilog HDL is one of the HDL with multiple and strong functions.In this thesis, a complex digital system is designed in the bottom-up way with Verilog HDL and is simulated by QuartusⅡ. The function of a digital clock can be realized by downloading the program to FPGA, which includes timing, time-setting, hourly chiming, 12/24transforming, bell-setting and bell-controlling.Keywords: FPGA, Verilog HDL, QuartusⅡ, EP3C25F324C8,Digital clock目录摘要Abstract第一章数字钟设计要求说明第二章数字钟的设计思路和工作原理第三章模块的Verilog HDL设计与仿真3.1 计数器模块3.2 基本计时顶层模块3.3 分频模块3.4 整点报时模块3.5闹钟模块3.6 LED数码管显示模块3.7 数字钟顶层模块第四章FPGA实现第五章总结5.1 遇到的问题与解决方案5.2 尚存在的不足之处5.3 收获与感悟参考文献第一章数字钟设计要求说明(一)数字钟可以正常进行基本的时,分,秒计时功能。

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告-数字电子钟实验报告:数字电子钟一、实验目的本实验旨在通过使用EDA设计软件,设计并实现一个具有时、分、秒功能的数字电子钟。

通过学习使用EDA工具,掌握数字电路设计的基本步骤和技巧,培养实践能力和创新思维。

二、实验原理数字电子钟是一种以数字形式显示时间的装置,它利用了时、分、秒的计时原理。

核心部分包括一个时钟发生器,用于产生标准时间信号,以及一个计数器,用于对时间进行计数并显示。

此外,还需要一些控制逻辑来控制时、分、秒的进位和显示。

三、实验步骤1.设计准备:在开始设计之前,首先明确设计要求和功能。

考虑到实验的复杂性和可实现性,我们采用最简单的电路结构,即基于计数器和译码器的数字电子钟。

2.绘制电路图:使用EDA设计软件(如Quartus II)绘制电路图。

首先创建新项目,然后添加必要的元件(如74LS192计数器、74LS248译码器等),并根据设计要求连接元件。

3.编写程序:使用硬件描述语言(如VHDL或Verilog)编写计数器和译码器的程序。

确保程序能够实现所需的功能,并进行仿真测试。

4.编译和下载:将程序编译成可下载的配置文件,然后下载到FPGA开发板上。

5.硬件测试:连接开发板到PC,启动程序,观察数字电子钟的显示情况。

检查时间是否准确,各部分功能是否正常。

6.性能评估:对数字电子钟的性能进行评估,包括计时精度、稳定性等指标。

根据评估结果对设计进行优化。

四、实验结果与分析1.设计结果:经过上述步骤,我们成功地设计并实现了一个基于FPGA的数字电子钟。

通过EDA软件和硬件描述语言,我们实现了计数器和译码器的功能,并完成了程序的编写和下载。

2.性能分析:经过测试,我们的数字电子钟具有较高的计时精度和稳定性。

时间显示准确,各部分功能正常。

这表明我们的设计是成功的。

3.优化方向:虽然我们的数字电子钟已经具有较好的性能,但仍有一些方面可以优化。

例如,可以考虑添加更多的功能,如闹钟、温度显示等;也可以进一步优化电路结构,降低成本和提高性能。

EDA实验报告 数字时钟设计

EDA实验报告  数字时钟设计

1.引言随着科学技术的迅猛发展,在计算机技术的推动下电子技术获得了飞速的发展。

电子产品几乎渗透到了工业、生活的各个领域,其中集成电路的设计正朝着速度快、性能高、容量大、体积小和微功耗的方向发展。

基于这种情况,可编程逻辑器件的出现和发展大大改变了传统的系统设计方法。

可编程逻辑器件和相应的设计技术主要体现在三个方面:一是可编程逻辑器件的芯片技术;二是适用于可逻辑编程器件的硬件编程技术,三是可编程逻辑器件设计的EDA开发工具,它主要用来进行可编程逻辑器件应用的具体实现。

在本设计中采用了集成度较高的FPGA 可编程逻辑器件,选用了VHDL硬件描述语言和Quartus II开发软件进行设计。

VHDL硬件描述语言在电子设计自动化( EDA)中扮演着重要的角色,由于采用了具有多层次描述系统硬件功能的“自顶向下”(Top -Down)的全新设计方法,使设计师们摆脱了大量的辅助设计工作,而把精力集中于创造性的方案与概念构思上,用新的思路来发掘硬件设备的潜力,从而极大地提高了设计效率,缩短了产品的研制周期。

Quartus II软件是集成了编辑器、仿真工具、检查/分析工具和优化/综合工具的这些所有开发工具的一种集成的开发环境,通过该开发环境能够很方便的检验设计的仿真结果以及建立起与可编程逻辑器件的管脚之间对应的关系。

EDA技术是以计算机为工具,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线。

仿真以及对于特定目标芯片的适配编译和编程下载等工作。

典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。

综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。

综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方式联系起来。

eda多功能数字钟实验报告

eda多功能数字钟实验报告

eda多功能数字钟实验报告EDA多功能数字钟实验报告一、引言数字钟是现代生活中常见的一种时间显示工具,其准确性和便携性使其成为人们生活中不可或缺的一部分。

本实验旨在设计并制作一款多功能数字钟,通过EDA(电子设计自动化)软件进行模拟和仿真,验证其功能和性能。

二、设计原理1. 时钟电路:采用CMOS(互补金属氧化物半导体)技术设计时钟电路,包括时钟发生器、计数器和显示器。

时钟发生器产生稳定的方波信号,计数器根据方波信号进行计数,显示器将计数结果以数字形式显示出来。

2. 功能模块:多功能数字钟除了显示时间外,还应具备日期显示、闹钟设置、温度检测等功能。

为实现这些功能,需要添加相应的模块,如时钟芯片、温度传感器、闹钟电路等。

三、电路设计1. 时钟电路设计:根据设计原理,使用EDA软件进行电路设计,选择合适的元器件和连接方式。

通过仿真验证电路的工作稳定性和准确性。

2. 功能模块设计:根据需求,添加相应的功能模块。

时钟芯片用于精确计时和日期显示,温度传感器用于检测环境温度并显示,闹钟电路用于设置闹钟时间并触发报警。

四、电路实现1. 元器件选取:根据电路设计需求,选择合适的元器件。

时钟芯片应具备高精度和稳定性,温度传感器应具备高灵敏度和准确度,闹钟电路应具备可调节和触发功能。

2. 电路布局:将选取的元器件按照电路设计进行布局,注意元器件之间的连接和布线,避免干扰和短路。

3. 电路连接:根据电路设计进行元器件之间的连接,注意连接的正确性和稳定性。

五、仿真与测试1. 仿真验证:使用EDA软件进行电路仿真,检查电路的稳定性和准确性。

通过仿真结果对电路进行调整和优化,确保其正常工作。

2. 功能测试:对多功能数字钟进行功能测试,包括时间显示、日期显示、温度检测和闹钟设置等。

通过测试结果对电路进行调整和改进,确保其功能的完善和可靠性。

六、实验结果与分析经过仿真和测试,多功能数字钟实现了准确的时间显示、日期显示、温度检测和闹钟设置等功能。

EDA数字时钟实验报告

EDA数字时钟实验报告

EDA与数字系统课程设计报告书专业(班级):自动化2011级姓名(学号):丁兴宇20111965指导教师:刘春朱维勇胡存刚指导单位:电气与自动化工程学院目录中文摘要英文摘要实验一 (6)实验二 (7)实验三 (8)实验四 (9)数字时钟实验一.设计说明1.功能说明 (10)2.功能简介 (10)二.各模块设计原理1.扫描显示模块及原理 (11)2.时钟计时模块电路图及原理 (13)3.整点报时模块 (15)4.闹铃模块 (16)三.管脚分布 (19)四.讨论与心得 (20)参考文献 (21)附件 (22)中文摘要本文是基于Altera公司出品MAX+Plus2软件以及相应的ALTERA FLEX EPF10K10LC84-4实验平台完成的数字时钟实验,使我们清楚地了解到我们身边的数字时钟的功能是怎样实现的。

数字时钟实验主要包含两个主体时钟基本功能电路、闹钟电路。

主体一:主要涉及模60与模24计数器、动态显示控制电路、分频器主要整点报时电路,这些电路都是以模块封装好的,以便其他电路调用。

以计数器构成计时部件,通过分频器分出的1HZ脉冲计时,调用动态显示电路显示,通过整点报时电路控制蜂鸣器。

主体二:主要涉及模60与模24计数器、显示控制电路、4个数据比较器。

以模60与模24计数器构成定时与存储电路,调用动态显示控制电路显示,通过4个数据比较器比较时钟与闹铃的小时、分钟,和后续与门控制蜂鸣器。

英文摘要(Abstract)This article is based on Altera MAX + Plus2 software company produced and the corresponding ALTERA FLEXEPF10K10LC84-4 experimental platform to complete the digital clock experiments, so that we clearly understand our side of the digital clock function is how to achieve.Digital clock experiment consists mainly of two basic functions of the body clock circuits, alarm circuits.The main one: mainly related to mold 60 and the mold 24 counters, dynamic display control circuit, the whole point timekeeping main divider circuits, which are packaged in modules, so that other circuits calls. To constitute a timing counter parts, through the separation of the 1HZ divider pulse timing, called dynamic display circuit display, through the whole point timekeeping circuit control buzzer.Subject II: mainly related counter mold 60 and the mold 24, a display control circuit, four data comparator. Mold 60 and the mold 24 to form counter timing and memory circuit,called dynamic display control circuit shows that by four data comparator compares the clock and the alarm hour, minute, and follow-up with the door control buzzer.关键词:MAX+Plus2软件 EPF10K10LC84-4 数字时钟基本功能电路闹钟电路实验一题目:Max+Plus2使用练习,完成一个简单门电路的图形设计输入、编译、仿真、管脚分配、下载。

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)—数字时钟LED数码管显示二、实验内容和实验目的1.6个数码管动态扫描显示驱动2.按键模式选择(时\分\秒)与闹钟(时\分)调整控制,3.用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、闹钟模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。

要求使用实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒;要求模式按键和调整按键信号都取自经过防抖处理后的按键跳线插孔。

实验目的:1)学会看硬件原理图,2)掌握FPGA硬件开发的基本技能3)培养EDA综合分析、综合设计的能力三、实验步骤、实现方法(或设计思想)及实验结果主要设备: 1)PC机,2)硬件实验箱,3)Quartus II软件开发平台。

1.打开Quartus II ,连接实验箱上的相关硬件资源,如下图1所示。

2.建立新文件,选择文本类型或原理图类型。

3.编写程序。

4.编译5.仿真,加载程序到芯片,观察硬件输出结果(数码管显示)6.结果正确则完成。

若结果不正确,则修改程序,再编译,直到正确。

模24计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count24 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count24;ARCHITECTURE arc OF count24 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,en)BEGINhh<=a;hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0010" AND b="0011") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;IF(a="0010" AND b="0010") THENcout<='1';ELSE cout<='0';END IF;END IF;END IF;END PROCESS;END arc;模60计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count60 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count60;ARCHITECTURE arc OF count60 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sout:STD_LOGIC;BEGINPROCESS(clk)BEGINhh<=a; hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0101" AND b="1001") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;END IF;END IF;END PROCESS;sout<='1' WHEN a="0101" AND b="1001" ELSE '0';cout<=sout AND en;END arc;4-7显示译码模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment4to7 ISPORT(s:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g:OUT STD_LOGIC);END segment4to7;ARCHITECTURE arc OF segment4to7 IS SIGNAL y:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINa<= y(6);b<= y(5);c<= y(4);d<= y(3);e<= y(2); f<= y(1);g<= y(0);PROCESS(s)BEGINCASE s ISWHEN "0000"=>y<="1111110"; WHEN "0001"=>y<="0110000"; WHEN "0010"=>y<="1101101"; WHEN "0011"=>y<="1111001"; WHEN "0100"=>y<="0110011"; WHEN "0101"=>y<="1011011"; WHEN "0110"=>y<="1011111"; WHEN "0111"=>y<="1110000"; WHEN "1000"=>y<="1111111"; WHEN "1001"=>y<="1111011"; WHEN OTHERS=>y<="0000000"; END CASE;END PROCESS;END arc;带闹钟控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mode_adjust_with_alarm ISPORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END mode_adjust_with_alarm;ARCHITECTURE arc OF mode_adjust_with_alarm ISTYPE mystate IS (s0,s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS (c_state)BEGINCASE c_state ISWHEN s0=> next_state <= s1; clkh<=clk1hz; clkm<=clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="000";WHEN s1=> next_state <= s2; clkh<=adjust; clkm<= '0'; clks<='0';enh<='1'; enm<='0';enha<='0'; clkh_a<= '0';clkm_a<= '0'; mode_ss <="001";WHEN s2=> next_state <= s3; clkh<= '0'; clkm<=adjust; clks <= '0';enh<='0';enm<='1';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="010";WHEN s3=> next_state <= s4; clkh<= '0'; clkm<= '0'; clks<=adjust;enh<='0'; enm<='0';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="011";WHEN s4=> next_state <= s5; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0';enm<='0';enha<='1'; clkh_a<=adjust; clkm_a<= '0'; mode_ss <="100";WHEN s5=> next_state <= s0; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<=adjust; mode_ss <="101";END CASE;END PROCESS;PROCESS (mode)BEGINIF (mode'EVENT AND mode='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;扫描模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan ISPORT(clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END scan;ARCHITECTURE arc OF scan ISTYPE mystate IS (s0, s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS ( c_state )BEGINCASE c_state ISWHEN s0=> next_state <=s1; ss<="010";WHEN s1=> next_state <=s2; ss<="011";WHEN s2=> next_state <=s3; ss<="100";WHEN s3=> next_state <=s4; ss<="101";WHEN s4=> next_state <=s5; ss<="110";WHEN s5=> next_state <=s0; ss<="111";END CASE;END PROCESS;PROCESS (clk256hz)BEGINIF (clk256hz'EVENT AND clk256hz='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;复用模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END mux;ARCHITECTURE arc OF mux ISSIGNAL a,hhtmp,hltmp,mhtmp,mltmp,shtmp,sltmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(mode_ss)BEGINCASE mode_ss ISWHEN "000"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "001"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "010"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "011"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "100"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN "101"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN OTHERS=>hhtmp<="0000";hltmp<="0000";mhtmp<="0000";mltmp<="0000";shtmp<="0000";sltmp<="0000"; END CASE;END PROCESS;PROCESS(ss)BEGINCASE ss ISWHEN "010"=> a <=hhtmp;WHEN "011"=> a <=hltmp;WHEN "100"=> a <=mhtmp;WHEN "101"=> a <=mltmp;WHEN "110"=> a <=shtmp;WHEN "111"=> a <=sltmp;WHEN OTHERS => a <="0000";END CASE;y<=a;END PROCESS;alarm<='1' WHEN ((hh=hha)AND(hl=hla)AND(mh=mha)AND(ml=mla)) ELSE '0';END arc;闪烁模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY blink_control ISPORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END blink_control;ARCHITECTURE arc OF blink_control ISBEGINPROCESS (ss,mode_ss)BEGINIF(ss="010" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="110" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="111" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="010" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="101") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="101") THEN blink_en<='1';ELSE blink_en<='0';END IF;END PROCESS;END arc;Top文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY design3 ISPORT (mode,adjust,clk1hz,clk2hz,clk256hz,clk1khz:IN STD_LOGIC;alarm,a,b,c,d,e,f,g:OUT STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END design3;ARCHITECTURE arc OF design3 ISCOMPONENT mode_adjust_with_alarm PORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT scan PORT (clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT segment4to7 PORT (s: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g: OUT STD_LOGIC);END COMPONENT;COMPONENT mux PORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END COMPONENT;COMPONENT blink_control PORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END COMPONENT;COMPONENT count24 PORT (clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count60 PORT (clk ,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNALclkh,enh,clkm,enm,clks,clkh_a,clkm_a,coutm,couts,coutm_en,couts_en,cout,vcc,coutma_en,coutma,alarm1,bli nk_en,blink_tmp,enha: STD_LOGIC;SIGNAL mode_ss,ss1:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,y,i:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINvcc<='1';coutm_en <= enh OR coutm;couts_en <= enm OR couts;coutma_en<= enha OR coutma;blink_tmp<=blink_en and clk2hz;i(3)<=y(3) OR blink_tmp;i(2)<=y(2) OR blink_tmp;i(1)<=y(1) OR blink_tmp;i(0)<=y(0) OR blink_tmp;ss<=ss1;alarm<=alarm1 AND clk1khz;u1:mode_adjust_with_alarmPORT MAP( adjust,mode,clk1hz,clkh,enh,clkm,enm,clks,enha,clkh_a,clkm_a,mode_ss);u2:count24 PORT MAP(clkh,coutm_en,cout,hh,hl);u3:count60 PORT MAP(clkm,couts_en,coutm,mh,ml);u4:count60 PORT MAP(clks,vcc,couts,sh,sl);u5:count24 PORT MAP(clkh_a,coutma_en,cout,hha,hla);u6:count60 PORT MAP(clkm_a,vcc,coutma,mha,mla);u7:mux PORT MAP(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,ss1,mode_ss,y,alarm1);u8:scan PORT MAP(clk256hz,ss1);u9:blink_control PORT MAP(ss1,mode_ss,blink_en);u10:segment4to7 PORT MAP(i,a,b,c,d,e,f,g);END arc;实验结果:数字钟包括正常的时分秒计时,实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒。

EDA 多功能数字钟实验报告

EDA 多功能数字钟实验报告

EDAⅡ多功能数字钟目录内容摘要 (3)一.引言 (4)二、实验要求 (4)三、方案论证 (5)四、整体电路功能综述 (6)五、各模块设计1、分频器模块 (8)2、计时模块 (9)3、闹铃模块 (12)4、上下午切换模块 (13)5、显示模块 (14)6、整点报时模块 (15)7、秒表模块 (15)8、动态显示模块 (16)9、倒计时模块 (18)10、开关防抖动 (19)11、开关复用控制 (20)六、实验中的问题及解决方法 (21)中文摘要本实验利用QuartusII软件,结合所学的数字电路的知识设计一个24时多功能数字钟,具有正常时、分、秒计时,动态显示,清零、快速校分、整点报时、闹钟、秒表、倒计时功能。

论文分析了整个电路的工作原理,还分别说明了各子模块的设计原理和调试、仿真、编程下载的过程,并对最终结果进行总结,最后提出了在实验过程中出现的问题和解决的方案,以及后续设计思想。

通过实验掌握了一些逻辑组合器件的基本功能和用法,同时体会到了利用软件设计电路的方便快捷,避免了硬件布线的繁琐,提高了效率,在为以后设计更复杂的电路打下了良好基础。

关键词数字钟闹钟秒表倒计时外文摘要Title DIGITAL CLOCK DESIGN PROPOSAlAbstractUsing the QuartusII, we design a digital clock of 24 hours with learning electric circuit knowledge. The circuit can keep the time, reset, adjust the minute and hour, ring the time in the round number time , alarm clock , stopwatch and countdown. The paper has analyzed the principle of all work and explained the designing principle of different parts separately. By debugging, simulating, compiling, programming, I put forward a matter and give a settling plan.I know about the basic functions and using method of some electric pieces in this experiment. At the same time, I realized the convenience of making use of the software to carry on the electric circuit, which is fast and let us have a good foundation for design a more complex system, avoided the hardware cloth line tedious, and raised the efficiency.Keywords digital clock, alarm clock,stopwatch,count down一、引言传统硬件电路在设计存在连线麻烦,出错率高且不易修改,很难控制成本的缺点。

eda数字时钟实验报告

eda数字时钟实验报告

EDA数字时钟电工电子实习实验报告姓名班级学号20一、实验目的:1、掌握多位计数器相连的设计方法。

2、掌握十进制、六十进制和二十四进制计数器的设计方法。

3、巩固数码管的驱动原理及编程方法。

4、掌握CPLD技术的层次化设计方法。

二、实验要求:基本要求:具有时、分、秒计数显示功能,以二十四小时循环计时。

扩展要求:具有整点报时功能。

三、实验原理:计数时钟由模60秒计数器、模60分计数器、模24小时计数器、蜂鸣器(用于整点报时)、分/时设定模块、输出显示模块构成,秒计数模块的进位输出为分钟计数模块的进位输入,分钟计数模块的进位输出为小时计数模块的进位输入。

74163功能简介:图1图2由图1可知,74163的脉冲上升沿的时候工作。

四、实验过程1.模60计数器(如图3)图3由74163实现计数功能,第一片74163实现10进制,即做0-9的循环,9即二进制的1001,化简可得当q[0]与q[3]同时为1的时候进行清零。

第二片74163实现6进制,即做0-5的循环,5即二进制的111,化简可得当q[4]与q[6]同时为1的时候进行清零,同时第一片74163的进位端作为第二片的脉冲端。

这样就可实现60进制。

60进制计数器用于秒计数器和分计数器,秒个位的进位端作为秒十位的脉冲端秒十位的进位端作为分个位的脉冲端,分个位的进位端作为分十位的脉冲端。

2.模24计数器(如图4)图4分十位的进位端作为时个位的脉冲端,时个位的进位端作为时十位的脉冲端。

因为24进制的特殊性,当十位是0和1的时候,个位做十进制循环,即0-9,9的二进制为1001;当十位是2的时候,个位做0-3的循环。

而十位做0-2的循环。

2的二进制为0010,3的二进制为0011。

所以第一片74163不仅要在q[14]与q[17]同时为1的时候清零,还要在第二片74163的q[19]、第一片的q[14]、q[15]同时为1(即23时)做清零。

第二片是3进制,在q[19]=1的时候进行清零。

EDA数字时钟实验报告

EDA数字时钟实验报告

南京理工大学EDA设计(Ⅰ)实验报告作者: 杨博文学号:1104480133 学院(系):电子光电技术学院专业: 信息对抗技术指导老师:谭雪琴实验日期:2013年11月25日摘要本实验是利用QuartusII软件设计一个数字钟,并进行试验设计和仿真调试,实现了计时、保持、清零、校分、校时和整点报时等多项基本功能,并下载到SmartSOPC实验系统中进行调试和验证。

此外还添加了显示星期,闹钟设定和秒表等附加功能,使得设计的数字钟的功能更加完善。

关键字:Quartus 数字钟多功能仿真AbstractThis experiment is to design a digital clock which is based on Quartus software and in which many basic functions like time-counting,time-holding,reset,minuting-correctin -g,hour-correcting and belling on the hour.And then validated the design on the experimental board.In additional functions like displaying and reseting the week,settin -g alarm and stopwatch make this digital clock a perfect oneKey words: Quartus digital-clock multi-function simulate目录1.设计要求 (4)2.工作原理 (5)3.各模块说明 (5)1)分频模块 (5)2)计时模块 (8)3)动态显示模块 (10)4)校分与校时模块 (11)5)清零模块 (11)6)保持模块 (12)7)报时模块 (12)4.扩展模块 (13)1)星期模块 (13)2)闹钟模块 (13)3)秒表模块 (17)5.总模块电路 (18)6.调试、编程下载 (18)7.实验中出现问题及解决办法 (18)8.实验收获与感受 (19)9.参考文献 (20)一、设计要求1.设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校分、快速校时和整点报时等基本功能。

eda数字钟实验报告

eda数字钟实验报告

eda数字钟实验报告一、实验目的与背景数字钟是一种在现代社会中广泛应用的时间显示器,其具有精度高、易于观察、维修方便等特点。

本次实验旨在通过使用EDA 软件,实现数字钟的制作,以便更好地了解数字时钟的原理及其设计过程。

二、实验器材与软件器材:电脑、EDA软件、闹钟模块、LCD液晶显示器、电源线、按键开关、电阻等。

软件:Protues、Keil、Proteus VSM等。

三、设计过程1. 硬件设计(1)指示器:使用了LCD液晶显示屏来显示时间。

其可显示当前的小时、分钟、秒等信息。

(2)核心控制器:使用了AT89S52单片机作为核心,用来控制整个数字时钟的运行。

(3)时钟电路:使用DS1302时钟芯片来实现时钟计时功能。

该芯片具有高精准度、低功耗等特点,能够提供准确的时间信号。

(4)外设控制:使用了按键开关、蜂鸣器等外设来实现数字时钟的启停、闹钟设置等功能。

2. 软件设计(1)包含了时间可视化方案的设计。

(2)编写了大量的实时驱动程序,使计时、位置更新、操作循环等功能得到实现。

(3)事件触发机制设计,使得按键响应、报时提示等功能得到实现。

(4)根据时钟电路信号进行时钟校准等相关处理。

四、实验结果通过实验,我们成功地制作出了一个高精度、功能齐全、操作简便的数字时钟。

该时钟可以准确地显示当前时间,同时根据设置还可以产生报时提示,启动或关闭闹钟等功能。

五、实验总结通过本次实验,我们对数字时钟的原理和设计过程有了更加深入的理解,增加了对数字电路的整体认识。

同时,我们还掌握了EDA软件的使用方法和调试技术。

希望今后能够在数字电路设计和嵌入式系统开发中能够有更好的发挥。

多功能数字钟(EDA设计)实验报告

多功能数字钟(EDA设计)实验报告

多功能数字钟一、实验原理分析通过晶振产生的50MHz的脉冲,用分频器进行分频产生1Hz的脉冲信号,即作为时钟的1s的信号进行计数。

秒钟每计数60秒后产生进位使分钟显示加1,分钟满60循环至0。

为实现手动校准时间功能,可以对分和秒计数器进行加减。

为实现校准时间时候的闪烁,对数码管使用消隐,把数码管的接地端口接一个脉冲信号。

在实验过程中,要注意很多细节,比如进行按键消抖,手动调整时间时不会进位。

二、逻辑分析三、功能模块分析功能模块包括分频模块,时间计数及校准模块,数码管译码显示模块、判决模块和消抖模块1.分频模块该电路由多个70LS90经过分频将由晶振产生的50MHz分频为1Hz方波,供后续时钟电路使用。

这一模块是整个电路的基础。

2.时间计数及校准模块该模块连接至分频模块的信号输出端,以分频模块产生的1Hz 方波作为基础。

1Hz方波与秒同步,以秒为基础,分别实现电子钟中,分与时的运转,即1分钟=60秒,1小时=60分钟的循环运转。

为了修正电子钟在运行过程中产生的一些误差或其他认为错误,另设置校准功能,可以对电子钟的计时进行调整。

其中,此模块的逻辑部分需Verilog语言实现并进行封装。

此模块用到3个十进制计数器、2个六进制计数器和1个三进制计数器。

3.数码管译码显示模块本电子钟采用数码管来显示,可以简单、直观地表现出确切的时间,实现其他配套功能。

且数码管易于操作。

此模块中有四个数码管,每两个数码管分别显示小时与分钟。

由上一模块,即时间计数及校准模块中的时间计数器产生的数值,将其对应的七段码直接传送至相应的数码管译码显示。

4.判决模块该电路判决信号连接至开关,当开关选中数码管某位后,经过判决器令改为停止计数,并开始1秒闪烁,按动按键可实现手动调整。

5.消抖模块通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。

EDA数字时钟设计报告

EDA数字时钟设计报告

EDA实验设计报告——数字时钟设计目录一、实验名称 (3)二、实验目的 (3)三、实验内容 (3)1.扩展内容: (3)2.选做内容: (3)四、实验仪器 (4)五、实验原理 (4)1. 硬件部分 (4)2. 软件部分 (8)六、心得体会 (9)一、实验名称数字时钟设计二、实验目的通过设计一个数字时钟,逐步了解FPGA的编程原理,初步入门FPGA,了解FPGA工作原理及开发流程,为后续的深入学习打好坚实基础。

通过扩展功能提高FPGA系统综合应用能力,熟练掌握QuartusII开发环境及编程应用。

三、实验内容用同步时序电路设计实现时、分、秒计数,并在数码管上正确显示。

1.扩展内容:1、可以按键清零;2、支持年月日显示功能,用按键进行年月日和时分秒间显示切换;3、可对显示内容进行修改,时分秒均可修改。

2.选做内容:(1)利用5个数码管完成秒表显示功能。

要求:1、精度达100ms;2、可以清零;3、可暂停;4、最大计时为999.9s;(2)跑马灯设计实现8个发光二极管以不同频率(2Hz,1Hz,0.5Hz)循环进行左滚动、右滚动、向中间滚动、向两边滚动、闪动等效果,不同频率显示用按键进行切换。

四、实验仪器计算机;QuartusII软件;下载线;电子技术综合实验箱五、实验原理1. 硬件部分框图:Power Manage5V/3.3V/2.5VVGA Port FPGA模块MCU模块AD/DA模块Audio Port LED_KEY模块SRAM/ROM模块RS232 Port(1)处理器Cyclone ⅡEP2C20Q240,该处理器是Altera 公司研发的一款FPGA 芯片。

(2)显示 LED 数码管LED 数码管是有多个发光二极管封装一起组成“8”字形的器件,引线在内部链接完成只引出公共电极。

实验中采取动态显示驱动方法。

每位数码管点亮时间约为2ms 。

这样做能够节省大量的I\O 埠,而且功耗较静态显示驱动更低。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA数字时钟电工电子实习
实验报告
姓名
班级
学号20
一、实验目的:
1、掌握多位计数器相连的设计方法。

2、掌握十进制、六十进制和二十四进制计数器的设计方法。

3、巩固数码管的驱动原理及编程方法。

4、掌握CPLD技术的层次化设计方法。

二、实验要求:
基本要求:具有时、分、秒计数显示功能,以二十四小时循环计时。

扩展要求:具有整点报时功能。

三、实验原理:
计数时钟由模60秒计数器、模60分计数器、模24小时计数器、蜂鸣器(用于整点报时)、分/时设定模块、输出显示模块构成,秒计数模块的进位输出为分钟计数模块的进位输入,分钟计数模块的进位输出为小时计数模块的进位输入。

74163功能简介:
图1
图2
由图1可知,74163的脉冲上升沿的时候工作。

四、实验过程
1.模60计数器(如图3)
图3
由74163实现计数功能,第一片74163实现10进制,即做0-9的循环,9即二进制的1001,化简可得当q[0]与q[3]同时为1的时候进行清零。

第二片74163实现6进制,即做0-5的循环,5即二进制的111,化简可得当q[4]与q[6]同时为1的时候进行清零,同时第一片74163的进位端作为第二片的脉冲端。

这样就可实现60进制。

60进制计数器用于秒计数器和分计数器,秒个位的进位端作为秒十位的脉冲端秒十位的进位端作为分个位的脉冲端,分个位的进位端作为分十位的脉冲端。

2.模24计数器(如图4)
图4
分十位的进位端作为时个位的脉冲端,时个位的进位端作为时十位的脉冲端。

因为24进制的特殊性,当十位是0和1的时候,个位做十进制循环,即0-9,9的二进制为1001;当十位是2的时候,个位做0-3的循环。

而十位做0-2的循环。

2的二进制为0010,3的二进制为0011。

所以第一片74163不仅要在q[14]与q[17]同时为1的时候清零,还要在第二片74163的q[19]、第一片的q[14]、q[15]同时为1(即23时)做清零。

第二片是3进制,在q[19]=1的时候进行清零。

3.整点报时的设计(如图5)
由于74163在脉冲上升沿工作的特点,如图5所示,前59分50秒输出为低电平,当达到59分51秒时输出一个高电平,将高电平送蜂鸣器开始报时,到59分59秒报时结束。

图5
五、实验电路图:
六、实验心得:
通过本次试验我学会了maxplus2软件的初步用法,可以用该软件模拟一些电路,并且学会了电子时钟的设计方法,同时完整的设计出了一个电子时钟。

该时钟虽然没有完成全部内容,但是可以完成一些简单功能,比如:可以计时并且还有报时功能。

在报时电路设计时,起初没有全部按照实验要求来,只是设计出了在59分59秒报时,不过做了略微改进将四输入与非门换成了三输入与非门,使得报时电路符合实验要求。

从总体上来说本次试验做的还算成功。

相关文档
最新文档