ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:142.06KB ,
资源ID:4626942      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4626942.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用电器电源自动控制电路的电子自动化实现 左函未.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用电器电源自动控制电路的电子自动化实现 左函未.docx

1、用电器电源自动控制电路的电子自动化实现 左函未目录1 实验要求 12 设计内容. 13 设计思想. 24 设计方案. 2模块一:计数的设计 2模块二:定时的设计 4模块三:扫描电路的设计 65 底层元器件的生成程序 95.1 BCD-7段数码管显示译码器电路 95.2 MUX8 95.3 60进制计数器 105.4 十进制计数器 125.5 JK 146 硬件实验结果 157 心得体会 158 参考文献 16用电器电源自动控制电路1 实验要求1控制电路能使用电器的电源自动开启X秒,然后自动关闭X秒,如此周而复始的工作2X可以设置,范围为130 s;3定时范围Y可以调节,范围为160分;4单独设

2、置置数输入控制端实现范围调节;5要有工作状态指示;并有分秒的倒计时显示。2 设计内容随着计算机技术的发展,计算机的应用领域也以惊人的速度拓展。计算机的高效性、灵活性使得它在CAD(Computer Aided Design计算机辅助设计)方面得到广泛的应用,这使得产品的开发和研制的周期大大缩小了,而这一点是非常重要的。这些因素就决定了在市场对于掌握CAD知识的人才的青睐。事实也是如此,在人才市场上,大量需求具有CAD知识的人才。EDA(Electronic Design Automation 电子设计自动化)就包含在CAD范畴之中,利用计算机的优势,快速高效的开发和研制电子产品,来缩短产品开发

3、时间。EDA技术是电子技术的发展趋势,利用EDA工具可以代替设计者完成电子系统设计中的大部分工作,EDA工具从数字系统设计的单一领域发展到今天,应用范围以射击模拟、微波等多个领域,可以实现各个领域电子系统设计的测试、设计仿真和布局布线等。我们作为设计者只要完成对电子系统的功能描述,就可以利用计算机和EDA工具,进行设计处理,最终得到设计结果。现代的大学教育是面向市场的,开设EDA课程设计,可以帮助我们熟悉电子EDA的一些基本知识,培养独立思考和动手的能力,也可以增强我们的创新意识。此次课程设计是一次很好的锻炼机会,通过自己认真思考,动手动脑,设计出属于自己的作品,那是一件多么令人愉悦的事情!另

4、外一点就是,经过这次课程设计还可以对以前学过的知识进行巩固练习,继而对以后的工作和学习有所帮助。3 设计思想 首先分析题目要求,我从中得到下面几点内容:1用电器可以自动开启30s,然后就会自动关闭30s,如此周而复始,同时要有状态的显示 所以这里需要用到一个30进制的计数器,且有一个输出端表示用电器的工作状态。2题目要求随时都可以采用自动控制方式对用电器进行控制,即:通过手动使用器由运行转换到停止或由停止转换到运行因此必须有一个输入端用作开关来对用电器进行工作状态的控制。 3定时信号的设计,且要有分秒的倒计时显示首先必须得用到减法计数器,用减法计数器来做成 ”分” 和 ”秒”;另外很重要的是要

5、用到扫描电路,用以显示倒计时。此定时信号是用来控制整个电路的工作时间。 4当然,在这其中不免会用到一些触发器、与非门、或非门、与门、或门、非门等。 5在设计的时候可以首先把整个电路分成若干个小模块,如果先把小模块设计出来,那么整个电路就不成问题了。 4 设计方案将整个器件设计变为三个模块,即 30计数器,计时器和显示模块模块一:计数的设计(一) 30计数器 因为现成的计数器只有十进制计数器74160和十六进制计数器74161,要想做一个30进制的计数器,需要用两片计数器。这里,我利用两片十进制计数器74160来构成一个30进制计数器。依据如下:把第一片74160的四位输出端接成1001(即十进

6、制中的9),另一片接成0010(即十进制中的2),然后把第一片的进位输出端C接到第二片的使能控制端EP和ET上,每当第一片计成9(1001)时C变为1,下一个CP信号到达时第二片为计数工作状态,计入1,而当第一片计成0(0000),它的C端回到低电平;第一片的EP和ET接高电平恒为1,始终处于计数工作状态。这样就构成了30进制计数器。另外,还要有一个输出端是用来表示用电器工作状态的,我用到了一个JKFF、非门、与门。具体的逻辑电路如下图所示: 图1图形说明:(1)此图是采用整体置数法接成的30进制计数器。首先需将两片74160接成百进制计数器,然后将电路的29状态译码产生0信号,把此0信号和一

7、个表示开关的输入端相“与”的结果(以下均称为” A”)同时加到两片74160的LD端(即LD非端),当下一个计数脉冲(第30个计数脉冲)到达时,将0000同时置入两片74160中,从而得到30进制计数器。(2)JKFF在J=K=1时,输出波形不断翻转。将“A”作为JKFF的CP信号,则输出端会0、1、0、1这样循环,将此输出连接到某一指示灯上,若出现“灭”与“亮”每隔30秒交替的现象,就说明该用电器的工作状态为:自动开启30s,然后自动进入关闭状态。(3)该逻辑图中的CP信号设为CP该模块的仿真波形图如下所示 图2 图形说明:(1) KaiGuan一栏表示开关的状态:0表示关闭,1表示打开。7

8、表示用电器的状态:0表示停止,1表示运行。20表示计数的高位(即十位),一直按照0、1、2循环。10表示计数的低位(即个位),一直按照0、1、2、3、4、5、6、7、8、9、0循环。(2)当开关保持状态1不变,20由2变为0时,7会自动改变状态进行翻转。这说明用电器运行30s和停止30s是自动循环的。(3)在任意时刻,若手动开关改变其状态,则用电器的状态也会翻转,并且重新开始计时30s。 结论:通过对逻辑电路进行仿真,从波形图上可以看出,此逻辑电路的设计是正确的,符合题目要求。模块二:定时的设计题目要求有分秒的定时,且为倒计时,所以必然会用到减法计数器。74168为十进制同步加减计数器,当U/

9、DN=0时,它可以做减法计数。不妨把时间定时为5分钟,即数码管上倒计时的时间显示为从5分59秒开始,到0分00秒结束。这里要用到3片74168。另外,还须有T触发器、或门、或非门、与门、非门等。 图3图形说明: (1)首先,74168做减法计数,U/DN=0,要把它接地。(2)秒的定时为059s需要用到两片74168,因为是倒计时,和一般的情况稍有差别,所以应该把八个输出端用一个或门译成0后加到LD非端,且第一片和第二片的输入端D0D3应分别译成1001、0101(即十进制中的9、5)。还要把秒的借位输出作为分的脉冲信号,这样,当秒减够60后,分会自动减1。依据同样的道理,分的定时只需一片74

10、168即可,同时把四个输出端用或门译成0加到LD非端,输入端D0D3译成0101(即十进制中的5)。这样,就把时间的的初始值置为0分00秒,而后马上回到5分59秒,这就开始了倒计时。(3)为了使倒计时计到0分00秒的时候自动停止而不至于循环,所以这里需要对控制秒的脉冲信号加上一些限制。用到了或非门、与门、非门,还有T触发器,具体连线见图中所示。(4)该逻辑图中的CP信号设为CP2。 该模块的仿真波形图如下所示: 图4 图形说明:(1)b(41)表示“分”由5自减到0;(2)a85表示“秒”的高位有5自减到0;Q41表示“秒”的低位由9自减到0。(3) 从整个图形可以看出:时间由5分59秒开始,

11、一秒一秒的自减到0分0秒。结论:通过对逻辑电路进行仿真,从波形图上可以看出,此逻辑电路的设计是正确的,符合题目要求。模块三:扫描电路的设计由于只用到3个数码管,所以地址端只需S0、S1即可,体现在试验箱上就是有4个数码管。用到一片74161,将其接成4进制;还用到四片74151双8选一数据选择器;另需一片7449 BCD-七段显示译码器。具体的逻辑电路如下页图所示: 图5 图形说明: (1)74161的输出端QA、QB分别作为数码管的地址端S0、S1和74151的地址端A、B。 (2)两片74151的32个输入端分别称为132;74151的四个输出端分别作为7449的输入端;7449的输出端O

12、AOG分别称为ag。 (3)该逻辑电路的CP信号设为CP3, 图6有图可知电路的设计是正确的。 将上述三个模块组合到一起,就构成了整个的逻辑电路,如下图所示: 图7总逻辑电路的仿真模型为 图8 结论:通过对逻辑电路进行仿真,从波形图上可以看出,用电器每隔30秒就会自动改变一下状态,且可以随时由KaiGuan改变状态,数码管上的数字显示是:5分59秒0分00秒,此逻辑电路符合题目要求,其设计是正确的。5 底层元器件的生成程序5.1 BCD-7段数码管显示译码器电路libraryieee;useieee.std_logic_1164.all;entitybcd71isport(d:instd_lo

13、gic_vector(3downto0);led:outstd_logic_vector(6downto0);endentitybcd71;architecturearchofbcd71isbeginled=1111110whend=0000else0110000whend=0001else1101101whend=0010else1111001whend=0011else0110010whend=0100else1011011whend=0101else1011111whend=0110else1110000whend=0111else1111111whend=1000else1111011

14、whend=1001else0000000;endarchitecturearch; 5.2 MUX8libraryieee;useieee.std_logic_1164.all;useieee.std_logic_signed.all;useieee.std_logic_unsigned.all;entitymux8_12isport(d0,d1,d2,d3,d4,d5,d6,d7:instd_logic;g:instd_logic;a2,a1,a0:instd_logic;y:outstd_logic);endentitymux8_12;architectureoneofmux8_12is

15、signal a: std_logic_vector(2downto0);begina=a2&a1&a0;process(a,g,d0,d1,d2,d3,d4,d5,d6,d7)beginifg=0thenyyyyyyyyyy=0;endcase;endif;endprocess;endarchitectureone;5.3 60进制计数器library ieee; -调用ieee库use ieee.std_logic_1164.all; -使用ieee库中的1164包use ieee.std_logic_unsigned.all; -使用ieee库中的无符号包entity cntm60 is

16、 port(ci :in std_logic; -来至低级的进位 nreset:in std_logic; -清零端 load :in std_logic; -置数端 d :in std_logic_vector(7 downto 0); -与置数端对应的数据输入端 clk :in std_logic; -时钟端 co :out std_logic; -进位输出端 qh :buffer std_logic_vector(3 downto 0); -计数器的高位输出端 ql :buffer std_logic_vector(3 downto 0); -计数器的低位输出端end cntm60;ar

17、chitecture behave of cntm60 isbeginco=1when(qh=0101and ql=1001and ci=1)else0; process(clk,nreset) begin if(nreset=0)then qh=0000; ql=0000; elsif(clkevent and clk=1)then if(load=1)then qh=d(7 downto 4); ql=d(3 downto 0); elsif(ci=1)then if(ql=9)then ql=0000; if(qh=5)then qh=0000; else qh=qh+1; end if

18、; else ql=ql+1; end if; end if; end if; end process;end behave;5.4 十进制计数器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt10 IS PORT( CLK:IN STD_LOGIC; LOAD,CLR:IN STD_LOGIC; -CLR:清除数据 EN:IN STD_LOGIC; -信号使能 DATAIN:IN STD_LOGIC_VECTOR(3 DOWNTO 0); -输入的4位数据 Q:OUT STD

19、_LOGIC_VECTOR(3 DOWNTO 0); -输出的4位数据 CARRY_OUT:OUT STD_LOGIC -数据装载 );END cnt10;ARCHITECTURE rtl OF cnt10 IS SIGNAL TMP:STD_LOGIC_VECTOR(3 DOWNTO 0); -链接输入输出BEGIN -数据的信号 PROCESS(CLK,LOAD,CLR,EN) BEGIN IF CLR = 1 THEN -当CLR高电平,数据变为0000 TMP= 0000; ELSIF LOAD=1THEN -否则装载输入的数据 TMP=DATAIN; ELSIF CLKEVENT A

20、ND CLK=0THEN -上升沿时,执行10进制减法 IF EN=1THEN IF TMP=0000THEN -0跳转到9 TMP=1001; ELSE -自动减1 TMP=TMP-1; END IF; END IF; END IF; IF TMP=0000THEN CARRY_OUT=1; -COOK=CARRY_OUT ELSE CARRY_OUT=0; END IF; END PROCESS; Qifcoifco0thenco:=co-1;elseco:=1111;endif;endcase;endif;endif;ifco=15thencout=1;elsecout=0;endif;

21、coh=co;endprocess;endarchitecture; 6 硬件实验结果对总的逻辑电路进行编译下载后,在试验箱上连线,观察到如下现象:表示用电器工作状态的指示灯每隔30s就会自动“亮”或“灭”,用高低电平当作开关来控制电路,也可以实现用电器状态的自动转换;数码管上的时间显示为000、559、558000。硬件实验的结果完全符合题目要求,说明此逻辑电路的设计是完全正确的。7 心得体会当我刚刚拿到题目的时候,感觉特别难,一点思路都没有,对此软件的掌握也不是太熟练,后来,经过自己进一步的仔细琢磨、认真思考以及刻苦练习,慢慢地有了点眉目。然后我就一点一点的设计电路,最后再进行模块组合,把

22、整个设计思路连接起来成为了一个整体的数字电路。当然在这其中也有过不少的错误,我仔细查看电路找错误,通过一次又一次的不断修改与仿真,我的电路一步步趋于完善,我也正一步步走向成功,当我波形仿真后,完全符合题目的各个要求,经过老师的验收,我顺利通过了这次为期两周的EDA课程设计。 经过这次课程设计,我发现自己还有很多不足,对数字电路某些内容的掌握不是太熟练,在逻辑电路设计方面欠佳;同时,在课程设计的过程中,我也学会不少新的知识,扩展了自己的知识面,培养了亲自动手实践的能力,并且也对以前已经学过的知识进行了巩固练习。 我又一次深深体会到了知识的力量,感受到在知识海洋里遨游是一件多么愉快的事情。从中我也悟出了一些道理:人是不可以满足的!我深信,经过刻苦学习,我一定可以掌握更多的科学知识。在此,我深深地感谢每一位老师!8 参考文献1 赵全利.EDA技术及应用教程2 韩力群.人工神经网络理论、设计及应用第二版.化学工业出版社,1990.1 3 闻新,周露,李翔,张宝伟. MATLAB神经网络仿真与应用.科学出版社,2003.7 4 邹彦.EDA技术与数字系统设计.电子工业出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1