1、VHDL数字电子钟的设计与实现_2rd 作者: 日期:3 个人收集整理 勿做商业用途基于VHDL数字电子钟的设计与实现学生:李丽 指导老师:陈沅涛摘 要:本课程设计完成了数字电子钟的设计,数字电子钟是一种用数字显示秒、分、时的计时装置,由于数字集成电路技术的发展和采用了先进的石英技术,它使数字钟具有走时准确、性能稳定、携带方便等优点。数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活带来极大的方便.在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路的能力。关键词:电子钟;门电路及单次按键;琴键开
2、关目 录第一章 引言-11.1 课题的背景、目的-11.2 课程设计的内容-1第二章 EDA与VHDL简介-2 2.1 EDA的介绍-22。2 VHDL的介绍-32。2.1 VHDL的用途与优点-32。2.2 VHDL的主要特点-2.2。3 用VHDL语言开发的流程-第三章 数字电子钟的设计方案-63.1秒脉冲发生器-73。2可调时钟模块-83。3校正电路-83。4闹铃功能-103.5日历系统-11第四章 结束语-134.1致谢-144。2参考文献-151引言随着科学技术的不断发展,人们对时间计量的精度要求越来越高。数字电子钟走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用秒脉冲
3、发生器的精度稳定保证了数字钟的质量,用74LS290输入脉冲显示周期,这种表具有时、分、秒的显示功能,还可以进行时和分的校对。1。1课题的背景、目的 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间.忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。尤其
4、在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效.手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断.所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 通过数字电子钟的设计,巩固计算机组成
5、原理课程,理论联系实际,提高分析、解决计算机技术的实际问题的独立工作能力;掌握用VHDL语言编制简单的小型模块,学会数字钟的设计方法,熟悉集成电路的使用方法,初步掌握电子钟的设计方法并实现时间的显示和校对,以及报时的功能,并能对数字电子钟进行扩展。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用. 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。因此,此次设计与制作数字钟就是为了了解数字钟的原理,从而学会制作数字钟.而且通过数字钟的制作进一步的了解各种在制作中用到的中小
6、规模集成电路的作用及实用方法.且由于数字钟包括组合逻辑电路和时叙电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法本文为互联网收集,请勿用作商业用途个人收集整理,勿做商业用途1.2 课程设计的内容本次设计以数字电子为主,实现对时、分、秒、星期数字显示的计时装置,周期为24小时,显示满刻度为23时59分59秒,并具有校时功能和报时功能的数字电子钟.电路主要采用中规模CMOS集成电路.本系统的设计电路由脉冲逻辑电路模块、时钟脉冲模块、电源模块、时钟译码显示电路模块、整点报时模块、校时模块、星期模块等几部分组成。采用电池作电源,采用低功耗的CMOS芯片及液晶显示器,发生器使用
7、晶体振荡、计数振荡器CD4060及双JK触发器CD4027,将标准秒信号送入“秒计数器”;计数器采用“可予制四位二进制异步清除”计数器来实现,分别组成两个六十进制(秒、分)、一个二十四进制(时)的计数器;整电报时电路以门电路、触发器及扬声器构成,要求在离整点差5秒时,每1秒钟鸣叫一次,共响5次,前四次为低音512Hz,最后一声为高音1024Hz;星期计数器是用四个D触发器组成;校时电路是由与非门构成的双稳态触发器,用来对“星期”、“时”、“分”、“秒”显示数字进行调整的;译码显示电路选用BCD-7段锁存译码驱动器CC4511构成,再经过设计一个电子钟,具有时、分、秒显示功能,在计时过程中具有报
8、时功能,同时能对时、分进行校对,在使用74LS290输入脉冲时能够显示一周的星期,具有一分钟闹铃功能.文档为个人收集整理,来源于网络文档为个人收集整理,来源于网络实验仪器: 74LS161(7片),74LS48(BCD_7段译码器), 74LS29(4片),门电路及单次按键,琴键开关2 EDA与VHDL简介2。1 EDA的介绍EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可
9、以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA 技术已在各大公司、企事业单位和科研教学部门广泛使用.例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术.本文所指的EDA技术,主要针对电子电路设计、PCB设计和IC设计.EDA 设计可分为系统级、电路级和物理实现级.(一). EDA常用软件 EDA工具层出不穷,目前进入我国并具有广泛影响的EDA软件有:EWB、PSPICE、OrCA
10、D、PCAD、Protel、Viewlogic、Mentor、Graphics、Synopsys、LSIlogic、Cadence、MicroSim等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同时以可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。下面按主要功能或主要应用场合,分为电路设计与仿真工具、PCB设计软件、1、电子电路设计与仿真工具电子电路设计与仿真工具包括SPICE/PSPICE;EWB;Matlab;SystemView;MMICAD等.下面简单介绍前三个软件。SPICE(Simulation Program with I
11、ntegrated Circuit Emphasis) 是由美国加州大学推出的电路分析仿真软件,是20世纪80年代世界上应用最广的电路设计软件,1998年被定为美国国家标准。1984年,美国MicroSim公司推出了基于SPICE的微机版PSPICE(PersonalSPICE)。现在用得较多的PSPICE6。2, EWB(Electronic Workbench)软件是Interactive ImageTechnologies Ltd 在20世纪90年代初推出的电路仿真软件。目前普遍使用的是EWB5.2,相对于其它EDA软件,它是较小巧的软件(只16M)。但它对模数电路的混合仿真功能却十分强
12、大,几乎100地仿真出真实电路的结果,并且它在桌面上提供了万用表、示波器、信号发生器、扫频仪、逻辑分析仪、数字信号发生器、逻辑转换器和电压表、电流表等仪器仪表。它的界面直观,易学易用。MATLAB产品族它们的一大特性是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集用来对图像信号处理、控制系统设计、神经网络等个人收集整理,勿做商业用途文档为个人收集整理,来源于网络2、PCB设计软件PCB(PrintedCircuit Board)设计软件种类很多,如Protel; OrCAD;Viewlogic; PowerPCB; Cadence PSD;MentorGraphices的Expedi
13、tion PCB;Zuken CadStart; Winboard/Windraft/Ivex-SPICE;PCB Studio; TANGO等等。目前在我国用得最多应属Protel(二)。 EDA的应用EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验并从事简单系统的设计.一般学习电路仿真工具(如EWB、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发
14、系统),为今后工作打下基础。科研方面主要利用电路仿真工具(EWB或PSPICE)进行电路设计与仿真;利用虚拟仪器进行产品测试;将CPLD/FPGA器件实际应用到仪器设备中;从事PCB设计和ASIC设计等.(三).EDA技术的发展趋势从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用文泛、工具多样、软件功能强大。中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PC主板和小型ASIC领域,仅有小部分(约11)的设计人员研发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要购入一些最新的EDA技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米
15、集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点.要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等.有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与
16、计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方向发展。本文为互联网收集,请勿用作商业用途本文为互联网收集,请勿用作商业用途在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具.日本、韩国都有ASIC设计工具,但不对外开放 。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具有各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50和30. EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的应用广泛,现在已涉及到各行各业。E
17、DA水平不断提高,设计工具趋于完美的地步。EDA市场日趋成熟,但我国的研发水平沿很有限,需迎头赶上. 2。2 VHDL的介绍1)VHDL语言超高速集成电路硬件描述语(VHSIC Hardware Deseription Language,简称VHDL),是IEEE的一项标准设计语言.它源于美国国防部提出的超高速集成电路(Very High Speed Integrated Circuit,简称VHSIC)计划,是ASIC设计和PLD设计的一种主要输入工具。1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE1076(简称87版)之后,
18、各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言.1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即IEEE标准的10761993版本,(简称93版)。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在新的世纪中,VHDL于Verilog语言将承担起大部分的数字系统设计任务。本文为互联网收集,请勿用作商
19、业用途本文为互联网收集,请勿用作商业用途2.2。1 VHDL的用途与优点VHDL主要用于描述数字系统的结构,行为,功能和接口.除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体.这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多
20、方面的. (1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必须有多人甚至多个代发组共同并行工作才能实现。本文为互联网收集,请勿用作商业用途本文为互联网收集,请勿用作商业用途(4)对于用V
21、HDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计.2.2.2 VHDL的主要特点(1)作为硬件描述语言的第一个国际标准,VHDL具有很强的可移植性。(2)具有丰富的模拟仿真语句和库函数,随时可对设计进行仿真模拟,因而能将设计中逻辑上的错误消灭在组装之前,在大系统的设计早期就能查验设计系统功能的可行性。(3)设计层次较高,用于较复杂的计算时,能尽早发现存在的问题,从而缩短设计周期。(4)VHDL的设计不依赖于特定
22、的器件,方便了工艺的转换。(5)支持大规模设计的分解和已有设计的再利用。(6)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动地把VHDL描述设计转变成门级网表。(7)VHDL用源代码描述来进行复杂控制逻辑的设计,灵活又方便,同时也便于设计结果的交流、保存和重用.2.2。3 用VHDL语言开发的流程 (1)文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件。 (2)功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)。 (
23、3)逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式和信号的连接关系。逻辑综合软件会生成。edf(edif)的EDA工业标准文件。 (4)布局布线:将。edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。 (5)编程下载:确认仿真无误后,将文件下载到芯片中。3 数字电子钟的设计方案3。1设计规划系统的工作原理:振荡器产生稳定的分频脉冲信号,作为数字钟的时间基准,然后经过分频器输出标准秒脉冲。秒计数器满60分向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按照“24翻1”规律计数.计数器的输出分别由译码器送显示器显示。计时
24、出现误差时,可以用校时电路校时、校分.数字电子钟的电路组成方框图片如下:图3。1 数字电子钟的电路组成方框图硬件电路的设计: 如图3。1所示,以74LS161作为控制部件。47LS161被接成十进制计数器,其置数输入端A、B、C、D(3脚4脚5脚6脚)接低电平,LD、EP、ET(9脚10脚7脚)接高电平,秒脉冲由CP(2脚)端输入。计数器的输出端QA、QB、QC、QD(14脚13脚12脚11脚)接译码电路CD4511的输入端D、C、B、A。用74LS290做一个七进制的加法计数器,将时的十位的进位脉冲接到显示星期的74LS290的输入脉冲就可以了。硬件电路图如下:74LS48时钟基准74LS2
25、90晶体振荡器LED数码管74LS161图3。2 硬件电路图软件电路的设计:考虑到实用性,在该电子钟的设计中修改定时或调整时间时采用了闪烁。在编程上,首先进行了初始化定义了程序的入口地址以及中断的入口地址,在主程序的开始定义了一组固定单元用来存储计数的秒,分,时等.在显示程序段中主要进行了闪烁的处理,采用定时器中断置标志位,再与位选相互结合的方法来控制调时或定时中的闪烁。时、分、秒的显示则是用了软件译码 (查表 )的方式,再用了一段固定的程序段进行进制转化。初始化之后,用中断方式对其计数,计数的同时采用了定时器比较的方法,比较当前计数时间与定时时间是否相等,若相等则将闹铃标志位置数。为了避免响
26、铃影响显示定时,选时或调时程序段.对当前时间或定时时间修改后又返回到最初的显示程序段,如此循环下去。程序流程图如图所示。响铃结束显示初始化TF读键有无闹钟?是否为调时、定时?开始TT定时FF调时TF调时?是否修改?图3.3 程序流程图3.2 各模块原理及程序3. 2。1秒脉冲发生器秒脉冲发生器是数字钟的重要部分,它的精度稳定度决定了数字钟的质量,通常用晶体振荡器发生的脉冲经过整形、分频获得1Hz的秒脉冲。如晶振为32768Hz,通过15次二分频后可获得1Hz的脉冲输出。(本实验中实验箱上已经有1hz脉冲).按键由琴键或拨码开关发出脉冲或电平信号,控制整个系统工作。原理图如下:其程序代码如下:O
27、RG 0000H AJMP MAIN ORG 000BH AJMP TIME ORG 0300H MAIN: mov 20h,00h MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV IP,02H ;IP,IE初始化 MOV IE,#82H MOV TMOD,#01H ;设定定时器工作方式? MOV TL0,0B0H MOV TH0,#3CH SETB TR0 ;启动定时? MOV SP,40H ;重设堆栈指针 NEXT: LCALL DISP ;调用显示子程序? LCALL KEY ;调用按键检测子程序 JZ NEXT ; LCALL ANKEY ;调用按
28、键处理子程序 SJMP NEXT ;重新循环 NOP NOP NOP 3。2.2可调时钟模块有了时间标准“秒信号后,就可以根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个六十进制(秒、分)、一个二十四进制(时)的计数器。将这些计数器适当连接,就可以构成秒、分、时的计数,实现计时功能。其程序流程图如下:174LS161构成秒、分的六十进制计数器 数字钟的“秒”、“分信号产生电路都是由六十进制计数器构成,“时”信号产生电路为二十四进制计数器.它们都可以用两个“可予制四位二进制异步清除”计数器来实现。利用74LS161芯片的预置数功能,也可以构成不同进制的计数器.因为一片74
29、LS161内含有一个四位二进制异步清除计数器,因此需用两片74LS161就可以构成六十进制计数器了。集成电路74LS161芯片的电路其中(如图3)CP为时钟脉冲输入端,P0、P1、P2、P3为预置数输入端, 为置数控制端, 为异步复位端,二者均为低电平有效;Q0、Q1、Q2、Q3为计数器的输出端.该计数器能同步并行预置数据,具有清零置数,计数和保持功能,具有进位输出端,可以串接计数器使用.4位二进制同步计数器74LS161引脚图它的管脚排列如图所示:图 74LS161管脚排列图a:计数功能:当 = =CTP=CTT=1,CP=CP时,实现计数功能。b:同步并行置数功能:当 =1时,预置控制端
30、=0,并且 CP=CP时,Q3Q2Q1Q0= P3P2P1P0,实现同步预置数功能。c:保持功能:当 = =1且CTPCTT=0时,输出Q3Q2Q1Q0保持不变。d:异步清零功能:当复位端 =0时,输出Q3Q2Q1Q0全为零,实现异步清零功能(又称复位功能)。秒个位计数器 74LS161被接成十进制计数器,其置数输入端A、B、C、D(3脚4脚5脚6脚)接低电平,LD、EP、ET(9脚10脚7脚)接高电平,秒脉冲由CP(2脚)端输入。计数器的输出端QA、QB、QC、QD(14脚13脚12脚11脚)接译码电路CD4511的输入端D、C、B、A。当秒脉冲输入时,电路状态按二进制自然序列依次递增1,Q
31、A、QB、QC、QD输出为0000、0001、0010、0011、0100、0101、0110、0111、1000、1001,当输出为1010也就是10时,QA、QC输出都为1,经过一个与非门后一路经反相后送入或非门的一个输入端,输出送往计数器的清零端RD使秒计数器清零,另一路经反相后作为进位脉冲送入秒十位计数器的脉冲输入端。秒十位计数器 在这里74LS161被接成六进制计数器,接法与秒个位计数器相同,秒个位计数器送来的进位脉冲送入秒使位计数器的脉冲输入端,使其按二进制自然序依次递增1,QA、QB、QC、QD端输出为0000、0001、0010、0011、0100、0101,当输出为0110也
32、就是6时,QB、QC输出为1,QA、QD输出为0,QB、QC经过一个与非门后一路先送往秒十位计数器的清零端,然后取反接或非门的另一个输入端后送入秒个位计数器的清零端,将整个秒计数器清零,另一路经反相后作为进位脉冲送入分个位计数器的脉冲输入端。分计数器的连接方法与秒计数器相同,分计数器向时计数器送进位脉冲。秒、分的六十进制计数器的构成如图所示:其程序代码如下:个人收集整理,勿做商业用途文档为个人收集整理,来源于网络;定时中断处理程序: TIME: PUSH ACC ;保护现场 PUSH PSW MOV TL0,0B4H ;赋定时初值 MOV TH0,#3CH INC 20H ; MOV A,20
33、H CJNE A,20,RETI1 MOV 20H,#00H ;一秒钟时间到 MOV A,21H ADD A,01H DA A MOV 21H,A CJNE A,60H,RETI1 MOV 21H,00H ;一分钟时间到 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,60H,RETI1 MOV 22H,00H ;一小时时间到 274LS161构成二十四进制计数器 二十四进制计数器,也是用两个74LS161集成块来实现的,方法与二十四进制计数器大同小异,但其要求个位是十进制,状态变化在00001001间循环,十位是二进制,状态变化在00000010间循环,
34、显示为023时。原理: 由分计数器送来的进位脉冲送入时个位计数器,电路在分进位脉冲的作用下按二进制自然序依次递增1,当计数到24,这时小时个位输出0100(也就是4),小时十位输出0010(也就是2),小时十位计数器只有QC端有输出,小时个位计数器只有QB端有输出,将QC、QB端接一个二输入与非门,与非门输出一路先送入十位计数器的清零端然后取反送入或非门的另一个输入端,输出接小时个位计数器的清零端,其每10小时清零并向小时十位计数器送进位脉冲,当十位输出为二,小时个位输出为四时,将整个电路清零,另一路取反后作为星期进位脉冲送入星期显示电路的脉冲输入端,完成24小时的显示及向星期电路送星期进位脉
35、冲的功能。二十四进制计数器的构成如图所示:本文为互联网收集,请勿用作商业用途本文为互联网收集,请勿用作商业用途3。2。3闹铃功能:一分钟整点报时功能。其电路图如下:本实验使用LED发光。 3.2。4日历系统:星期显示。74LS48的内部逻辑入图所示 为显示星期,本实验只用到前面的七中状态,只要满足 ,则可以正显示从星期一到星期日。用74LS290做一 个七进制的加法计数器,将时的十位的进位脉冲接到显示星期的74LS290的输入脉冲就可以了.电路图如下数字钟总电框图如下图所示:实验内容及步骤:根据实验原理,将所需要的各部分做好,在将起接在一起就得到了所需的电路图。其程序代码如下:MOV A,23
36、HCJNE A,#24H,RETI1 MOV 23H,#00H ;到时间达到24小时,清零。 RETI1: POP PSW ;恢复现场 RETI ;中断返回? NOP ;显示子程序 DISP: ANL 2FH,#10H ;处理小数点 MOV A,21H ;处理秒21H-2DH,2EH MOV A,22H ;处理分钟22H-2CH,2DH MOV A,23H ;处理小时23H-2AH,2BH MOV R0,#2FH ;显示偏移量 MOV P0,a ;送显示 MOV R2,#80H ;延时 DJNZ R3,LOOP1 ;循环显示 TABLE: db 28h,7eh,0a2h,62h,74h,61h
37、,21h ;不带小数点 DB 7ah,20h,60h,00,00,00,00,00,00 DB 8H,5eH,82H,42H,54H,41H,1H,5aH ;带小数点 DB 00H,40H,00,00,00,00,00,00 ;按键判断程序 JZ RETX ;无键按下则返回 JZ RETX ;键盘去抖动。 MOV R6,A ;将键值存入R6。 JNZ LOOP2 ;等待键释放 ANKEY: CLR EA ;关中断 LX: MOV A,R6 JB ACC.2,L1 ;是功能键转L1 JB ACC.3,L2 ;是确认键转L2 JB ACC。4,L3 ;是减1键转L3 JNB ACC.5,L12 ;
38、不是增1键,转L12 JB 2BH。4,L6 ;判断使哪一位(时、分、秒)的值加1 LCALL KEY ;判断有无键按下。 L2: MOV 25H,#00H ;确认键处理程序 L3: JB 2BH.4,L61 ;增一键处理程序 L1: MOV A,25H ;功能键处理程序 LB1: MOV 25H,#01H ;25H单元是标志位,(25H)=01H调节时单元的值 LB3: MOV 25H,#04H ;25H单元是标志位,(25H)=01H调节秒单元的值LB2: MOV 25H,02H ;25H单元是标志位,(25H)=01H调节分单元的值 L6: MOV A,23H ;时加一 L8:MOV A
39、,22H ;分加一 L9: MOV A,21H ;秒加一 ADD A,01H DA A 4系统仿真本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络该电子钟对源程序进行编译,自动地把VHDL描述转变成门级电路,进而完成各种测试工作。软件平台自动对设计结果进行编译,检查连接,给出错误报告并进行逻辑综合,同时将产生编程文件和用于时序仿真用的输出文件,最后给出实现此项目最适合的器件。经过编译, EDA软件平台报告电路连接没有错误。4。1仿真图图4。1 顶层设计仿真图由图可知,当遇到上升沿时发一个信号,在高电位时有效,而在低电位时无效。在遇到上升沿时计数器进位加一,当计数器不为零时不发信
40、号,只有当计数器为零时才发一个信号。单片机时间基准振荡电路中振荡晶体频率的选择必须要和程序中的时间基准相一致,也就是说要采用振荡频率为12M的振荡晶体,否则若采用了11。59M的振荡晶体就会使得单个振荡周期变长,故而使单个时间间隔变长,最终会导致实际上的电子钟走时变“慢.由于单片机处理数据过程中要响应中断等原因,而中断服务程序所花费的时间必须在中断返回后在计时单元中扣除掉,否则实际上制作出来的电子钟会变“慢”。在本次程序设计中将中断服务程序所花费的时间直接从定时间隔 (50ms) 中扣除,也就是说将定时间隔设置得比50ms小一些,必须不断地通过软件调试该时间间隔,这样才能使得电子钟的走时误差达
41、到最小.在调试每个数码管的发光时间时,必须反复修改程序中的给定的时间,直到整体上的显示效果较好,不会有闪烁的现象产生.图4.2 数字钟计数器仿真图本设计中,由定时器T0每50ms一次中断产生时钟基准,中断服务程序中校正了中断产生的误差。主程序中循环调用显示程序完成显示。显示初始为:120000。没有功能键. 显示部分采用7片74LS161级联控制,由单片机的p2。0p2。2向显示器发出数据。显示格式为:XXXXXX,分别代表小时,分钟,秒。为24小时制。仿真效果如上图4。2 调试优化(1)单片机时间基准振荡电路中振荡晶体频率的选择必须要和程序中的时间基准相一致,也就是说要采用振荡频率为12M的
42、振荡晶体,否则若采用了11。59M的振荡晶体就会使得单个振荡周期变长,故而使单个时间间隔变长,最终会导致实际上的电子钟走时变“慢”.在本次程序设计中将中断服务程序所花费的时间直接从定时间隔 (50ms) 中扣除,也就是说将定时间隔设置得比50ms小一些,必须不断地通过软件调试该时间间隔,这样才能使得电子钟的走时误差达到最小。(2)在调试每个数码管的发光时间时,必须反复修改程序中的给定的时间,直到整体上的显示效果较好,不会有闪烁的现象产生。4 结束语此次基于数字式电子钟的设计与制作的独特之处在于采用了动态显示的形式,将6个数码管串联起来,这一点与一般的电子钟采用静态显示的方法不同,这样的设计使得单片机的管脚得到了充分的利用,也使得本设计中的电路显得小巧,省去了相应的芯片,节约了成本.本系统基本的实现了时钟计时、显示、闹钟及温度和电压测量及过欠压频率的测量.实际运行效果良好,并可进行进一步的扩展。致谢通过为期两周的课程设计,我顺利完成了计算机组成原理课中基于流水技术构成的模型机的设计与实验的课程设计。在这次课程设计中,非常感谢课程设计老师陈沅涛老师的指导,在陈老师的身上学到的不仅仅是知识的层面,更重要的是他追求知识的热情,还重要的是他对学生的尊重和关
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100