




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- “肾藏精主水”探讨补肾活血复方调节p38MAPK-NF-κB-AQP4心衰水液代谢障碍机制研究
- 改性生物炭对含酚废水的吸附性能研究
- 结构拉缝粘弹性阻尼器的减震性能研究
- 《宋代教育》翻译实践报告(第六章节选一)
- 颌面部影像技术课件
- 企业培训沟通课件
- 《智能网联整车综合测试》课件-车道保持控制场景测试评价
- 2025年湖北省中考招生考试数学真题试卷(真题+答案)
- 《电子产品制造技术》课件-第6章 电子产品的调试与检验
- 预检分诊知识课件
- 酒店入住登记表
- 中药泡洗技术-2
- 大学体育:轮滑教案
- 马太效应课件完整版
- 马克思主义原著选读课程
- 保障性租赁住房申请表
- 2023年中智总部及直属单位个高管职位公开招聘笔试参考题库附带答案详解
- iqc培训教材基础课件
- 中等职业学校艺术课程标准(2020年版)(word精排版)
- GB/T 15435-1995环境空气二氧化氮的测定Saltzman法
- GB/T 1355-2021小麦粉
评论
0/150
提交评论