




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆工业职业技术学院毕业设计课 题 名 称: 基于EDA的数字电子钟设计与研究 专 业 班 级: 应用电子301 学 生 姓 名: 李振东 指 导 教 师: 张晓琴 二O一O年 十 月重庆工业职业技术学院毕业设计任务书系 部: 自动化系 专 业 班 级: 应用电子301 学 生 姓 名: 李振东 二O一O年 十 月 摘要 摘要:设计简述数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用数字电子钟,从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。此次设计数字电子钟是为了了解数字电子钟的原理,从而学会制作数字电子钟。而且通过数字电子钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。且由于数字电子钟电路包括组合逻辑电路和时序电路。通过它可以进一步学习与掌握各种组合逻辑电路与时序电路的原理与使用方法。数字电子钟有下几部分组成:石英晶体振荡器、分频器、秒脉冲发生器、校正电路、60进制的秒、分计时器和24进制计时计数器以及秒、分、时的译码显示部分等。关键词:数字电路 课程设计 电子钟 数字钟 数字电子钟的课程设计 数字计时器设计数字钟的设计与制作 序论20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。尤其在医院,每次护士都会给病人作皮试,测试病人是否对药物过敏。注射后,一般等待5分钟,一旦超时,所作的皮试试验就会无效。手表当然是一个好的选择,但是,随着接受皮试的人数增加,到底是哪个人的皮试到时间却难以判断。所以,要制作一个定时系统。随时提醒这些容易忘记时间的人。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字电子钟及扩大其应用,有着非常现实的意义。摘要 2关键字2序论2一.设计任务4二.设计目的5三.设计要去6四.用中小规模集成电路设计并制作数字钟74.1 各部分设计原理84.1.1电源电路94.1.2晶体震荡及分频电路104.1.3时间计数单元104.1.4译码与显示电路114.1.5 校正时间114.1.6整点报时电路114.2 元器件的选择124.3 电路调试和误差分析124.3.1 总体调试134.3.2 蜂鸣器测试13五.用CPLD器件的数字电子钟145.1脉冲产生电路155.2计时电路165.3显示电路185.4校正电路原理195.5整点报时电路205.6闹钟设定电路215.7蜂鸣器电路215.8闹钟报时225.9总电路23六. 设计体会23七. 参考文献23一.设计任务课题名称基于EDA的数字电子钟设计与制作内容及要求1、 课题简介数字电子钟是采用数字电路实现“时”、“分”、“秒”数字显示的计时装置。由于数字电路的发展和石英晶体振荡器的使用,使得数字钟的精度、稳定性远远超过了机械钟表。数字钟装置体积小,安装、使用方便,所以数字石英钟不仅作为电子表为大家喜爱,而且广泛用于车站、体育场馆等公共场所,给人们提供了准确的时间。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通用动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟,扩大其应用,有着非常现实的意义。本课题要求学生一方面运用集成电路设计与制作数字钟或用CPLD器件的EDA技术设计与制作数字钟。通过本课题设计使学生将模拟电子技术、数字电子技术和电子EDA技术知识融会起来,进行综合运用。掌握数字钟的设计、组装与调试的方法,熟悉集成电路的使用,学会传统数字设计和现代电子自动化设计的设计过程和设计方法,培养学习、创新的能力。通过设计,学生可以掌握模拟电子技术、数字电子技术、电子EDA技术的实际应用,提高学生的综合应用知识能力、解决实际问题能力、自学能力以及动手能力,并且以此设计为桥梁将知识和技能转化为能力。毕业设计过程也是学会学习的过程,在设计中对不懂、不会的东西要不断学习,请教老师、同学、查资料,这一过程训练了学生的学习能力,使学生的综合能力得到全面的提高,为学生的工作打下基础。2、 技术指标1)、用中小规模集成电路设计并制作数字电子钟 要求如下:设计指标 时间以24小时为一个周期; 显示时、分、秒; 具有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间; 计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时; 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。设计要求 画出电路原理图(或仿真电路图); 元器件及参数选择; 电路仿真与调试; PCB文件生成与打印输出。制作要求:自行装配和调试,并能发现问题和解决问题。2)、用CPLD器件的EDA技术设计数字电子钟要求如下:采用CPLD器件,应用EDA软件MAX+PLUS设计数字钟系统,可应用自顶向下和层次化设计方法。设计指标 时间以24小时为一个周期; 显示时、分、秒; 具有较时功能,可以分别对时及分进行单独较时,使其校正到标准时间; 计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时; 为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号。设计要求 画出电子钟的逻辑框图; 对数字钟的功能进行分割,画出顶层框图并注明输入信号、输出信号和模块内部节点信号的连接关系; 对各个功能模块进行设计,产生这些模块的原理图文件; 输入底层文件和顶层文件,保存、编译、仿真, 电路仿真与调试;下载顶层文件到器件实现硬件功能并进行测试和修改。3)、通过以上两种设计,进行比较,说明其优缺点。二. 设计要求查阅资料,选定方案并进行论证;用中小规模集成电路设计并制作数字电子钟;用CPLD器件的EDA技术设计数字电子钟三.设计目的1.熟悉集成电路和CLPD器件2.掌握各个芯片的逻辑功能和使用方法3.了解数字钟的组成和工作原理4.熟悉数字钟的设计和制作四.中小规模集成电路设计制作数字电子钟1.各部分设计原理数字钟实际上是一个对标准频率进行计数的计数电路,由于计数的起始时间不可能和标准时间一样,所以需要在我们的电路上加上一个校时电路,必须做到准确稳定,通常使用石英晶体振荡器电路来构成数字钟。数字钟是一个按时,分,秒的计时装置。他的计时周期娃是24小时,显示刻度为23点59分59秒。一个基本的数字钟电路主要分为计数器,校时电路,报时电路。震荡器组成。干电路系统由计数器,译码器和显示器,校时电路,整点报时电路组成。4.1.1电源电路主要选用器件为变压器,电感,桥堆,稳压管,电容4.1.2晶体振荡和分频电路石英晶体振荡器电路给数字钟提供一个稳定的脉冲信号,保证数字钟准确稳定。晶振出来的分频从3端出来为2Hz再把脉冲信号接入双D触发器由5端出来就是1Hz的脉冲。4.1.3时间计数时间计数有时计数,分计数,秒计数。时计数一般是24进制计数器,输出两位8421BCD码形式。分计数和秒技术都是60进制计数器,我们选用74LS90。第一组计数器74LS90-1用来做秒计数,计数范围为00001001循环,每当计数到1001在输入一个计数脉冲为0000,这时74LS90-1就由高电平变成低电平输出一个脉冲到74LS90-2,作为74LS90-2一次秒十位计数。同时74LS90-1开始做下一个计数循环,秒十位计数6进制。(1)秒计数器,译码,显示电路 74LS90是异步二五十进制加法计数器,它既可以作二进制加法计数器,又可以作五进制和十进制加法计数器。 通过不同的连接方式,74LS90可以实现四种不同的逻辑功能;而且还可借助R0(1)、R0(2)对计数器清零,借助S9(1)、S9(2)将计数器置9。其具体功能详述如下: (1)计数脉冲从CP1输入,QA作为输出端,为二进制计数器。 (2)计数脉冲从CP2输入,QDQCQB作为输出端,为异步五进制加法计数器。 (3)若将CP2和QA相连,计数脉冲由CP1输入,QD、QC、QB、QA作为输出端, 则构成异步8421码十进制加法计数器。 (4)若将CP1与QD相连,计数脉冲由CP2输入,QA、QD、QC、QB作为输出端, 则构成异步5421码十进制加法计数器。 (5)清零、置9功能。 a) 异步清零 当R0(1)、R0(2)均为“1”;S9(1)、S9(2)中有“0”时,实现异步清零功能,即QDQCQBQA0000。 b) 置9功能 当S9(1)、S9(2)均为“1”;R0(1)、R0(2)中有“0”时,实现置9功能,即QDQCQBQA1001。(2)分计数,译码,显示电路(3)时计数,译码,显示电路4.1.4译码和显示电路译码和显示电路是狮子座的计时最直观的表现。译码是把给定的代码翻译出来,把时分秒计数器输出的二进制代码翻译为相应的十进制。并通过LED数码管。而译码器采用CD4511器件组成,在译码显示电路输出的信号驱动下,显示出清晰的数字符号。4.1.5校时电路当重新接通或者出现误差时间需要校正时,通常首先截断正常的计数通路,然后进行人工触发计数信号加到需要校正的技术单元的输入端,校正后,再转入正常的计数。采用RS基本触发器和单刀双制开关组成。74LS00N用于来做条件判断。 74LS32N4.16报时电路整点报时电路,根据要求,电路应该在5秒开始报时,当时间在59分54到59分59报时电路控制信号。当时间在59分54到59分59时,分十位,分个位,秒十位保持不变。报时电路可选74LS30来构成,蜂鸣器是一种电压电声器件,两个输入端都是极性的,较长的引脚和高电位相连,而蜂鸣器的正极和电源相恋。4.2元器件的选择4.3电路的调试和误差分析4.3.1总体调试步骤1用示波器检测石英晶振输出信号的波形和频率2将信号送入分频电路,用示波器检测输出频率是不是符合要求3将脉冲送入时分秒计数器,检查工作情况4观察校时电路功能是否满足要求5当分频电路和计数器正常后,看电子钟是否正常工作4.3.2蜂鸣器功能测试狮子座从00:59:50开始计数。当00:59:54蜂鸣器开始工作,发出一秒响一秒停的声音,由此测试蜂鸣器工作正常五.用CPLD器件的数字电子钟基本要求1能进行时分秒计数2分别由数码管显示时分秒的计时3能校正到标准时间;计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时5.1脉冲产生电路原理石英晶体振荡频率时48MHz,为了获得脉冲信号和报时电路需要的频率,需要进行分频处理。分频程序:LIBRARY IEEE:USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.allENTITY fp ISPORT(clk:IN std_ logic;clk:div1:OUT std_ logic;clk:div2:OUT std_ logic;clk:div500:OUT std_ logic;clk:div8:OUT std_ logic;clk:div12m:OUT std_ logic;END fp;ARCHITECTURE rtl OF fp ISSIGNAL_countl:std_logic_vector(24DOWNTO 0);SIGNAL_count2:std_logic_vector(23DOWNTO 0);SIGNAL_count500:std_logic_vector(15DOWNTO 0);SIGNAL_countl000:std_logic_vector(14DOWNTO 0);SIGNAL_count8:std_logic_vector(21DOWNTO 0);SIGNAL_countl2:std_logic_vector(0DOWNTO 0);SIGNAL_clk_tmp1:std_logic;SIGNAL_clk_tmp2:std_logi;SIGNAL_ clk_tmp 500:std_logic;SIGNAL_ clk_tmp l000:std_logic;SIGNAL_ clk_tmp 8:std_logic;SIGNAL_ clk_tmp l2:std_logic;BEGINPROCESS(clk)CONSTANT md1000:std_logic_vector(14 DOWNTO 0):=”101110110111111”:CONSTANT md1:std_logic_vector(24 DOWNTO 0):=”1011011100011010111111111”;CONSTANT md500:std_logic_vector(15 DOWNTO 0):=”101110110111111”;CONSTANT md2:std_logic_vector(23 DOWNTO 0):=”1011011100011010111111111”:CONSTANT md8:std_logic_vector(21 DOWNTO 0):=”1011011100011010111111”:CONSTANT md12:std_logic_vector(0 DOWNTO 0):=”1”;BEGINIF(clkevent AND clk =1)THENIF(count 1 = md1)THENcount 10);clk_tmp1=NOT clk_ tmp1;ELSECount 1=count +1;END IFIF (count2 =md2) THENCount20;Clk_tmp2=NOT clk_tmp2;ELSEcount2=count2+1;END IF;IF(count500=md500)THENcunt5000clk_tmp500=NOTclk_tmp500;ELSECount500=count500+1;END IF;IF(count1000=md1000)THENCount10000);Clk_tmp1000=NOT col_tmp1000;ELSECount1000=count1000+1;END IF;IF (count8=md8)THENCount80;Clk_tmp8=NOT clk_tmp8;ELSECount8=count8+1;END IF;IF(count12m=md12m)THENCount12m0);Clk_tmp12m=NOT clk_tmp12m;ELSECount12m=count12m+1;END IF;END IF;END PROCESS;Clk_dov1=clk_tmp1;Clk_dov2=clk_tmp2;Clk_dov500=clk_tmp500;Clk_dov1000=clk_tmp1000;Clk_dov8=clk_tmp8;Clk_dov12m=clk_tmp12m;END rtl;说明:CLK:脉冲信号输入端,频率为48MHZCLK_DIV1:脉冲信号输出端,频率为1HZCLK_DIV2:脉冲信号输出端,频率为2HZCLK_DIV500:脉冲信号输出端,频率为500HZCLK_DIV1000:脉冲信号输出端,频率为1000HZCLK_DIV8:脉冲信号输出端,频率为8HZCLK_DIV12m:脉冲信号输出端,频率为12MHZ时钟能够产生时间对秒脉冲计数产生的,为了形成时分秒,需要对秒进位产生分,对分进位产生时,秒和分时60进制,时为24进制,需要有模60和模24计数器。Livrary ieee;Use ieee.std_loigc_1164.all;Use ieee.std_loigc_unsigned.all;Entity js ISPort(nreset:in std_loigc;Clk1: in std_loigc;Clk2: in std_loigc;change: in std_loigc;keep: in std_loigc;co: in std_loigc;low:buffer std_logic_vector(3 dowmto 0);high:buffer std_logic_vector(3 dowmto 0);END js;ARCHITECTURE behave of js isSIGNAL clk:std_logic;BEGINProcess(clk,nreset)BEGINIf(change=0)thenClk=clk1;ElseClk=clk2;End if;If(nreset+0)thenLow=”0000”;High=”0000”;Elsif(keep=0)thenLow=low;High=high;Elsif(clkEVENT and clk=1)thenIf(low=9 and high=5)thenCo=1;ElseCo=0;End if;If (low=9)thenLow=”0000”;If(high=5)thenHigh=”0000”;ElseHigh=high+1;End if;ElseLow=low+1;End if;End if;End process;End behave;说明:NREST:清零开关输入端,低电平清零CLK1,CLK2:脉冲信号输入端CHANGE:输入脉冲信号选择开关,低电平选择CLK1,高电平选择CLK2.KEEP:保持开关输入端,低电平保持CO:进位输出的LOW:个位输出的HIGH:十位输出的模24计数器原理同60计数器为了防止校对分时开关使得电路产生抖动,采用了消颤电路,由开关产生脉冲振东。其中D触发器的输入时钟脉冲信号频率时1KHZ,输出的Q端接入CHANGE端,就可以形成消颤电路时钟控制的封装:5.3显示电路显示电路主要时由选择权,译码器,计数器,显示译码器和数码显示管组成。考虑到动态扫描显示进行数据显示,就是每次显示一位,按照一定的显示时间间隔来显示。每个显示均为四位二进制数,所以要显示的位有时分秒。显示电路总图;显示电路封装形式:5.4校正电路原理计数电路的VHDL语言中已经加入了保持电路,清零电路和校对电路的语句。5.5整点报时电路按照要求在59分54秒开始报时,在59分54秒到59分59秒报时的频率为500HZ整点报时的电路VHDL语言如下:Livrary ieee;Use ieee.std_loigc_1164.all;Use ieee.std_loigc_unsigned.all;Entity zdbs isPort(flow:in std std_loigc_vector(3 downto 0);Fhigh:std std_loigc_vector(3 downto 0);mlow:std std_loigc_vector(3 downto 0);Mhigh:in std std_loigc_vector(3 downto 0);clk500:in std std_loigc_vector(3 downto 0);clk1000:in std std_loigc_vector(3 downto 0);output:in std std_loigc_vector(3 downto 0); end zdbs;ARCHITECTURE behave of
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论