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