EDA综合计时系统设计[1]
EDA课程设计数字钟(综合课程设计)一_001

EDA课程设计数字钟(综合课程设计)一、设计要求(数字钟的功能)1、具有时、分显示功能(用数码管显示)。
以二十四小时循环计时。
2、具有清零,调节小时,分钟的功能。
3、具有整点(正小时)报时同时用多颗LED灯花样显示秒的功能。
4、运用多层次化设计方式,底层元件用VHDL编写,顶(最高)层元件用原理图法连线。
5、写出课程设计报告,包括设计源程序代码、顶层原理图及必要的文字说明。
二、目的1、掌握多位计数器相连的设计方法。
2、掌握十进制,六进制,二十四进制计数器的设计方法。
3、掌握扬声器的驱动及报时的设计。
4、LED灯的花样显示。
5、掌握CPLD技术的层次化设计方法。
三、硬件要求1、主芯片Altera EPF10K10LC84-4。
2、8个LED灯。
3、扬声器。
4、4位数码显示管。
5、8个按键开关(清零,调小时,调分钟)。
四、实验原理在同一CPLD芯片上集成了如下电路模块:1、时钟计数:秒……60进制BCD码计数。
分……60进制BCD码计数。
时……24进制BCD码计数。
同时整个计数器有清零、调时、调分功能。
在接近整数时能提供报时信号。
2、扬声器在整点时有报时驱动信号产生(响声持续多长时间?)。
3、LED灯按个人口味在整点时有花样显示信号产生。
五、实验内容及步骤1、根据电路特点,运用层次设计概念设计。
将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。
加深层次化设计概念。
2、了解软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合。
六、顶层原理图参考下图所示(模块化设计)。
EDA多功能数字钟设

实验报告实验四多功能数字钟设计一、实验目的1、学习复杂数字电路系统的设计。
2、设计一个多功能数字钟。
二、实验要求1.数字显示当前的小时、分钟;2.可以预置为12小时计时显示和24小时计时显示;3.一个调节键,用于调节目标数位的数字。
对调节的内容敏感,如调节分钟或秒时,保持按下时自动计数,否则以脉冲计数;4.一个功能键,用于切换不同状态:计时、调时、调分、调秒、调小时制式。
三、实验仪器PC机、Quartus II软件、EDA实验箱四、实验原理1.系统需要两个六十进制计数器用于分钟和秒的计时,为方便译码采用60进制计数器(1)秒计时实验程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;USE IEEE.STD_LOGIC_ARITH.ALL;entity second ISport(clk1,rst1:in std_logic;cout1:out std_logic;cq0:out std_logic_vector(3 downto 0);cq1:out std_logic_vector(3 downto 0));END second;ARCHITECTURE behave of second isSIGNAL d: std_logic_vector(3 downto 0);SIGNAL g: std_logic_vector(3 downto 0);BEGINprocess(clk1,rst1,d,g)BEGINif (rst1 ='1') thend <="0000";g <="0000";elsif(clk1'EVENT and clk1='1')thenif(d=9 and g=5)thencout1<='1';elsecout1<='0';end if;if(d=9)thend<="0000";if(g=5)theng<="0000";elseg<=g+1;end if;elsed<=d+1;end if;end if;end process;cq0<=d;cq1<=g;end behave;clk1是时钟信号,rst1是复位信号, cout1作为下一模块分钟设计的时钟信号,cq0,cq1输出信号最后接在动态译管码芯片上。
SOPCEDA综合课程设计报告---综合计时系统

SOPC/EDA综合课程设计报告设计题目:综合计时系统设计者:学号:班级:指导老师:完成时间:目录1设计总说明 (3)1.1系统设计要求 (3)2综合计时系统设计与分析 (4)2.1 综合计时模块: (4)2.1.1单时钟电路构想 (4)2.1.2显示控制电路的设计 (7)2.1.3调整控制电路TZKZQ的设计 (10)2.2 系统单元仿真与分析 (11)2.2.1综合计时电路的仿真 (11)2.2.2调整控制电路的仿真 (12)2.2.3显示控制电路的仿真 (13)3外围电路设计 (14)3.1 直流稳压电源设计电路图 (14)3.2 显示电路的设计 (15)4收获与体会 (16)4.1 改进方法 (16)4.2 体会 (16)5设计参考资料 (18)6附录————程序段 (19)6.1 CONT60计时电路的VHDL源程序 (19)6.2 CONT30计时电路的VHDL源程序 (19)6.3 显示控制电路XSKZQ的VHDL源程序 (21)6.4 调整控制电路TZKZQ的VHDL源程序 (26)1设计总说明计时系统对现代人们生活学习工作等各方面有着巨大的作用,从以前的时钟、手表到至今,计时系统已经发展成为普遍性,综合性,简便性。
如何用更简单、可靠的原理,更轻便、廉价的设备,更精确、综合的计时,来设计电子计时器,是此设计的研究目的。
随着现代电子产品正以前所未有的高速度,向着功能多样化、体积最小化、功耗最低化迅速发展,如何提高产品性能,缩小产品体积,降低产品功耗,是对现代电子产品的基本要求,而EDA ,即电子设计自动化技术,正是为了适应现代电子产品的设计要求,伴随着计算机、集成电路、电子系统设计的发展,吸收数据库、图形学、图论与拓扑逻辑、计算数学、优化理论等多学科最新成果而逐步形成的一门新技术。
它以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑期间的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑简化、逻辑映射、编程下载等工作等。
eda计时器课程设计

eda计时器课程设计一、课程目标知识目标:1. 学生能够理解EDA计时器的基本原理和功能。
2. 学生掌握计时器的电路设计方法,了解不同类型计时器的优缺点。
3. 学生掌握计时器的编程方法,能够运用所学知识实现计时功能。
技能目标:1. 学生能够运用EDA软件进行计时器电路设计,具备实际操作能力。
2. 学生能够编写简单的计时器程序,实现计时功能。
3. 学生通过课程学习,提高分析问题、解决问题的能力。
情感态度价值观目标:1. 培养学生对电子设计的兴趣,激发创新精神。
2. 学生在团队合作中,学会沟通、协作,培养团队精神。
3. 学生在学习过程中,树立正确的价值观,认识到科技对社会发展的积极作用。
课程性质:本课程为实践性较强的电子设计课程,以项目为导向,结合理论知识与实践操作。
学生特点:学生处于高年级阶段,已具备一定的电子基础知识和编程能力。
教学要求:注重理论与实践相结合,以学生为主体,教师引导,培养学生的动手能力和创新能力。
通过分解课程目标为具体的学习成果,便于教学设计和评估。
二、教学内容1. 计时器原理:回顾时钟信号、晶振、分频器等基础知识,讲解EDA计时器的工作原理。
2. 计时器电路设计:介绍常见计时器电路,如555定时器、RTC实时时钟等,分析其电路特点和适用场景。
- 教材章节:第三章《数字电路设计》- 内容列举:555定时器、RTC实时时钟、分频器等电路设计方法。
3. 计时器编程:讲解计时器的编程方法,包括汇编语言和C语言编程。
- 教材章节:第四章《微控制器编程》- 内容列举:计时器编程思路、中断处理、寄存器配置等。
4. EDA软件应用:运用EDA软件(如Protel、Multisim等)进行计时器电路设计与仿真。
- 教材章节:第五章《电子设计自动化》- 内容列举:EDA软件操作、电路图绘制、仿真分析等。
5. 实践项目:设计并实现一个简单的EDA计时器,要求具备计时、报警等功能。
- 教材章节:第六章《实践项目》- 内容列举:项目要求、电路设计、程序编写、调试与优化等。
电子实时时钟设计EDA电子综合设计

电子实时时钟设计EDA电子综合设计电子实时时钟是一种能够提供准确时间的电子设备,它通常结合了晶体振荡器、计时电路、显示模块等组件,能够显示当前的时间,并能够随着时间的流逝进行自动更新。
在设计电子实时时钟时,我们需要考虑一系列的因素,如时钟精度、实时更新、显示方式等。
接下来,我将从电路设计、逻辑设计和综合设计等方面详细介绍电子实时时钟的设计。
首先是电路设计。
电路设计主要包括晶体振荡器电路、计时电路和显示电路。
晶体振荡器电路是提供基准时间信号的重要组成部分。
在电路设计时,可以选择适当的晶体频率和电容参数,以确保振荡器能够提供稳定的时钟信号。
计时电路通常使用集成电路来实现,这些集成电路包含了时钟分频器、计数器等功能,能够准确计时。
显示电路可以选择液晶显示、LED显示等不同的显示方式,根据实际需要进行设计。
其次是逻辑设计。
逻辑设计是指设计时钟计数器、更新时间等逻辑功能的过程。
时钟计数器是实时时钟的核心部件,它需要根据输入的时间信号进行递增,并在达到一定数值时进行进位。
换言之,逻辑设计需要根据实际的计时需求,设计适当的逻辑电路,以实现时钟的准确计时和自动更新功能。
最后是综合设计。
综合设计是指将电路图转化为实际的电子元件和电路连接的过程。
在综合设计中,需要考虑元件的选型、布线、电源管理等因素。
选型时可以根据实际需求选择性能合适的电子元件,并进行适当的布局和布线,确保电路的可靠性和稳定性。
同时,还需要考虑电源管理的问题,如选择合适的电源电压和电流稳定器,确保电路正常工作。
总结来说,电子实时时钟的设计是一个综合性的过程,需要考虑电路设计、逻辑设计和综合设计等多个方面。
设计者需要根据实际需求,合理选择电子元件和设计方法,并进行综合设计,以实现电子实时时钟的功能。
通过合理的设计和优化,可以得到一个精度高、稳定性好的电子实时时钟。
eda计时器课程设计报告

1/100s计时器报告一、1/100s计时器的功能和结构1/100s计时器常用于体育竞赛及各种要求有较精确定时的各领域。
以往利用常用的中小规模集成电路也可以设计这种1/100s的计时器,但是其体积通常都较大,携带和使用都很不方便。
为此,要求设计一块专用的ASIC芯片,除开关、时钟和显示功能以外,它包括1/100s 计时器所有的控制和定时功能,其体积应和机械式计时器的大致相同。
1、功能要求(1)精度大于1/100s计时器能显示1/100s的时间,故提供给计时器的内部定时的时钟脉冲频率大于100hz,可选1khz。
(2)计时器的最长计时时间为1h在一般的短时计时器的应用中,1h是足够了,为此需要一个6位的显示器,显示的最长时间为59分59.99秒.(3)设置复位和启/停开关复位开关用来使计时器清零,并做好计时的准备。
启/停开关的使用方法应与传统的机械式计数器相同,即按一下启/停开关,启动计时器开始计时,再按一下启/停开关终止。
复位开关可以在任何的情况下使用,即使在计时的过程中,只要一按复位开关,计时进程应立即终止,并对计时器清零。
2、1/100s计时器的结构设想1/100s计时器的结构如下图2.1所示。
从图中可以看到,1/100s计时器由复位开关、启/停开关、系统电源复位电路、时钟脉冲发生器、7段LED显示器和1/100s计时控制芯片组成。
复位开关reset_sw 和start_stop_sw都是高电平有效。
另外,开关的消抖电路应在控制芯片中。
系统复位输入端sysres是计时器加电复位的输入端,其复位电路是为外加的,不包含在芯片中。
时钟输入clk是由外加时钟脉冲发生器的输出提供的,本设计中要求输入一个频率稳定的1Khz时钟脉冲。
6位显示器需要6个7段LED,控制芯片的7条段输出线segment (6 TO 0)与7段LEDd 对应连接。
控制芯片的6条common(5 TO 0)输出线分别接到各个LED,用来选择显示LED。
eda课程设计计时器
eda课程设计计时器一、课程目标知识目标:1. 让学生理解EDA技术的基本概念,掌握计时器电路的设计原理。
2. 使学生掌握计时器电路的组成部分,如触发器、计数器等。
3. 帮助学生了解计时器在实际应用中的功能和作用。
技能目标:1. 培养学生运用所学知识,设计并搭建简单计时器电路的能力。
2. 提高学生分析和解决计时器电路实际问题的能力。
3. 培养学生运用EDA软件进行电路仿真和调试的技能。
情感态度价值观目标:1. 培养学生对电子设计及其应用的兴趣,激发学生的创新意识。
2. 培养学生严谨的科学态度,提高学生的团队协作能力。
3. 增强学生的国家意识,认识到我国在EDA领域的发展潜力。
本课程针对的学生特点为具备一定电子基础知识,具有较强的动手能力和探究精神。
课程性质为理论与实践相结合,注重培养学生的实际操作能力。
在教学要求方面,强调学生对基本概念的理解,注重实际操作能力的培养,同时关注学生情感态度价值观的塑造。
通过本课程的学习,预期学生能够掌握计时器电路的设计原理和实现方法,具备一定的电子设计能力,并在情感态度价值观方面得到全面提升。
二、教学内容本课程教学内容主要包括以下几部分:1. 计时器电路基础知识:介绍EDA技术的基本概念,计时器电路的基本原理和分类,使学生了解计时器电路在实际应用中的作用。
2. 计时器电路的组成部分:详细讲解触发器、计数器等计时器电路核心部件的工作原理和应用。
3. 计时器电路设计方法:分析不同类型的计时器电路设计方法,如同步计时器、异步计时器等,并引导学生运用所学知识进行设计。
4. EDA软件使用:教授学生如何使用EDA软件进行计时器电路的绘制、仿真和调试,提高学生的实际操作能力。
5. 实践操作:安排学生分组进行计时器电路的设计、搭建和测试,培养学生的动手能力和团队协作精神。
教学内容安排如下:第1课时:计时器电路基础知识,介绍EDA技术和计时器电路原理。
第2课时:计时器电路的组成部分,分析触发器、计数器等核心部件。
EDA综合计时系统设计
SOPC/EDA综合课程设计报告设计题目:综合计时系统设计者:文波学号:08060108115班级:电气081指导老师:王忠锋完成时间:2011年1月13日目录1. 综合计时系统设计与分析 (2)1.1 系统设计要求 (2)1.2 系统设计方案 (2)1.2.1 综合计时电路的设计 (2)1.2.2 显示控制电路XSKZQ的设计 (5)1.2.3 调整控制电路TZKZQ的设计 (9)1.2.4 综合计时系统ZHJSQ的设计 (12)1.3系统单元仿真与分析 (13)1.3.1综合计时电路的仿真 (13)1.3.2 显示控制电路的仿真 (14)1.3.3调整控制电路的仿真 (15)1.3.3综合计时系统电路的仿真 (15)2. 改进方法 (16)3. 收获与体会 (16)参考文献 (17)1. 综合计时系统设计与分析1.1 系统设计要求设计一个综合性的计时系统,要求能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果通过15个七段数码管显示,并且可通过两个设置键,对计时系统的有关参数进行调整。
具体系统功能面板如图1.1所示。
图1.1 系统功能面板1.2 系统设计方案 1.2.1 综合计时电路的设计根据系统的设计要求,综合计时电路可分为计秒电路、计分电路、计时电路、计星期电路、计日电路、计月电路、计年电路等7个子模块,这7个子模块必须都具有预置、计数和进位功能,设计思想如下:(1) 计秒电路:以直接输入或由分频器产生的秒脉冲作为计秒电路的计数时钟信号,待计数至60瞬间,进位,计分电路加1,而计秒电路则清零并重新计秒。
(2) 计分电路、计时电路:其设计思想与计秒电路类似。
(3) 计日电路:将计时电路产生的进位脉冲信号作为计日电路的计数时钟信号,通过系统辨认,确定本月总天数X(包括28、29、30、31四种情况),待计数至X +1瞬间,进位,计月电路加1,而计日电路返回1重新开始计数。
EDA多功能秒表课程设计
EDA多功能秒表课程设计一、课程目标知识目标:1. 学生能理解EDA多功能秒表的基本原理和功能。
2. 学生能掌握秒表的计时、计次和闹钟等功能操作。
3. 学生了解秒表在日常生活和运动竞赛中的应用。
技能目标:1. 学生能运用所学知识,独立操作多功能秒表,进行计时和计次。
2. 学生能通过分析秒表数据,提高解决问题的能力。
3. 学生能运用秒表进行简单的运动计时和数据分析。
情感态度价值观目标:1. 学生培养对电子产品的兴趣,激发学习电子技术知识的热情。
2. 学生在团队协作中,培养合作精神和沟通能力。
3. 学生通过运用秒表进行运动计时,培养公平竞争和尊重规则的意识。
课程性质:本课程为实践性较强的电子技术课程,结合多功能秒表的实用功能,使学生掌握基本操作和运用。
学生特点:学生处于好奇心强、动手能力逐渐增强的阶段,对新鲜事物充满兴趣,善于合作与分享。
教学要求:教师需引导学生主动参与,注重实践操作,培养学生动手能力和解决问题的能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,提高学生的综合素质。
通过本课程的学习,使学生将所学知识应用于实际生活,达到学以致用的目的。
二、教学内容本章节教学内容主要包括以下几部分:1. 多功能秒表的原理与结构:介绍秒表的电子元件、工作原理和整体结构,使学生了解秒表的内部构造和功能实现方式。
教材章节:第一章 电子元件与电路基础2. 多功能秒表的操作与使用:详细讲解秒表的计时、计次、闹钟等功能操作,以及如何进行复位、设置等操作。
教材章节:第二章 数字电路与计时器3. 秒表在运动计时中的应用:通过实例分析,使学生了解秒表在运动竞赛中的实际应用,如田径、游泳等项目的计时。
教材章节:第三章 计时器在体育运动中的应用4. 秒表数据的分析与处理:教授学生如何分析秒表数据,进行简单的数据处理,提高学生解决问题的能力。
教材章节:第四章 数据分析与处理5. 实践操作:安排学生进行实际操作,如使用秒表进行计时、计次,分析数据等,巩固所学知识。
EDA数字秒表的设计
EDA数字秒表的设计第一篇:EDA数字秒表的设计设计报告——数字秒表的设计EDA 一设计目的1.根据设计要求,完成对数字秒表的设计。
2.进一步加强对QuartusⅡ的应用和对Verilog HDL语言的使用。
二设计内容和要求1.计时精度应大于1/100S,计时器能显示1/100S的时间,提供给计时器内部定时的时钟频率应大于100Hz,这里选用KHz。
2.计时器的最大计时时间为1小时,为此需要6位的显示器,显示的最长时间为59分59.99秒。
3.设置有复位和起/停开关,复位开关用来使计数器清零,做好计时准备。
起停开关的使用方法与传统的机械式计数器相同,即按一下,启动计时器开始计时,再按一下计时终止。
三系统设计方案自顶向下的设计自顶向下的设计方法是数字系统设计中最常用的设计方法.也是基于芯片的系统设计的主要方法。
自顶向下的设计方法利用功能分割手段将设计由上到下进行层次话和模块化,及分层次、分模块进行设计和仿真。
功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更少的逻辑块和电路。
如此分割,逐步的将系统细化,将功能逐步的具体化,模块化。
高层次设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细描述在下一设计层次说明,最底层的设计才涉及具体寄存器和逻辑门电路等实现方式的描述。
四模块设计1.分频模块将输入1KHZ的系统时钟经过十分频分为100HZ的单位时钟。
编程原理跟计数器原理相似。
2.定时模块采用2个60进制、1个100进制的BCD码全加器作为定时器,分为分,秒,百分秒,输入时钟信号为分频器输出信号100HZ时钟,外界两个拨码开关作为清零按钮和暂停按钮。
3.位选发生器:根据显示的数据位和人眼暂留效应,设计显示分为分、秒、百分秒位,每位需要2个数码管进行显示,因此变化频率至少为300HZ,为了方便则采用1KHZ,循环码则从000循环到101。
4.多路选择器根据位选信号,输出对应位显示的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SOPC/EDA综合课程设计报告设计题目:综合计时系统设计者:袁振宇学号:08040109116班级:测控091指导老师:王忠锋完成时间:2012年1月4日目录1. 综合计时系统设计与分析 (2)1.1 系统设计要求 (2)1.2 系统设计方案 (2)1.2.1 综合计时电路的设计 (2)1.2.2 显示控制电路XSKZQ的设计 (5)1.2.3 调整控制电路TZKZQ的设计 (10)1.2.4 综合计时系统ZHJSQ的设计 (13)1.3系统单元仿真与分析 (14)1.3.1综合计时电路的仿真 (14)1.3.2 显示控制电路的仿真 (15)1.3.3调整控制电路的仿真 (16)1.3.3综合计时系统电路的仿真 (16)2. 改进方法 (17)3. 收获与体会 (17)参考文献 (18)1. 综合计时系统设计与分析1.1 系统设计要求设计一个综合性的计时系统,要求能实现年、月、日、时、分、秒及星期的计数等综合计时功能,同时将计时结果通过15个七段数码管显示,并且可通过两个设臵键,对计时系统的有关参数进行调整。
具体系统功能面板如图1.1所示。
图1.1 系统功能面板1.2 系统设计方案1.2.1 综合计时电路的设计根据系统的设计要求,综合计时电路可分为计秒电路、计分电路、计时电路、计星期电路、计日电路、计月电路、计年电路等7个子模块,这7个子模块必须都具有预臵、计数和进位功能,设计思想如下:(1) 计秒电路:以直接输入或由分频器产生的秒脉冲作为计秒电路的计数时钟信号,待计数至60瞬间,进位,计分电路加1,而计秒电路则清零并重新计秒。
(2) 计分电路、计时电路:其设计思想与计秒电路类似。
(3) 计日电路:将计时电路产生的进位脉冲信号作为计日电路的计数时钟信号,通过系统辨认,确定本月总天数X(包括28、29、30、31四种情况),待计数至X +1瞬间,进位,计月电路加1,而计日电路返回1重新开始计数。
年月日星期模式调整年月日时分秒星期(4) 计星期电路:将计时电路产生的进位脉冲信号作为计星期电路的计数时钟信号,待计数至7瞬间,计星期电路返回1重新开始计数。
(5) 计月电路:将计日电路产生的进位脉冲信号作为计月电路的计数时钟信号,待计数至12瞬间,进位,计年电路加1,而计月电路返回1重新开始计数。
(6) 计年电路:将计月电路产生的进位脉冲信号作为计年电路的计数时钟信号,待计数至100瞬间,计年电路返回0重新开始计数。
(注:由于本系统的计年范围仅为2000~2099年,所以计年模块只对年份的后两位进行计数,年份的前两位始终保持为"20"。
)下面介绍CNT60、CNT30计数模块的设计。
图2.1 CNT60计数模块输入、输出端口图CNT60计数模块是一个多用计时模块,它既可作为计秒电路调用,又可作为计分电路、计时电路调用。
图2.1是其输入、输出端口图。
其中,输入信号LD为臵数控制信号,低电平有效;输入信号CLK为计数时钟信号;输入信号DATA为待预臵数;输出信号NUM为计数结果;输出信号CO为计数溢出信号。
图2.2 CNT30计数模块的输入、输出端口图CNT30计数模块是一个计日模块。
由于该计数模块涉及到大小月及闰年问题,所以CNT30的计数范围并非固定变,而是存在1~28、1~29、1~30及1~31这四种情况。
图2.2是其输入、输出端口图。
其中输入信号LD为臵数控制信号,低电平有效;输入信号CLK为计数时钟信号;输入信号DATA为待预臵数;输入信号YEAR为当前计时的年份数;输入信号MON为当前计时的月份数;输出信号NUM为计数结果;输出信号CO为计数溢出信号,输出信号MAX_DAYS为当前月的天数。
(1)CNT60的主要VHDL程序段如下:IF(LD='0') THENNUM<=DATA;ELSIF CLK'EVENT AND CLK='1'THENIF NUM="111011" THENNUM<="000000";CO<='1';ELSENUM<=NUM+1;CO<='0';END IF;END IF;分析:这段程序可用来被计秒、计分、计时电路调用。
当臵数控制模块低电平有效时,待预臵数送入计数结果。
此时当计数时钟信号上升沿有效时,如果计数结果输出的是"111011",代表此周期内计数到第60次(即若是计分电路,代表计数到第59分钟),将产生进位信号并且计数从0开始;若计数范围在0~58之间时,计数结果只在下次计数时钟到来时加1,并不产生进位信号。
拓展:可以利用CNT60的理论设计出计年(CNT100)、计月(CNT12)、计星期(CNT7)的VHDL程序段,只需修改对应的最大计时数、复位值(复位值为1)以及对应的向量范围。
(2)CNT30的主要VHDL程序段如下:IF(LD='0') THENNUM<=DAY;ELSIF CLK'EVENT AND CLK='1' THENMAX_DAYS<=TOTAL_DAYS;IF NUM=TOTAL_DAYS THENNUM<="00001";CO<='1';ELSENUM<=NUM+1;CO<='0';END IF;END IF;分析:这段程序用来实现计日模块。
当臵数控制模块低电平有效时,待预臵数送入计数结果。
此时当计数时钟信号上升沿有效时,将TOTAL_DAYS的信号送入MAX_DAYS(在结构体中定义SIGNAL TOTAL_DAYS:STD_LOGIC_VECTOR(4 DOWNTO 0)),如果TOTAL_DAYS的计数结果和NUM的结果一致,表明已到当前月份的最后一天,则产生进位信号,并从1开始计数;否则,计数信号加1,不会产生进位信号。
1.2.2 显示控制电路XSKZQ的设计本设计显示需要使用的是15个七段显示数码管。
在计时结果显示电路中,七段数码管显示部分是一个不容忽视的环节,如若处理不得当,可能引起系统功率过大,产生散热问题,严重时甚至会导致系统的烧毁。
为了解决好以上问题,下面就对七段数码管显示电路做简要的分析和介绍。
通常点亮一个LED所需的电流是5~50 mA,通电的电流愈大,LED 的亮度愈高,相对的也会使其寿命缩短。
一般以10 mA的导通电流来估算它所必须串联的阻值,其计算方式参考图2.3所示。
图 2.3 单个LED的串接电阻计算方式七段显示器可分为共阳极、共阴极型两种,它们都可以等效成8个LED的连接电路,其中图2.4就是共阴极型七段显示器的等效电路和每节LED的定义位臵图。
图2.4 共阴极型七段显示器的LED位置定义和等效电路由于本设计的目标是设计一个综合的计时系统,要求同时显示年(在这里年份的前两位固定为20)、月、日、时、分、秒及星期共15个数字,依照图2-4的计算方式,同时点亮一个七段显示器的8节LED,结果将需要电流为10mA×8=80mA。
若再进一步同时点亮15个七段显示器,这时所需的电流为80mA×15=1200 mA=1.2A。
这对于一般的电子电路来说,是一个不小的电源。
不但CPLD和FPGA芯片无法负载这样的电流驱动,而且这个功率也太大,散热也是问题,电路容易被烧毁。
因此显示电路部分不能直接实现各个计时结果同时显示,只能另外通过一个扫描电路对计时输出进行逐个扫描,使七段数码管以个位一组,逐个进行显示,只要每个扫描频率不超过人的眼睛的视觉暂留频率24HZ,就可以达到点亮两个七段数码管,却能享有所有七段数码管同时显示的视觉效果,而且显示也不致闪烁抖动,从而间接实现计时结果同时显示。
根据以上设计思想,本系统的数据显示电路可分为两个子模块:(1) 显示控制电路XSKZQ:负责完成数据选择扫描及数码管位选择信号的产生,数据扫描选择输出,对于选择的数据进行BCD码转换等功能;(2) 显示译码电路YMQ:将用于显示的BCD码数据进行译码。
XSKZQ的输入、输出端口如图2.5所示。
图2.5 XSKZQ计数模块的输入、输出端口图YMQ的输入、输出端口如图2.6所示。
图2.6 YMQ显示译码模块的输入、输出端口图其中,输入信号CLK_SCAN为用于产生数据选择扫描等控制信号的时钟信号;输入信号SEC、MIN、HOUR、DAY、MON、YEAR、WEEK分别来自计秒电路、计分电路、计时电路、计日电路、计月电路、计年电路、计星期电路等计时电路的计时结果输出端;输出信号BCD为被选择进行显示的计秒、计分、计时、计日、计月、计年、计星期电路等计时电路的计时结果的8位BCD码,输出端SELOUT经外部的3-8译码电路译码后用于选择对应计时结果显示数码管的公共端COM。
图2.7为15个共阴极型七段数码管驱动接线图。
图2.7 15个共阴极型七段数码管驱动接线图显示控制电路XSKZQ的VHDL部分程序:IF CLK_SCAN'EVENT AND CLK_SCAN='1' THEN IF CNT="111" THENCNT<="000";ELSECNT<=CNT+'1';END IF;END IF;………SELOUT<=CNT;………CASE CNT ISWHEN "000" => TEMP<=CONV_INTEGER(SEC); WHEN "001" => TEMP<=CONV_INTEGER(MIN); WHEN "010" => TEMP<=CONV_INTEGER(HOUR); WHEN "011" => TEMP<=CONV_INTEGER(DAY); WHEN "100" => TEMP<=CONV_INTEGER(MON); WHEN "101" => TEMP<=CONV_INTEGER(YEAR); WHEN "110" => TEMP<=20;WHEN "111" => TEMP<=CONV_INTEGER(WEEK); WHEN OTHERS=> NULL;END CASE;CASE TEMP ISWHEN 0 => BCD<="00000000";WHEN 1 => BCD<="00000001";WHEN 2 => BCD<="00000010";WHEN 3 => BCD<="00000011";WHEN 4 => BCD<="00000100";WHEN 5 => BCD<="00000101";………WHEN 98 => BCD<="10011000";WHEN 99 => BCD<="10011001";WHEN OTHERS => BCD<="00000000";END CASE;分析:当扫描时钟(CLK_SCAN)处于上升沿时,程序对各个输出信号进行扫描。