版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字电路课程设计报告 三层电梯控制器姓名:李世刚 班级:计1223 学号:2 指导老师:王玲玲 2012年12月23日目录一、设计内容11、简要说明22、任务和要求2二、设计方案及总体功能2三、各部分具体设计4四、我的设想12五、总结12一、 设计内容本次设计的是三层电梯控制器:1、 简要说明:电梯控制器是控制电梯按顾客的要求自动上下的装置。2、 任务和要求:(1) 每层电梯入口处设有上下请求开关,电梯内设有乘客到达层次的停战请求开关。(2) 设有电梯所处位置指示装置及电梯运行模式(上升或下降或等待)指示装置。(3) 电梯每秒升(降)一层楼。(4) 电梯到达有停站请求的楼层后,经一秒电梯楼门打
2、开,开门指示灯亮,开门四秒后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停在当前层。(5) 能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除(6) 电梯运行规则一当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则相反。(7) 电梯初始状态为一层开门状态。二、 设计方案及总体功能本设计的总体框图如图1-1所示: 图1-1 总体框图本控制器的功能模块主要包括控制器、状态显示器,译码器,楼层显示器等。乘客在电梯中选择所要到达的楼层,通过控制器的处理,电梯开始运
3、行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器从而在楼层显示器中显示。电梯控制器原理图三、 各部分具体设计 1、模块arc见图1-2。该模块是整个控制器的核心。其主要的的设计思想是将电梯的状态划分为四个:一层状态(c1),二层状态(c2),三层状态(c3)及开门状态(kai)。对于每一个状态分析其所有的可能。图1-3本模块的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity arc is port( u1,u
4、2,d2,d3,k1,k2,k3,clk:in std_logic; site:out std_logic_vector(3 downto 1); a1,a2,a3,mode,door,ur1,ur2,dr2,dr3:out std_logic);end arc;architecture behave of arc istype state_type is(c1,c2,c3,kai);begin process(clk) variable u,d,s,f:std_logic_vector(3 downto 1); variable m,a,b,n:std_logic; variable cnt
5、1,cnt2:integer; variable state :state_type; begin if clk'event and clk='1' then if u1='0' then u(1):='1' ur1<='1' end if; if u2='0' then u(2):='1' ur2<='1' end if; if d2='0' then d(2):='1' dr2<='1' end if; i
6、f d3='0' then d(3):='1' dr3<='1' end if; if k1='0' then s(1):='1' end if; if k2='0' then s(2):='1' end if; if k3='0' then s(3):='1' end if; if cnt1<1000 then cnt1:=cnt1+1; else case state is when c1 =>f:="001"
7、 m:='0' if u/="000" or d/="000" or s/="000" then a:='1' else a:='0' end if; if n='0' then door<='1' else door<='0' if s(1)='1' or u(1)='1' then state:=kai; s(1):='0' u(1):='0' elsif u(
8、2)='1' or s(2)='1' then state:=c2; elsif d(3)='1'or s(3)='1' then state:=c2; b:='1' elsif d(2)='1' then state:=c2; m:='1' end if; end if; when c2=>f:="010" if m='0' then if s(2)='1' or u(2)='1' then state:=k
9、ai; s(2):='0' u(2):='0' elsif d(3)='1'or s(3)='1' or b='1' then state:=c3; b:='0' elsif d(2)='1' or u(1)='1' or s(1)='1' then m:='1' end if; end if; if m='1' then if d(2)='1' or s(2)='1' then stat
10、e:=kai; d(2):='0' s(2):='0' elsif u(1)='1' or s(1)='1' or n='1' then state:=c1; n:='0' elsif u(2)='1' or d(3)='1' or s(3)='1' then m:='0' end if; end if; when c3=>m:='1' f:="100" if s(3)='1'
11、or d(3)='1' then state:=kai; s(3):='0' d(3):='0' elsif d(2)='1' or s(2)='1' then state:=c2; elsif u(1)='1' or s(1)='1' then state:=c2; n:='1' elsif u(2)='1' then state:=c2; m:='0' end if; when kai=>door<='1'
12、; if cnt2<3 then cnt2:=cnt2+1; else door<='0' cnt2:=0; if f="001" then state:=c1; elsif f="010" then state:=c2; elsif f="100" then state:=c3; end if; end if; end case; cnt1:=0; end if; end if; site<=f; a1<=s(1); a2<=s(2); a3<=s(3); mode<=m;
13、end process;end behave;2、计数器模块cnbt,在时钟的驱动下,实现了对数码管的动态扫描及数据的选择。对其进行功能仿真,得到波形图如下:源程序为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cntb isport(clk:in std_logic;q:buffer std_logic_vector(2 downto 0);end;architecture bbc of cntb issignal q1:std_logic_vector(2 downto 0)
14、;beginprocess(clk)beginif clk'event and clk='1' thenq1<=q1+1;end if;end process;q<=q1;end bbc;3、数据选择器模块selector,实现了对楼层状态,运行状态及楼层请求等输出数据的分时输出。其源程序为:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity selector isport(D0,D1,D2,D
15、3,D4,D5,D6,D7:in std_logic_vector(3 downto 1); sel:in std_logic_vector(2 downto 0); M:out std_logic_vector(3 downto 1);end selector;architecture behave of selector isbeginprocess(sel)begincase sel iswhen "000"=>M<=D0; when "001"=>M<=D1;when "010"=>M<=D
16、2;when "011"=>M<=D3;when "100"=>M<=D4;when "101"=>M<=D5;when "110"=>M<=D6;when "111"=>M<=D7;when others=>M<="000"end case;end process;end behave;4、译码器模块seg,实现了将二进制数据通过数码管显示的功能。 其源程序为:library ieee;use ieee
17、.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity seg is port(A:in std_logic_vector(3 downto 1); Q: out std_logic_vector(6 downto 0); end seg;architecture behave of seg isbegin process(A) begin case A is when"001"=>Q<="0110000" when&quo
18、t;010"=>Q<="1101101" when"100"=>Q<="1111001" when"000"=>Q<="1000111" when"111"=>Q<="0001111" when"110"=>Q<="0000001" when others=>null; end case; end process;end behave;5、总体仿真波形图为:此波形图为在一楼和二楼都有请求时,各个模块的对应波形变化。四、 我的设想 在本次的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版施工劳务非材料供应承包合同版
- 2024年度农业科技园区建设与运营服务合同范本3篇
- 热气球场平施工合同
- 杭州二手房地下室使用权合同
- 2024年版离婚合同中子女抚养费用与教育问题详解版B版
- 2025仓库租赁合同范本,仓库租赁合同
- 高等院校网络管理员招聘合同
- 2024版保密通信设备技术培训服务合同样本3篇
- 2024年房地产项目股权转让与共同开发合同3篇
- 2024年商品房屋买卖合同编制与合同效力确认
- 图纸会审要点
- 教学成果奖申报表-初中数学实验的课程建设和教学建构
- 危险工艺安全措施
- 实习过程中如何提高自己的工作效率
- 实现中华民族伟大复兴中国梦08(全国一等奖)
- 成功必备的八个心态课件
- 教科版科学五年级上册《健康生活》单元教材解读培训PPT
- 毛选读后感课件
- 离婚登记申请受理回执单
- 规培培训检验(改)课件
- 腹部损伤的现场急救流程图
评论
0/150
提交评论