毕业论文-eda技术多功能数字钟系统的设计_第1页
毕业论文-eda技术多功能数字钟系统的设计_第2页
毕业论文-eda技术多功能数字钟系统的设计_第3页
毕业论文-eda技术多功能数字钟系统的设计_第4页
毕业论文-eda技术多功能数字钟系统的设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计基于单片机的氨分解率检测系统的研究与开发锅炉的单片机控制系统基于单片机控制的电磁振动式播种控制系统的设计基于单片机技术的WDR-01型聚氨酯导热系数测试仪的研制一种RISC结构8位单片机的设计与实现基于单片机的公寓用电智能管理系统设计基于单片机的温度测控系统在温室大棚中的设计与实现基于MSP430单片机的数字化超声电源的研制基于ADμC841单片机的防爆软起动综合控制器的研究基于单片机控制的井下低爆综合保护系统的设计基于单片机的空调器故障诊断系统的设计研究单片机实现的寻呼机编码器单片机实现的鲁棒MRACS及其在液压系统中的应用研究自适应控制的单片机实现方法及基上隅角瓦斯积聚处理中的应用研究基于单片机的锅炉智能控制器的设计与研究超精密机床床身隔振的单片机主动控制PIC单片机在空调中的应用单片机控制力矩加载控制系统的研究项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文,优秀毕业论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,毕业论文,单片机论文,基于单片机论文,毕业论文终稿,毕业论文初稿,本文档支持完整下载,支持任意编辑!本文档全网独一无二,放心使用,下载这篇文档,定会成功!EDA技术多功能数字钟系统的设计摘要近年来,随着电子技术和通信技术的飞速发展,要求设计研究方面运用电子设计自动化(ElectronicDesignAutomation,简称EDA)工具进行开发。在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可靠性,减轻了设计者的劳动强度。本设计为通过EDA仿真软件MAX+PLUSII设计一个多功能数字钟,并下载到硬件中实现。本系统的设计电路由计时电路、动态显示电路、闹钟电路、控制电路、显示电路等部分组成。本系统采用动态显示的原理在数码管上显示12小时计时的时刻,具有清零、保持、校时、报时的功能,并在此基础上增加了闹铃、秒表、12小时制计时、A/P显示等功能。在设计过程中,将各部分均模块化,各模块间相互独立,又相互联系。本实验吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统不仅成功的实现了要求的基本功能,发挥部分也得到完全的实现,而且有一定的创新功能。关键词数字钟、计数器、多功能、动态显示、原理图、仿真、模块化AbstractRecently,withtherapiddevelopmentofelectronicandcommunicationtechnology,itisrequiredtouseElectronicDesignAutomation(EDA)asatoolindesigningsystems.EDAderivesfromtheconceptsofComputerAidedDesign,ComputerAidedManufacture,ComputerAidedTestandComputerAidedEngineeringinthe1990s.DesignersuseHardwareDescribeLanguagetoaccomplishdesigningfilesontheplatformofsoftware.Then,computerwillfinishtheworkoflogicalcompiling,simplification,division,synthesis,optimizing,layout,trackingandsimulatingautomatically,anditcanalsoaccomplishtheworkofpropercompiling,logicalprojectinganddownloadingofthetargetchip.Asaresult,itevidentlyimprovestheefficiencyandreliabilityofthecircuitdesign,anditalsolightendesigner’sworkload.ThisexperimenthasdesignedamultifunctionaldigitalclockviausingtheMAX+PLUSII,andthebasicandextendedperformancesandfunctionsaresuccessfullyrealizedinthehardware.Thissystemincludestimecircuit,alarmcircuit,dynamicdisplaycircuit,controlcircuit,displaycircuit.Inthesystem,thesegmentdisplaycandisplaytimeinthe24-hourformat,itincludessuchfunctionsasclear,hold,checkthetimeandsoon.Wecanalsoaddalarm,stopwatch,12-hourformatdisplayandotherfunctionsonthatbasic.Inthedesigningprocess,manypartsaremodularized,theyarenotonlyindependentbutalsorelated.Manyfunctionsarefinishedbythesoftware.Soitsimplesthecircuitandenhancesthestabilityofthesystem.Notonlyallthebasicandextendedperformancesandfunctionsaresuccessfullyrealized,butalsoaccomplishsomeinnovationfunctions.Keywords:Digitalclock,arithmometer,multifunctional,dynamicdisplay,schematicdiagram,simulate,modularization目录摘要 2Abstract 31、 引言 52、EDA技术介绍 62.1EDA技术概况 62.2ALTERAQUARTUSII软件介绍 63、设计电路的内容和功能要求 83.1设计内容简介 83.2设计功能要求 83.374153芯片功能简介 84、硬件语言——VerilogHDL语言简介 104.1VerilogHDL发展史 104.2VerilogHDL概念 114.3VerilogHDL特点 114.2VerilogHDL应用实例 115、方案论证 125.1设计方案 125.2整体设计方案介绍 126、各子模块设计的原理和电路仿真 136.1主控制模块的设计及仿真 136.2时间及其设置模块 166.2.1.时间模块 166.2.2时间设置模块 206.3时间显示动态位选模块 246.4显示模块 276.5秒表模块 316.6闹钟模块 326.7分频模块 367、设计过程中遇到的问题 38结束语 39参考资料 40致谢 41引言多功能数字钟数字钟是采用数字电路实现对时,分,秒。数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,运运超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字钟计时的标准信号应该是频率相当稳定的1HZ秒脉冲,所以要设置标准时间源。数字钟计时周期是24小时,因此必须设置24小时计数器,应由模为60的秒计数器和分计数器及模为24的时计数器组成,秒、分、时由七段数码管显示。为使数字钟走时与标准时间一致,校时电路是必不可少的。设计中采用开关控制校时直接用秒脉冲先后对“时”“分”“秒”计数器进行校时操作。能进行整点报时。在从59分50秒开始,每隔2秒钟发出一次低音“嘟”的信号,连续五次,最后一次要求最高音“嘀”的信号,此信号结束即达到正点。本文基于数字钟的的设计原理,利用Altera公司出品QuartusII软件以及相应的实验平台完成设计。通过实验了解QuartusII的各种功能,学习对个子模块设计后的仿真基本方法。利用所学数字电路知识,用电路元件设计数字钟基本部分,经过仿真调试后下载到实验箱上。此次设计的数字钟具有清零、校时和校分功能、计时显示功能、整点报时功能。2、EDA技术介绍2.1EDA技术概况20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度2.2ALTERAQUARTUSII软件介绍QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放EDA工具。此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。MaxplusII作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII的更新支持,QuartusII与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII中包含了许多诸如SignalTapII、ChipEditor和RTLViewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII友好的图形界面及简便的使用方法。AlteraQuartusII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera的QuartusII可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件在本次设计中,用的软件是Alter公司的QUARTUSII5.0英文版,如下图,就是QUARTUSII5.0启动时出现的界面。3、设计电路的内容和功能要求3.1设计内容简介综合运用所学的数字逻辑电路和系统设计的知识,学会采用层次化设计的概念,将此次任务分成若干模块,规定某一模块的功能和各模块之间的接口,然后将各模块组合起来构成系统框图。任务要求设计一个多功能数字时钟电路,可以完成00:00:00-11:59:59的计时功能,并且具有清零功能、快速校分校小时、整点报时等基本功能。3.2设计功能要求1、能进行正常的时、分、秒计时功能;2、分别由六个数码管显示00小时00分00秒到11小时59分59秒的计时;3、键1是系统的启停(键1为0停止运行,键1为1时正常工作);4、键2是系统的清零(键2为0清零,键2为1时不清零);5、键3是系统的校时开关(键3为0正常工作,键3为1时可以快速校时);6、键4是系统的校分开关(键4为0正常工作,键4为1时可以快速校分);7、可增加数字钟的附加功能,例如数字钟的闹钟功能、彩铃的报时和闹铃功能等。3.374153芯片功能简介74153是一种常用的双4选1数据选择器。图4(a)为74153的逻辑符号,符号顶部为公共控制框,因此地址A1A0是公用的;下部为两个相同的单元框,每单元有4路输入通道,另有一选通控制端ST,ST为低电平有效,用EN说明它的使能作用,由于这个EN后面无数字,所以它对本单元的所有输入均起作用,故可称之为单元选通端。当ST=1时,则该单元禁止工作,或称未被选中,输出为0。根据图(b)可写出每单元的输出表达式为:系统层次图如图3.4计数控制模块计数控制模块调分计时时间显示输出整点整点报时控制resetclk蜂鸣器输出动态显示动态显示模块时间显示闹钟控制模块调时闹钟控制模块调分闹钟时间显示输出闹钟闹钟报时控制resetclk蜂鸣器输出整点报时模块clk整点报时模块分频器模块1024Hzsoundsound分频器模块1024Hz512Hz时间4Hz闹钟报时模块1Hz闹钟报时模块sound时间图3.4、硬件语言——VerilogHDL语言简介4.1VerilogHDL发展史VerlogHDL的发展历史:1、1981年GatewayAutomation(GDA)硬件描述语言公司成立。2、1983年该公司的PhilipMoorby首创了VerilogHDL,Moorby后来成为VerrlogHDL-XL的主要设计者和Cadence公司的第一合伙人。3、1984-1985年Moorby设计出第一个关于VerilogHDL的仿真器。4、1986年Moorby对VerilogHDL的发展又做出另一个巨大的贡献,提出了用于快速门级仿真的XL算法。5、随着VerilogHDL-XL的成功,VerilogHDL语言得到迅速发展。6、1987年Synonsys公司开始使用VerilogHDL行为语言作为综合工具的输入。7、1989年Cadence公司收购了Gateway公司,VerilogHDL成为Cadence公司的私有财产。8、1990年初Cadence公司把VerilongHDL和VerilongHDL-XL分开,并公开发布了VerilogHDL.随后成立的OVI(OpenVerilogHDLInternational)组织负责VerilogHDL的发展,OVI由VerilogHDL的使用和CAE供应商组成,制定标准。9、1993年,几乎所有ASIC厂商都开始支持VerilogHDL,并且认为VerilogHDL-XL是最好的仿真器。同时,OVI推出2.0版本的VerilongHDL规范,IEEE接收将OVI的VerilongHDL2.0作为IEEE标准的提案。10、1995年12月,IEEE制定了VerilongHDL的标准IEEE1364-1995.任何新生事物的产生都有它的历史沿革,早期的硬件描述语言是以一种高级语言为基础,加上一些特殊的约定而产生的,目的是为了实现RTL级仿真,用以验证设计的正确性,而不必像在传统的手工设计过程中那样,必须等到完成样机后才能进行实测和调试。VerilogHDL就是在用用最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(GatewayDesignAutomation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器Verilog-XL,获得了巨大的成功,从而使得VerilogHDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VerilogHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了VerilogHDL,并成立LVI组织以促进VerilogHDL成为IEEE标准,即IEEEStandard1364-1995.4.2VerilogHDL概念VerilogHDL是一种硬件描述语言(HDL:HardwareDiscriptionLanguage),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。4.3VerilogHDL特点VerilogHDL的最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把VerilogHDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,VHDL的学习要困难一些。但VerilogHDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意4.2VerilogHDL应用实例一个简单的VerilogHDL的例子:(12位寄存器)//VerilogExample//User-DefinedMacrofunctionmodulereg12(d,clk,q);`definesize11input[`size:0]d;inputclk;output[`size:0]q;reg[`size:0]q;always@(posedgeclk)q=d;endmodule5、方案论证5.1设计方案方案一:利用AT89C2051单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。它的计时周期为12小时,显示满刻度为12时59分59秒99毫秒,另外应有校时功能。电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。构成秒、分、时的计数,实现计时的功能。显示器件选用LED七段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路方案二:采用自顶向下的设计方法,它由秒计数模块,分计数模块,小时计数模块,报警模块,秒分时设置模块和译码模块六部分组成。方案三:用无进位六进制计数器选择数码管的亮灭以及对应的数,循环扫描显示,用六选一选择器选择给定的信号输出对应的数送到七段码译码器。模块进行复位,设置小时和分,输出整点报时信号和时,分,秒信号5.2整体设计方案介绍在整个设计中,数字钟具有记时、闹钟、整点报时、校时和显示的功能。设计分为4个步骤。第一,数字钟的时、分、秒的设计,时钟采用12进制,到了11:59:59,数字钟自动跳到00:00:00,分和秒采用60进制;第二,数字钟闹钟到点闹铃的设计,包括闹钟响的频率(例如每5秒响一次)、以及次数;第三,数字钟的整点报时,到了整点后,会自动的“嘟嘟”响2下;第四,数字钟的校时及显示,包括对时间的调整以及闹钟的调整。各个方面完成后即可对电路进行仿真。6、各子模块设计的原理和电路仿真6.1主控制模块的设计及仿真主控制模块实现对各个功能模块的整体设计,包括对时间显示与调整、日期显示与调整、闹钟显示与调整、秒表操作等的控制根据模块实现的功能设计VerilogHDL源代码如下:modulemaincontrol( SW3, Timepiece_EN, TimeSet_EN, Stopwatch_EN, Alarmclock_EN, Date_EN, DateSet_EN);outputTimepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;inputSW3;regTimepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN;reg[2:0]Function;//存放功能号always@(posedgeSW3)beginif(Function<3'b101) Function<=Function+3'b1;elseFunction<=3'b0;case(Function)//时钟3'b000:begin Timepiece_EN<=1'b1; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b0; end//时钟设置3'b001:begin Timepiece_EN<=1'b0; TimeSet_EN<=1'b1; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b0; end//秒表3'b010:begin Timepiece_EN<=1'b0; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b1; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b0; end //闹钟设置3'b011:begin Timepiece_EN<=1'b0; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b1; Date_EN<=1'b0; DateSet_EN<=1'b0; end//日期显示3'b100:begin Timepiece_EN<=1'b0; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b1; DateSet_EN<=1'b0; end //日期设置 3'b101:begin Timepiece_EN<=1'b0; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b1; enddefault:beginTimepiece_EN<=1'b0; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b0;endendcaseendendmodule在软件工具中编译和仿真得到的编译报告和波形图如图6.1.1(a)和(b)6.1.图6.1.1(a)波形图如下:图6.1.1(b)6.2时间及其设置模块时间及其设置模块主要完成时间的自动显示和正常运行,以及在相应的功能号下,实现时间的调整与设置。6.2.1.时间模块时间模块主要完成时间的自动显示功能。其VerilogHDL代码如下:moduletime_auto_and_set(CLK,Timepiece_EN, TimeSet_EN, SW1, SW2, Day_EN, hour_0,hour_1, minute_0,minute_1, second_0,second_1, TimeSet_disp_drive);input CLK;input Timepiece_EN;input TimeSet_EN;input SW1;input SW2;output Day_EN;output [3:0]hour_1,hour_0;output [3:0]minute_1,minute_0;output [3:0]second_1,second_0;output [2:0]TimeSet_disp_drive;reg[3:0]hour_1,hour_0;reg[3:0]minute_1,minute_0;reg[3:0]second_1,second_0;reg[2:0]TimeSet_disp_drive;wire [3:0]SYNTHESIZED_WIRE_18;wire [3:0]SYNTHESIZED_WIRE_19;wire [3:0]SYNTHESIZED_WIRE_2;wire [3:0]SYNTHESIZED_WIRE_3;wire [3:0]SYNTHESIZED_WIRE_20;wire [3:0]SYNTHESIZED_WIRE_21;wire [3:0]SYNTHESIZED_WIRE_6;wire [3:0]SYNTHESIZED_WIRE_7;wire [3:0]SYNTHESIZED_WIRE_22;wire [3:0]SYNTHESIZED_WIRE_23;wire [3:0]SYNTHESIZED_WIRE_10;wire [3:0]SYNTHESIZED_WIRE_11;timepiece_main b2v_inst1(.CLK(CLK),.Timepiece_EN(Timepiece_EN),.day_EN(Day_EN),.hour0(SYNTHESIZED_WIRE_18),.hour1(SYNTHESIZED_WIRE_19),.minute0(SYNTHESIZED_WIRE_20),.minute1(SYNTHESIZED_WIRE_21),.second0(SYNTHESIZED_WIRE_22),.second1(SYNTHESIZED_WIRE_23));time_mux b2v_inst2(.TimeSet_EN(TimeSet_EN),.hour0(SYNTHESIZED_WIRE_18),.hour1(SYNTHESIZED_WIRE_19),.hour_set0(SYNTHESIZED_WIRE_2),.hour_set1(SYNTHESIZED_WIRE_3),.minute0(SYNTHESIZED_WIRE_20),.minute1(SYNTHESIZED_WIRE_21),.minute_set0(SYNTHESIZED_WIRE_6),.minute_set1(SYNTHESIZED_WIRE_7),.second0(SYNTHESIZED_WIRE_22),.second1(SYNTHESIZED_WIRE_23),.second_set0(SYNTHESIZED_WIRE_10),.second_set1(SYNTHESIZED_WIRE_11),.hour_0(hour_0),.hour_1(hour_1),.minute_0(minute_0),.minute_1(minute_1),.second_0(second_0),.second_1(second_1));timeset b2v_inst3(.TimeSet_EN(TimeSet_EN),.SW1(SW1),.SW2(SW2),.hour0(SYNTHESIZED_WIRE_18),.hour1(SYNTHESIZED_WIRE_19),.minute0(SYNTHESIZED_WIRE_20),.minute1(SYNTHESIZED_WIRE_21),.second0(SYNTHESIZED_WIRE_22),.second1(SYNTHESIZED_WIRE_23),.disp_drive(TimeSet_disp_drive),.hour_set0(SYNTHESIZED_WIRE_2),.hour_set1(SYNTHESIZED_WIRE_3),.minute_set0(SYNTHESIZED_WIRE_6),.minute_set1(SYNTHESIZED_WIRE_7),.second_set0(SYNTHESIZED_WIRE_10),.second_set1(SYNTHESIZED_WIRE_11));Endmodule编译报告如图6.2.1(a):图6.2.1(a)仿真后的波形图如图6.2.1(b):图6.2.1(b)6.2.2时间设置模块时间设置模块主要完成对时间的设置相关的闪烁显示控制以及时间的小时、分钟、秒等数据的改变。其相应功能的VerilogHDL源代码如下:moduletimeset( TimeSet_EN, SW1,SW2, hour1,hour0, minute1,minute0, second1,second0, hour_set1,hour_set0, minute_set1,minute_set0, second_set1,second_set0, disp_drive );output[3:0]hour_set1,hour_set0;output[3:0]minute_set1,minute_set0;output[3:0]second_set1,second_set0;output[2:0]disp_drive;inputTimeSet_EN;inputSW1,SW2;input[3:0]hour1,hour0;input[3:0]minute1,minute0;input[3:0]second1,second0;reg[3:0]hour_set1,hour_set0;reg[3:0]minute_set1,minute_set0;reg[3:0]second_set1,second_set0;reg[2:0]disp_drive;//初始化initialbeginhour_set1<=hour1;hour_set0<=hour0;minute_set1<=minute1;minute_set0<=minute0;second_set1<=second1;second_set0<=second0;endalways@(posedgeSW1)//手动设置使能 beginif(TimeSet_EN==1'b1)begin if(disp_drive<3'b101) disp_drive<=disp_drive+3'b1; else disp_drive<=3'b0; endendalways@(posedgeSW2)begincase(disp_drive)//小时的高位3'b000:begin if(hour_set1<4'b0010) hour_set1<=hour_set1+4'b1; else hour_set1<=4'b0; end//小时的低位3'b001:begin if(hour_set0<4'b1001) hour_set0<=hour_set0+4'b1; else hour_set0<=4'b0; end//分的高位 3'b010:begin if(minute_set1<4'b0101) minute_set1<=minute_set1+4'b1; else minute_set1<=4'b0; end//分的低位 3'b011:begin if(minute_set0<4'b1001) minute_set0<=minute_set0+4'b1; else minute_set0<=4'b0; end//秒的高位3'b100:begin if(second_set1<4'b0101) second_set1<=second_set1+4'b1; else second_set1<=4'b0; end//秒的低位 3'b101:begin if(second_set0<4'b1001) second_set0<=second_set0+4'b1; else second_set0<=4'b0; enddefault:beginendendcaseendendmodule其相应的编译报告如图6.2.2(a)图6.2.2(a)利用软件得到的仿真波形图如图6.2.2(b)图6.2.2(b)6.3时间显示动态位选模块时间显示动态位选模块用来分时显示时间数据,但是在选择合适的时间间隔下,人眼并不能分辨是分时显示的,这样显示的方式可以降低功耗,其相应功能的VerilogHDL的源代码如下:moduletime_disp_select( clk_1khz, clk_200hz, Time_EN, TimeSet_EN, timeset_disp_drive, time_disp_select );output[5:0]time_disp_select;inputclk_1khz;inputclk_200hz;inputTime_EN;inputTimeSet_EN;input[2:0]timeset_disp_drive;reg[5:0]time_disp_select;reg[2:0]auto_disp_drive;regclk;reg[2:0]disp_drive;always@(posedgeclk_1khz)beginif(auto_disp_drive<3'b101)auto_disp_drive<=auto_disp_drive+3'b1;elseauto_disp_drive<=3'b0;endalwaysbeginif(Time_EN==1'b1)beginclk<=clk_1khz;disp_drive<=auto_disp_drive;endelseif(TimeSet_EN==1'b1)beginclk<=clk_200hz;disp_drive<=timeset_disp_drive;endendalways@(posedgeclk)begincase(disp_drive)3'b000:time_disp_select<=6'b100000;3'b001:time_disp_select<=6'b010000;3'b010:time_disp_select<=6'b001000;3'b011:time_disp_select<=6'b000100;3'b100:time_disp_select<=6'b000010;3'b101:time_disp_select<=6'b000001;default:time_disp_select<=6'b000000;endcaseendendmodule编译报告如图6.3(a)图6.2.2(a)图6.3(a)波形图如图6.2.2(b)图6.3(b)6.4显示模块显示模块是时间、日期等数据用数码管显示的控制与数据传输模块,包括数据的传输以及BCD码的译码。源代码如下:moduledisp_data_mux( Timepiece_EN, TimeSet_EN, Stopwatch_EN, time_disp_select, Alarmclock_EN, alarmclock_disp_select, hou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论