EDA课程设计——多功能数字钟
eda课程设计报告多功能数字钟设计大学论文

湖北大学物电学院EDA课程设计报告(论文)题目:多功能数字钟设计专业班级: 14微电子科学与工程姓名:黄山时间:2016年12月20日指导教师:万美琳卢仕完成日期:2015年12月20日多功能数字钟设计任务书1.设计目的与要求了解多功能数字钟的工作原理,加深利用EDA技术实现数字系统的理解2.设计内容1,能正常走时,时分秒各占2个数码管,时分秒之间用小时个位和分钟个位所在数码管的小数点隔开;2,能用按键调时调分;3,能整点报时,到达整点时,蜂鸣器响一秒;4,拓展功能:秒表,闹钟,闹钟可调3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。
4.答辩在规定时间内,完成叙述并回答问题。
目录(四号仿宋_GB2312加粗居中)(空一行)1 引言 (1)2 总体设计方案 (1)2.1 设计思路 (1)2.2总体设计框图 (2)3设计原理分析 (3)3.1分频器 (4)3.2计时器和时间调节 (4)3.3秒表模块 (5)3.4状态机模块 (6)3.5数码管显示模块 (7)3.6顶层模块 (8)3.7管脚绑定和顶层原理图 (9)4 总结与体会 (11)多功能电子表摘要:本EDA课程主要利用QuartusII软件Verilog语言的基本运用设计一个多功能数字钟,进行试验设计和软件仿真调试,分别实现时分秒计时,闹钟闹铃,时分手动较时,时分秒清零,时间保持和整点报时等多种基本功能关键词:Verilog语言,多功能数字钟,数码管显示;1 引言QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL 以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程,解决了传统硬件电路连线麻烦,出错率高且不易修改,很难控制成本的缺点。
利用软件电路设计连线方便,修改容易;电路结构清楚,功能一目了然2 总体设计方案2.1 设计思路根据系统设计的要求,系统设计采用自顶层向下的设计方法,由时钟分频部分,计时部分,按键调时部分,数码管显示部分,蜂鸣器四部分组成。
EDA课程设计报告(多功能数字时钟的设计)

1 绪论1.1设计目的本次设计的目的就是在掌握EDA实验开发系统的初步使用基础上,了解EDA 技术,加深对计算机体系结构的理解。
通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识,学习VHDL基本单元电路的综合设计应用。
通过对实用数字钟的设计,巩固和综合运用计算机原理的基本理论和方法,理论联系实际,提高设计、分析、解决计算机技术实际问题的独立工作能力。
1.2设计要求(1)熟练掌握VHDL语言的结构特点并能运用到具体实际中。
(2)学会利用复杂的可编程逻辑器件进行简单的电子系统设计。
(3)熟悉并掌握基于EDA实验开发系统设计实际问题的方法和步骤。
(4)通过设计过程提高自己运用所学知识来分析解决问题的能力。
1.3设计内容本课程设计中使用Altera公司的EP2C35系列的FPGA芯片,利用SOPC-NIOSII-EP2C35开发板上的资源和QuartusII软件,实现一个多功能数字时钟。
本设计的任务要求显示格式为小时-分钟-秒钟,整点报时,报时时间为10秒,即从整点前10秒钟开始进行报时提示,喇叭开始发声,直到过整点时,在 5秒LED开始闪烁,过整点后,停止闪烁。
系统时钟选择时钟模块的10KHz,要得到1Hz时钟信号,必须对系统时钟进行10,000次分频。
调整时间的的按键用按键模块的S1和S2,S1调节小时,每按下一次,小时增加一个小时,S2调整分钟,每按下一次,分钟增加一分钟。
另外用S8按键作为系统时钟复位,复位后全部显示00-00-00。
扩展内容:用16*16点阵显示实现日期的动态显示用4×4键盘阵列键盘替换按键实现日期、时钟的调整,用液晶显示模块日期、时间的显示。
1.4设计环境本次课题设计方要用到的开发环境是Altera公司的EDA设计工具软件QuartusII。
Altera公司的工作与EDA厂家紧密结合,使QuartusII软件可以与其它工业标准的设计输入、综合和校验工具相连接。
eda_多功能电子钟实习报告

数字电子技术课程设计报告——多功能数字钟电路设计专业班级:信息10-2姓名:学号:开课系室:设计日期:2012年10月22日~26日设计题目:多功能数字钟电路设计一、设计任务及要求:1.设计任务:利用语言设计多功能数字钟,使其具有显示时—分—秒、整点报时、小时和分钟可调等基本功能。
2.设计要求:设计一个多功能数字钟,要求显示格式为时—分—秒,整点报时,在整点前5秒开始按照1的频率闪烁,过整点后,停止闪烁。
系统时钟选择时钟模块的50,要得到1HZ的时钟信号,必须对系统时钟进行分频。
调整时间的按键用按键模块的s1和s2,s1调节小时,每按下一次,小时增加一个小时,s2调整分钟,每按下一次,分钟增加一分钟。
另外用s8按键作为系统时钟复位,复位后全部显示00-00-00。
3.输出资源说明:a)输入信号:按键s1,s2,s8(s1按下时为0,松开时为1,其他按键类似)。
b)外部输入脉冲信号时钟源(50),经适当分频后供计数器使用。
c)输出8组显示译码信号(每组7个输出端),分别接到外部的7个七段数码管上,分别显示小时、分钟、秒,显示格式小时-分钟-秒。
d)输出一个高低电平信号,接到外部的1个指示整点的灯。
(输出高电平时,对应的灯亮)错误!未指定顺序。
多功能数字钟控制器结构框图根据如上说明,本设计的主要任务和设计要求是: 1、按照现代数字系统的模块化设计方法,提出简易洗衣机控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码等模块化子系统的设计方案。
2、在的设计环境中,采用原理图和语言混合输入的方法,完成系统的顶层设计、各子系统的模块化设计。
分别完成各个基于语言实现的子模块(包括分频器、计数器、主控制器、扫描显示译码四部分)的逻辑功能仿真,并对顶层设计进行功能仿真。
3、在2步的基础上,用下载电缆通过口将对应的文件加载到中。
观察实验结果是否与自己的编程思想一致。
二、设计原理与方案:设计多功能数字钟首先要知道钟表的工作原理,整个钟表的工作应该是在1的信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时,但是需要注意的是,小时的范围是从0-23。
EDA多功能数字钟设计报告

江汉大学文理学院EDA课程设计报告课程设计题目多功能数字钟部(系)信息技术学部专业姓名学号指导教师2014年 12 月 29 日目录一、设计目的 (1)二、设计要求 (1)三、硬件方案 (1)3.1 设计思路 (1)3.2 设计框图 (2)3.3 数字钟主控电路状态表 (3)四、软件方案 (4)4.1 按键消抖模块 (4)4.2 时钟计数器模块 (5)4.3 显示译码模块 (13)4.4 分频器模块 (15)4.5 主控制电路模块 (16)4.5.1 计数器控制模块 (16)4.5.2 闹钟计数器模块 (19)4.5.3 闹钟控制模块 (21)4.5.4 显示输出控制模块 (25)4.5.5 led控制模块 (26)4.5.6 主控模块 (29)4.6 电子钟系统原理图 (29)五、实现过程中遇到的问题及措施 (30)六、设计心得体会 (30)七、参考文献 (31)一、设计目的本课程设计的目的是熟练掌握相关软件的使用和操作。
能对VHDL语言程序进行编译,调试,以及通过计算机仿真,得到正确的仿真波形图,并根据所得仿真波形图分析判断并改进所设计的电路。
在成功掌握软件操作基础上,将所数字电路的基础课知识与VHDL语言的应用型知识结合起来并与实际设计,操作了解起来,即“理论了解实际”。
深入了解VHDL语言的作用与价值,对用硬件语言设计一个电路系统开始具备一个较完整的思路与较专业的经验。
对EDA技术有初步的认识,并开始对EDA 技术的开发创新有初步的理解。
二、设计要求设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟和秒进行手动调节以校时间,每逢整点,产生报时音报时。
三、硬件方案3.1 设计思路根据设计要求进行分析,数字钟应当有计数器,分频器,按键消抖,闹钟,显示及主控模块构成。
分频器用来提供时钟,计数器用于计时,按键消抖为系统提供准确的按键控制信号输入,闹钟用于提供闹钟功能,显示模块显示时间,主控模块根据按键输入控制各个模块以实现所需求功能。
EDA课程设计+(数字钟)

EDA课程设计报告课题名称:多功能数字钟设计多功能数字钟设计一、数字钟简介:20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。
数字钟的设计方法有许多种,例如,可用中小规模集成电路组成电子钟;也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟;还可以利用单片机来实现电子钟等等。
这些方法都各有其特点,其中利用单片机实现的电子钟具有编程灵活,并便于功能的扩展。
二、设计要求1. 具有以二十四小时制计时、显示、时间设置的功能。
2. 精度要求为1s。
三、系统功能简介1. 计时:时钟计时:秒——60进制BCD码计数;分——60进制BCD码计数;时——24进制BCD码计数;2. 校时:同时整个计数器有清零,调分,调时功能。
可手动校时,能分别进行时、分的校正3. 显示:具有驱动8位八段共阴极扫描数码管的片选驱动信号输出和八段字形译码输出。
内容规划:(1)根据电路特点,可用层次化结构化设计概念。
将此项设计分成若干模块,规定每一模块的功能和各模块之间的接口。
多功能数字钟、出租车计费系统--EDA课程设计报告

E D A课程设计报告课程名称EDA技术课题名称多功能数字钟、出租车计费系统学院电气信息学院专业通信工程目录一、多功能数字钟的总体设计 (4)1.1多功能数字钟的理论设计 (4)1.2方案设计具体化 (4)二.出租车计费系统的逻辑功能实现 (5)2.1 系统的总体框图 (5)2.2多功能数字钟各功能实现的具体化 (5)2.2.1调节时间 (5)2.2.2时分秒的显示 (5)2.2.3整点报时 (6)三.多功能数字信号钟在VHDL语言中的功能实现 (6)四.仿真结果 (10)五.硬件仿真结果 (11)六、出租车计费系统的总体设计 (12)6.1 出租车计费系统理论设计 (12)6.2方案设计具体化 (12)七、出租车计费系统的逻辑功能实现 (14)7.1 系统的总体框图 (14)7.2 各模块功能的实现 (14)7.2.1记里程模块设计 (14)7.2.2计费模块设计 (15)7.2.3显示模块设计 (15)八、出租车计费系统的在VHDL语言中的实现 (16)8.1 计费记里程的功能实现 (16)8.2数码管显示的功能实现 (18)九.仿真结果 (19)十.结论 (20)十一.心得体会 (20)一、多功能数字钟的总体设计1.1多功能数字钟的理论设计多功能数字钟应该具有的功能有:显示时一分一秒、整点报时,小时和分钟可调等基本功能。
整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转到00分时,小时增加1小时。
需要注意的是,小时的范围是从0-23时。
1.2方案设计具体化在设计中为了显示的方便,分钟和秒钟可以用一个3位的二进制码显示十位,用一个四位的二进制码显示个位,对于小时因为它的范围是从0~23,所以可以用一个2位的二进制码显示十位,用4位二进制码显示个位。
设计中由于七段码管是扫描的方式显示,所以虽然时钟需要的是1Hz时钟信号。
eda2设计报告——多功能数字钟设计

EDA(Ⅱ)实验报告——多功能数字钟设计摘要本实验利用ALTERA公司的QUARTUSⅡ开发平台,对Cyclone系列的EP1C12Q240C8芯片进行开发,以实现数字钟。
具体功能有:计时,校时校分,清零,闹铃,整点报时等。
AbstractIn this study, the company's QUARTUS Ⅱ ALTERA development platform, on the Cyclone series EP1C12Q240C8 chip development to digital clock. Specific features include: time, school hours when the school, clear, alarm, and so the whole point timekeeping.关键字FPGA QUARTUSII 设计多功能数字钟KeywordsFPGA QUARTUSII design multi-function digital clock目录一、设计要求说明二、方案论证三、各子模块设计原理1、脉冲发生模块(1) 48分频(2) 1000分频(3) 计时信号的产生2、模块设计(1)24小时模块(2)报时电路模块(3)较时较分清零模块说明(4)闹钟模块1.闹钟清零2.闹钟较分较时3、译码显示模块(1)译码显示(2)显示转换模块4、整体电路构成附各开关使用说明四、编译及仿真下载1、编译2、下载五、结论六、设计感想1、设计过程中遇到的问题及解决方法2、设计的收获与感受七、参考文献设计报告一、设计要求说明设计基本要求:1、能进行正常的时、分、秒计时功能;2、分别由六个数码管显示时分秒的计时;3、K1是系统的使能开关(K1=0正常工作,K1=1时钟保持不变);4、K2是系统的清零开关(K2=0正常工作,K2=1时钟的分、秒全清零);5、K3是系统的校分开关(K3=0正常工作,K3=1时可以快速校分);6、K4是系统的校时开关(K4=0正常工作,K4=1时可以快速校时);设计提高部分要求1、使时钟具有整点报时功能(当时钟计到59’53”时开始报时,在59’53”, 59’55”,59’57”时报时频率500Hz,59’59”时报时频率为1KHz, );2、闹表设计功能;二、方案论证本次实验是通过脉冲发生电路产生1Hz的频率作为计时电路的脉冲,计时电路是由两个模60的电路分别作为秒和分,一个模24的电路作为时,计时电路通过译码显示电路在七段数码管上显示;校分校时电路则是通过一个或门分别与秒的进位信号和分的进位信号相或,用或门的输出端控制分和时的计数器使能端使其计数;清零电路则是通过控制秒、分、时的计数器的清零端,使其一并清零;报时电路是根据所要求的时间由计时电路产生反馈信号再跟要求的报时频率相与后输出端跟蜂鸣器相连即可产生相应频率的报时信号。
EDAII实验报告—多功能数字钟2南京理工大学

EDA设计Ⅱ实验报告——多功能数字钟设计姓名:学号:11042203**指导老师:姜萍完成时间:2013年12月目录一、实验内容及要求 (5)二、电路设计原理 (5)三、各子模块设计 (7)1、脉冲信号发生电路 (7)2、计时电路 (10)3、译码显示电路 (15)4、校分(时)电路 (16)5、保持电路和清零电路 (18)6、整点报时电路 (18)7、最终的时钟电路 (19)四、调试仿真和编程下载 (20)五、实验总结 (21)附录、参考文献 (23)摘要:数字钟已经成为我们生活中不可或缺的一部分。
本文的内容便是多功能数字钟的设计,其具有24小时计时,调整时间,时间清零,时间保持,整点报时的功能。
首先文章介绍了实验的内容和要求,并对多功能数字钟的设计原理进行了介绍。
实验采用分模块设计最终整合的方法,对每一个模块进行封装,最终整合成一个总体的实验电路,完成多功能数字钟所要求的功能。
接着文章介绍了具体的试验方法和步骤。
我们利用可编程逻辑器件,在QuartusII软件上进行设计,实现多功能,这就是所谓的FPGA。
我们先是设计分频电路,对实验箱上的48MHZ信号进行分频得到所需信号,接着设计计时和译码显示电路,利用软件的仿真功能验证模块设计的正确性。
然后分别设计校分校时电路,保持清零电路,整点报时电路模块,仿真验证模块的正确性。
最后将各个模块整合,组合成完整的数字钟电路。
最后在对电路的引脚进行分配后,下载到SmartSOPC试验系统中,验证电路的设计是否正确。
关键词:数字钟,FPGA ,QuartusII,SmartSOPC,分模块设计Summary:Digital clock has been an necessary part of our daily life.The content of this essay is the design of multi-function digital clock, which has the functions of 24-hour timer,time adjustment, time cleared, the time to maintain, the whole point timekeeping and alarm.First,the content and demands of experiment is presented in the essay,the design principle of multi-function digital clock is also introduced.The method of module integration after designing and simulating each module is taken to implement the experiment.After packaging all module,all the modules are integrated to realize the final electric circuits,implementing all the demands of multi-function digital clock design.Second,the method and steps of the experiment is ing programmable logic devices,the electric circuits are designed in software QuartusII to realize the multi-function,which is called FPGA. Firstly, the frequency dividing circuit is designed to get the frequency required by dividing the frequency of 48MHZ from the experiment box.Then,the timing circuit and decoding-and-display circuit are also designed,which are all simulated in software to test their validity.After all,the timeadjustment circuit,the time maintain circuit,the time cleared circuit and the alarm circuit are also designed,which are simulated in the software to test their correctness.After packaging all the circuits into modules,the modules are integrated to finish the multi-function digital clock design.Last,the final circuit is downloaded to the SmartSOPC experiment system to test its validity after assigning all the pins of the final circuits.Keywords:digital clock, FPGA ,QuartusII,SmartSOPC,points module design一、实验内容及要求1、实验内容:利用QuartusII软件设计一个数字钟,并下载到SmartSOPC实验系统中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 哈尔滨工业大学(威海) 电子学课程设计报告
带有整点报时的数字钟设计与制作
姓名: 蒋栋栋 班级: 0802503 学号: 080250331 指导教师: 井岩 2
目录 一、课程设计的性质、目的和任务………………………………3
二、课程设计基本要求……………………………………………3 三、设计课题要求…………………………………………………3 四、课程设计所需要仪器…………………………………………4 五、设计步骤………………………………………………………4 1、整体设计框图…………………………………………………4 2、各个模块的设计与仿真………………………………………4 2.1分频模块……………………………………………………………4
2.2计数器模块…………………………………………………………6 2.3控制模块…………………………………………………………10 2.4数码管分配………………………………………………………13 2.5显示模块…………………………………………………………14 2.6报时模块…………………………………………………………16
六、调试中遇到的问题及解决的方法……………………………18
七、心得体会………………………………………………………18 3
一、课程设计的性质、目的和任务 创新精神和实践能力二者之中,实践能力是基础和根本。这是由于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。 通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。 二、课程设计基本要求 掌握现代大规模集成数字逻辑电路的应用设计方法,进一步掌握电子仪器的正确使用方法,以及掌握利用计算机进行电子设计自动化(EDA)的基本方法。 三、设计课题要求 (1)构造一个24小时制的数字钟。要求能显示时、分、秒。 (2)要求时、分、秒能各自独立的进行调整。 (3)能利用喇叭作整点报时。从59分50秒时开始报时,每隔一秒报时一秒,到达00分00秒时,整点报时。整点报时声的频率应与其它的报时声频有明显区别。 #设计提示(仅供参考): (1)对频率输入的考虑 数字钟内所需的时钟频率有:基准时钟应为周期一秒的标准信号。报时频率可选用1KHz和2KHz左右(两种频率相差八度音,即频率相差一倍)。另外,为防止按键反跳、抖动,微动开关输入应采用寄存器输入形式,其时钟应为几十赫兹。 (2)计时部分计数器设计的考虑 分、秒计数器均为模60计数器。 小时计数为模24计数器,同理可建一个24进制计数器的模块。 (3)校时设计的考虑 数字钟校准有3个控制键:时校准、分校准和秒校准。 微动开关不工作,计数器正常工作。按下微动开关后,计数器以8Hz频率连续计数(若只按一下,则计数器增加一位),可调用元件库中的逻辑门建一个控制按键的模块,即建立开关去抖动电路(见书70页)。 (4)报时设计的考虑 4
可以将高频时钟分频得到约2KHz和1KHz的音频,作为数字钟的报时频率。当电子钟显示XX:59:50时,数字钟开始报时“DO",持续一秒,而且每隔一秒报一下,直至显示XX:00:00时报“DI",持续一秒后停止。最后输出至喇叭。应调用元件库中的逻辑门建一个控制报时的模块。 (5)建一个七段译码的模块 因在系统可编程器件实验箱上的数码管没有经过译码,故要用AHDL语言写一个七段译码的模块,且应考虑数码管为共阳极。数码管上的点(D2、D4、D6)应置Vcc。 四、课程设计所需要仪器
1、计算机一台 2、quartusⅡ软件 3、FPGA开发板 五、设计步骤
1、模块介绍 (1) 分频模块:产生1Hz、1KHz、2KHz频率 (2) 计数器模块:生成60进制、24进制计数器 (3) 控制模块:按键控制、按键消抖 (4) 显示模块:7段数码管显示器,分别显示小时、分钟、秒 (5) 报时模块:进行整点报时
2、各个模块的设计与仿真 2.1分频模块 CLK晶振频率50MHZ,分成2KHZ,1KHZ,1HZ的信号。基准1HZ信号作为时钟计时的秒计数时钟信号;分频的1KHZ,2KHZ信号用于报时电路的不同声讯。
程序代码: library ieee; use ieee.std_logic_1164.all; entity fre is port( clk ,sel: in std_logic; clk1hz,clk1khz,clk2khz:out std_logic); end fre; architecture beh of fre is signal data1khz,data2khz,data1hz : std_logic := '0'; begin clk1hz <= data1hz; clk1khz <= data1khz; 5
clk2khz <= data2khz; clk1khz_pro : process(clk) --产生1khz信号 variable cnt : integer range 0 to 24999; begin if clk'event and clk='1' then if cnt = 24999 then cnt := 0 ; data1khz <= not data1khz; else cnt := cnt + 1; end if; end if; end process clk1khz_pro; clk2khz_pro : process(clk) --产生2khz信号 variable cnt : integer range 0 to 12499; begin if clk'event and clk='1' then if cnt = 12499 then cnt := 0 ; data2khz <= not data2khz; else cnt := cnt + 1; end if; end if; end process clk2khz_pro; clk1hz_pro : process(data1khz) --产生1hz 信号 variable cnt : integer range 0 to 499; begin if data1khz'event and data1khz='1' then if sel='0' then cnt:=0; else if cnt = 499 then cnt := 0 ;data1hz <= not data1hz ; else cnt := cnt + 1; end if; end if; end if; end process clk1hz_pro; end beh;
输入模块电路图: 6
freinstclkselclk1hzclk1khzclk2khz
2.2计数器模块 由秒计数器,分计数器,时计数器组成了最基本的数字钟计时电路,两个六十进制计数器与二十四进制计数器组合构成。
程序代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use IEEE.STD_LOGIC_ARITH.ALL;
entity shuzizhong is port( clk_change : in std_logic; s_en,m_en,h_en:in std_logic; sel:in std_logic; secout,minout,hourout :out std_logic; sl,sh,ml,mh,hl,hh:out std_logic_vector(3 downto 0); a:out std_logic_vector(15downto 0) ); end shuzizhong; architecture behav of shuzizhong is
signal low_rega,high_rega,low_regb,high_regb,low_regc,high_regc :std_logic_vector(3 downto 0):="0000"; signal sout,mout,hout :std_logic :='0'; begin --秒的60进制进制 counter_sec_l : process(clk_change,s_en) begin
sl<=low_rega;sh<=high_rega;ml<=low_regb;mh<=high_regb;hl<=low_regc;hh<=high_regc; 7
if clk_change'event and clk_change='1' then if s_en='1' then if low_rega="1001" then low_rega <= "0000"; else low_rega <= low_rega+'1'; end if; end if; end if; end process counter_sec_l; counter_sec_h : process(clk_change,s_en,low_rega) begin if clk_change'event and clk_change='1' then if s_en='1' then if low_rega="1001" then if high_rega ="0101"then high_rega <= "0000"; else high_rega <= high_rega+'1'; end if; end if; end if; end if; end process counter_sec_h; sout <= '1' when low_rega="1001" and high_rega="0101" else '0';
----分钟的60进制设置 counter_min_l : process(clk_change,m_en) begin if clk_change'event and clk_change='1' then if m_en='1' then if sout='1'or sel='0' then if low_regb="1001" then low_regb <= "0000"; else low_regb <= low_regb+'1'; end if; end if; end if; end if; end process counter_min_l; counter_min_h : process(clk_change,m_en,low_regb) begin if clk_change'event and clk_change='1' then