1、 .目录1背景及意义12 设计原理及设计方案22.1设计原理22.2设计方案23 设计过程23.1基于multisim的设计23.1.1脉冲发生电路23.1.2 置数电路23.1.3计数电路23.1.4译码显示电路23.1.5警报电路23.1.6控制电路23.2基于VHDL的设计23.2.1建立工程23.2.2调试程序24运行结果及分析24.1基于multisim的结果及分析24.2基于VHDL的结果分析2总结2参考文献21背景及意义随着社会文明的进步和科学技术的发展,先进的电子技术在各个近代跨学科门类和技术领域占有不可或缺的核心地位。在我国现代化得建设的发展进程中,数字电子技术在国民经济和科学研究各个领域的应用也越来越广泛。而计时器恰恰是数字电子技术的一个重要组成部分,在许多的领域中计时器均得到普遍应用,诸如在体育比赛中,定时报警器,游戏中的倒计时器,交通信号灯,红绿灯,行人灯,还可以做时间提醒设备等,由此可见计时器在现代社会是何其重要。本设计为倒计时计时器,其作用范围在199s,具有直接清零,启动,暂停和连续以及具有光电报警功能,同时应用了气短数码管来显示时间。此计时器有了启动,暂
2、停和连续功能,可以方便地实现断点计时功能,当计时器递减到零时,会发出光电报警信号。本设计完成中途计时功能,实现了在许多的特定场合进行实践追踪的功能,在社会生活也具有广泛的价值。2 设计原理及设计方案2.1设计原理我们可以用优先编码器74ls147来完成199秒的置数功能,用555时基电路构成的多谐振荡器来产生频率为1HZ的脉冲输出周期为1秒的方波脉冲,将该方波脉冲信号送到计数器74ls192的cp减计数脉冲端,在通过译码器74ls48把输入的8421BCD码经过内部作和电路“翻译”成七段(a,b,c,d,e,f,g)输出,显示十进制数,然后在适当的位置设置开关或控制电路即可实现计数器的清零,启动和暂停连续,译码显示电路与亮灯及光电报警灯功能。2.2设计方案通过初步设计,可以确定该系统应该包括置数电路,秒脉冲发生器,计数器,译码显示电路,时序控制电路,警报电路等6部分构成。其中置数电路,计时器和时序控制电路是该系统的主要部分。置数电路完成置数,计数器的主要功能是完成倒计时功能,而控制电路具有计数器的启动计数,暂停,连续计数等功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信
3、号的时序关系。在操作直接清零开关时,计时器清零,显示器显示零。当启动开关置1时,控制电路应封锁时钟信号cp,通过置数器置数,计数器完成置数功能,显示器显示所置的数。当启动开关置0时,计数器开始计数。当暂停,连续计数开关拨在暂停位置上,计数器停止计数,处于保持状态;当暂停,连续计数开关拨在连续计数的位置上,计数器继续递减计数。当计数器递减计数到0的时,封锁时钟信号cp,使计数器处于保持状态。系统设计框图如图2.1所示。译码显示计数器置数电路报警电路秒脉冲发生器控制电路 图2.13 设计过程3.1基于multisim的设计3.1.1脉冲发生电路用555集成电路组成多谐振荡电路为系统提供时钟秒脉冲,555定时器应用为多谐振荡电路时,当电源接头vcc通过电阻R1,R2向电容C充电,其上电压按指数规律上升,当u上升到2/3 Vcc,会使比较器C1输出翻转,输出电压为零,同时放电管T导通,电容C通过R2放电;当电容电压下降到1/3Vcc,比较器C2工作输出高电平,C放电终止,Vcc通过R1,R2又开始充电;周而复始,形成振荡。则其周期与放电时间有关,也就是与外接元件有关,不受电压电源变化影响。公式
4、计算:T1=(R1+R2)C ln 2;T2=R2Cln2;振荡周期:T=T1+T2=0.7(R1+2R2)C=1(s)若取C=10uF,结合实际选取电阻为600,200。 图3.1 内部管脚图 图3.2N555多谐振荡电路图 3.1.2 置数电路置数电路利用74LS147优先编码器中优先级别高的信号排斥级别低的信号这一特点来置数,并将输出的编码输入到计数电路中,即完成置数功能。 (a) (b) 图3.3 74LS147管脚图 本次实验的置数电路可以按图3.4接: 图3.43.1.3计数电路本次课程设计中选用74LS192来实现减法的计数功能。图3.5是74LS192的管脚图。 (a) (b) 图3.574LS192具有下述功能:异步清零:CLR=1,Q3Q2Q1Q0=0000.异步置数:CLR=0,PL=0,Q0Q1Q2Q3=D0D1D2D3.保持:CLR=0,PL=1,UP=DOWN=1,Q0Q1Q2Q3保持原状态加计数:CLR=0,PL=1,UP-=CP,DOWN=1,Q0Q1Q2Q3按加法规律计数减计数:CLR=0,PL=1,DOWN=CP,UP=1,Q1Q2Q3Q4按减法规律
5、计数按照课程设计任务书要求,需要计时在199秒内,所以设计中需要两个十进制的计数器。我们可以用两片74LS192来实现。计数电路中的两片加计数脉冲输入端都要接高电平,且要将低片位的借位信号加到高位片的减计数脉冲输入端。高位片的借位信号控制警报电路。具体接法如图3.6。 接入脉冲信号U174LS192DA15B1C10D9UP5QA3QB2QC6QD7DOWN4LOAD11BO13CO12CLR14U274LS192DA15B1C10D9UP5QA3QB2QC6QD7DOWN4LOAD11BO13CO12CLR141256789111210131415161718192021VCC5VVCC 图3.63.1.4译码显示电路译码电路的功能是将计数器的输出代码进行翻译,编程相应的数字。用于驱动LED七段数码管的译码器常用的又有74LS48。图3.6是74LS48的管脚图。图3.6图3.7是74LS8的真值表。图3.7本次实验译码显示电路按图3.8接。图3.83.1.5警报电路警报电路由二极管和蜂鸣器组成,利用二极管的单向导通性,当高位片变为0时,其借位端为低电平,则二极管导通,蜂鸣器发出响声
6、,完成警报功能。本实验的警报电路按图3.9接。图3.93.1.6控制电路控制电路主要实现异步清零,异步置数,暂停连续计数等功能。具体电路图如下。图3.10总电路如图3.11所示: 图3.113.2基于VHDL的设计3.2.1建立工程点击File选中New Project Wizard,填入相应的工程名字,工程名字与实体名相同。如下图所示。图3.12连击两次Next,填入相应的参数,点击Finish即完成工程的建立,如图所示。图3.133.2.2调试程序(1)点击File,New,VHDL File,OK一个编辑窗口如图所示图3.14(2)在编辑框里填写如下程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count_30 isport(clk,clr:in std_logic;pld,enb:in std_logic;warn:out std_logic;s1,s0:out std_logic_vector(6 downto 0);d:in std_logic_vector
7、(9 downto 0);s:in std_logic_vector(9 downto 0);end count_30;architecture a of count_30 issignal dd:std_logic_vector(3 downto 0);signal ss:std_logic_vector(3 downto 0);begin pro1:process(clk,clr,enb)variable tmpa:std_logic_vector(3 downto 0);variable tmpb:std_logic_vector(3 downto 0);variable tmpwarn:std_logic;beginif clr=1then tmpa:=0000;tmpb:=0000;tmpwarn:=0;elsif clkevent and clk=1thenif pld=1thenif d(9)=1then tmpb:=1001;elsif d(8)=1 then tmpb:=1000;elsif d(7)=1then tmpb:=0111;elsif d(6)=1then tmpb:=0110;elsif d(5)=1then tmpb:=0101;elsif d(4)=1then tmpb:=0100;elsif d(3)=1then tmpb:=0011;elsif d(2)=1then tmpb:=0010;elsif d(1)=1then tmpb:=0001;elsif d(0)=1then tmpb:=0000;end if;if s(9)=1then tmpa:=1001;elsif s(8)=1 then tmpa:=1000;elsif s(7)=1then tmpa:=0111;elsif s(6)=1then tmpa:=0110;elsif s(5)=1then tmpa:=0101;elsif s(4)=1then tmpa:=0100;elsif s(3)=1then tmpa:=0011;elsif s(2)=1then tmpa:=0010;elsif s(1)=1then tmpa:=0001;elsif s(0)=
《基于multisim的定时器课程设计》由会员yh****1分享,可在线阅读,更多相关《基于multisim的定时器课程设计》请在金锄头文库上搜索。