楼梯灯控制器--eda

楼梯灯控制器--eda

ID:13999931

大小:763.00 KB

页数:17页

时间:2018-07-25

楼梯灯控制器--eda_第1页
楼梯灯控制器--eda_第2页
楼梯灯控制器--eda_第3页
楼梯灯控制器--eda_第4页
楼梯灯控制器--eda_第5页
资源描述:

《楼梯灯控制器--eda》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、电子课程设计——楼梯灯控制器学院:电子信息工程学院专业:电子信息工程学号:200915020123班级:电子091501姓名:武康指导老师:曹俊琴2011年12月17楼梯灯控制器一、设计任务与要求用一个按钮控制,当按一次按钮时,楼梯灯亮4分钟后自动熄灭;当连续按两次按钮时,灯常亮不灭;无论是定时状态,还是灯常亮状态,只要按下按钮的时间超过2秒时灯熄灭。KEY=1表示按钮按下,KEY=0表示按钮跳起;TD2=1表示2秒时间到。TD240=1表示240秒时间到;S_T2=1表示启动2秒定时器。S_T240=1表示启动240秒定时器。LMP=1表示

2、灯亮。扩展功能:数码管显示4分钟倒计时,这样在演示时既验证了控制器的功能,在实际应用中,又提醒了人注意熄灯时间,方便使用。二、总体框图数码管状态机datatdt预置数计时器tdtdTd2s预置数减法计数器方案一:很明显按照要求可以用计数器完成初步功能,QuartusII正好提供了一些计数器,如74LS160,74LS190等。但是,按键很难控制计数器开始工作,并且,也无法满足按第二次按键让灯常亮的要求。方案二:17可以自己写程序设计满足要求的计数器,再连接一些与非门控制等的亮灭,并且控制2秒的计数器使灯常亮。但是,灯的控制和2秒计时器的控制混

3、在了一起不易实现全局要求。方案三:将题目的几个要求看成是几个状态,运用状态机控制每一个状态,状态机再与可预置数计时器级联,时间到,计时器给状态机一个信号,使状态机恢复到初始状态。这一方案也解决了上述两个方案中计数器是循环计数的缺陷,循环计数说明状态也是循环下去,不能自动停止。故,选择此方案,原理框图如上图所示。三、选择器件由于QuartusII提供的那些器件都无法满足课题要求,故设计课题时并没有全部用到QuartusII提供的器件,只是用到了一个非门74LS04。逻辑框图:内部原理图:逻辑功能:当输入为1时,输出为0;当输入为0时,输出为1;

4、四、功能模块模块一:状态机(state1)(说明:由于试验箱中的LED灯给低电平时灯亮,故以下程序、时序仿真图中,灯【deng】低电平表示灯亮)状态机的原理图如下图:功能分析:图中K表示按键,按键按一下灯亮,在4分钟内按第二下,灯常亮不灭。clk接1HZ的脉冲,rst与后边的4分钟预置数倒计时模块的t连接,倒计时时间到给状态机一个信号,使灯熄灭。输出t控制4分钟预置数倒计时模块是否开始计时,t=1,开始计时。Deng接LED灯。初始状态:灯灭deng=1,控制计数模块t=0;状态一:若按一下按键,进入状态一,灯亮deng=0;t=1,计数器开

5、始工作;data=240.状态二:若在4分钟内再按一下按键,进入常亮状态,deng=0;t=0.状态机程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYstateis17port(k,clk,rst:instd_logic;deng,t:outstd_logic;data:outstd_logic_vector(7downto0));ENDstate;ARCHITECTUREfunOFstateisTYPEstatesis(s0,s1,

6、s2);SIGNALat_now,at_next:states;BEGINREG:process(clk,rst)beginifrst='1'thenat_now<=s0;elsifclk'eventandclk='1'thenat_now<=at_next;endif;endprocess;COM:PROCESS(rst,k,at_now)begincaseat_nowiswhens0=>data<="00000000";deng<='1';t<='0';ifk='1'thenat_next<=s1;elseat_next<=s0;endi

7、f;whens1=>data<="11110000";deng<='0';t<='1';ifk='1'thenat_next<=s2;elseat_next<=s1;endif;whens2=>data<="10000000";deng<='0';t<='0';ifk='0'thenat_next<=s2;elseat_next<=s0;endif;whenothers=>deng<='1';data<="00000000";t<='0';at_next<=s0;endcase;endprocess;endfun;时序仿真如下图:时序分析:按

8、键按一下灯亮,然后t=1,开始倒计时,在4分钟内按第二下,灯常亮不灭。计时时间到,rst=1,灯灭。模块二:预置数倒计时计时器预置数倒计时计时器的原理图如下图:17

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。