




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于VHDL的三层电梯控制器的设计 姓名: 学号: 班级:一 设计课题的任务要求:简易电梯控制器:模拟真实电梯的运行情况,设计制作一个简易电梯控制器控制二层电梯的运行。基本要求:1、 电梯设有一层、二层外部呼叫按钮和内部一层、二层指定按钮(BTN)。2、 利用数码管显示电梯所在楼层,用LED显示电梯运行状态如上行、下行、开门、关门等。提高要求:1、 点阵显示楼层;2、 用点阵显示楼层的上下滚动移出移入表示电梯的上行或下行运行方向3、 增加为三层电梯控制器二 系统设计:电梯控制器的功能模块如图所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客选择所要到达的楼层,通过
2、主控制器的处理之后,电梯开始运行,状态显示器显示当前电梯的上升下降运行状态,电梯所在楼层数通过译码器译码在数码管上显示。分控制器把有效的请求传给主控制器进行处理,同时显示电梯的运行状态和电梯所在层数。电梯控制器原理图如下:状态显示器主控制器楼层选择器分控制器译码器楼层显示器根据电梯的实际工作情况,可以为状态机设置八个状态,它们分别是“电梯停在一层” “电梯停在二层” “电梯停在三层”“开门”“关门” “上升”“下降”和“停止”。由于电梯每秒上升或下降一层,则可以用周期为1s的信号来作为电梯状态转换的触发时钟。VHDL描述模块流程如下图所示:元件库的说明定义实体结构体端口状态机进程信号灯控制进程
3、结束按键信号灯 三层电梯控制器的VHDL描述模块流程电梯控制器流程图:外部按键请求信号寄存器状态寄存器内部软件执行机构外部硬件执行机构图2.2 总流程图初始化判定电梯运行方向是否有请求?等待电梯运行楼层检测否电梯停止目标层与本层是否同层?是是否目标层?开门延时关门是否停止运行?是否是否是否停止 电梯控制主流程图三 仿真波形及波形分析:设定仿真时间长度为60s,liftclk信号为周期1s的时钟信号,buttonclk信号为周期0.1s的时钟信号。doorlight信号1表示开门,0表示关门。udsig信号1表示电梯处在上升模式,0表示处在下降模式。fuplight,fdnlight,stopl
4、ight是三位二进制向量,波形图中的1代表“001”,表示一层有请求,2代表“010”,表示二层有请求,4代表“100”,表示三层有请求。图3.1所示的波形是在一层有上升请求的仿真波形,在reset信号产生一个脉冲时,电梯回复初始状态,即stopon1状态,然后等待,关门检测没有请求信号,电梯停在一层。当电梯时钟上升沿检测到一层上升请求信号fuplight(1)为1时,电梯开门,fuplight(1)清零,等待4s,关门检测到二层停站请求,电梯上升到二层停止,开门stoplight(2)清零,position信号由1变为2,电梯最终停在二层。 图3.1 有上升请求的仿真波形 图3.2所示的波形
5、是三层有下降请求的波形,当电梯在一层关门后,检测到fdnlight为“100”,则上升到三层,开门等待4s,关门检测到stoplight为1,电梯下降到一层,最终停在一层。 图3.2 有下降请求的仿真波形图3.3所示的波形是二层和三层都有下降请求的仿真波形,当电梯在一层关门后,检测到fdnlight为“110”,则直接上升到三层,开门后fdnlight(3)清零,等待4s后,关门下降到二层停止,开门后fdnlight(2)和stoplight(2)清零,再下降到一层。 图3.3 有多个下降请求的仿真波形 图3.4所示的波形为有多个停站请求的仿真波形,电梯在一层关门后,检测到stoplight为
6、“110”,则上升至二层停止开门,stoplight(2)清零,等待4s后关门,继续上升至三层,开门后stoplight(3)清零,乘客下站后电梯最终停在三层。 图3.4 有多个停站请求的仿真波形图3.5所示,当只有二层有下降请求时,电梯上升至二层,然后下降。 图3.5 只有二层有下降请求时的仿真波形图3.6所示,二层同时有上升和下降请求,电梯上升至二层,门打开等待4s,关门后检测到stoplight(3)和fdnlight(2)都为1,它会先上升至三层,再下降至二层,待有下降请求的乘客上电梯后,最后下降至一层。 3.6同时有上升和下降请求的仿真波形从仿真波形来看,电梯的的运行情况符合它的运行
7、规则,电梯的位置变化合理。四 源程序:电梯主控程序源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.all;ENTITY elevator ISPORT(cCLK: IN STD_LOGIC;reset: IN STD_LOGIC; Button : IN STD_LOGIC_VECTOR(3 DOWNTO 0); -button(0)为一层外上升请求,button(1)为二层外上升请求, -button(2)为二楼外下降请求,Button(3)为三层外下降请求; floor : IN STD_LO
8、GIC_VECTOR(2 DOWNTO 0); -floor(0)为电梯内一层请求按钮, floor(1)为电梯内二层请求按钮, -floor(2)为电梯内三层请求按钮; position: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);-position表示电梯当前位置信息; led :OUT STD_LOGIC_VECTOR(7 DOWNTO 0); door : OUT STD_LOGIC; - '1'为开门,'0'为关门; up_down : OUT STD_LOGIC - '1'为上楼,'0'为下楼;
9、 );END elevator;ARCHITECTURE Behav OF elevator ISTYPE State IS (S0,S1U,S1D,S2); -S1U为二楼上状态,S1D为二楼下状态; SIGNAL current_state : State; -中间变量:当前状态 SIGNAL next_state : State; -中间变量:下一状态 SIGNAL up : STD_LOGIC; -中间变量:上升下降状态 SIGNAL dor : STD_LOGIC; -中间变量:开门关门状态 SIGNAL butclk :STD_LOGIC; SIGNAL clk :STD_LOGI
10、C; signal q : std_logic_vector(23 downto 0);begin process(cclk) begin if rising_edge(cclk) then q<=q+1; end if; butclk<=q(1); clk<=q(23); end process;P1:PROCESS(CLK) -状态转换进程;BEGIN IF CLK'EVENT AND CLK='1' THEN -检测时钟上升沿current_state <= next_state; END IF;END PROCESS; P2:PROCES
11、S(reset,clk,butclk,current_state,up,button,floor) VARIABLE button_var: STD_LOGIC_VECTOR( 3 DOWNTO 0); VARIABLE floor_var : STD_LOGIC_VECTOR( 2 DOWNTO 0); VARIABLE cat : STD_LOGIC; VARIABLE ca_time : STD_LOGIC_VECTOR(10 DOWNTO 0);BEGIN IF reset = '1' THEN -复位处理,初始状态为一层 next_state <= S0; po
12、sition <= "0001" led <= "01100000" cat:='0' ca_time:="" up<='0' dor<='0' button_var( 3 DOWNTO 0):="0000" floor_var(2 DOWNTO 0):="000" ELSIF butclk'event and butclk='1' THEN -若无复位信号,则将外部按钮信号存储到7个变量之中; IF
13、 button(0) ='1' THEN button_var(0):='1' ELSE NULL; END IF; IF button(1) ='1' THEN button_var(1):='1' ELSE NULL; END IF; IF button(2) ='1' THEN button_var(2):='1' ELSE NULL; END IF; IF button(3) ='1' THEN button_var(3):='1' ELSE NULL; EN
14、D IF; IF floor(0)='1' THEN floor_var(0):='1' ELSE NULL; END IF; IF floor(1)='1' THEN floor_var(1):='1' ELSE NULL; END IF; IF floor(2)='1' THEN floor_var(2):='1' ELSE NULL; END IF; IF cat='0' THEN ca_time:=ca_time+1; END IF; -开门,关门计时; CASE curre
15、nt_state IS WHEN S0 => -一楼状态处理; position <= "0001" led <= "01100000" cat:='0'IF (button_var(0) or floor_var(0)='1' THENCASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' button_var(0):='0
16、' floor_var(0):='0' IF (floor_var(1) or floor_var(2)='1' THEN next_state<=S1U; ca_time:="" up<='1' ELSE next_state<=S0; ca_time:="" END IF; WHEN others => NULL; END CASE; ELSIF (button_var(1) OR button_var(2) or button_var(3) or floor_var(2
17、) or floor_var(1)='1' THENnext_state <= S1U; ca_time:=""up <= '1'ELSE next_state <= S0; ca_time:=""END IF; WHEN S1U => -二楼上状态处理;position <= "0010"led <= "11011010" cat:='0' IF floor_var(1)='1' THEN -二楼内上升请求; CA
18、SE ca_time IS WHEN "" => dor<='1' WHEN"11111111111"=> dor<='0' floor_var(1):='0' IF (button_var(1) or button_var(3) or floor_var(2)='1' THEN next_state<=S2; ca_time:="" button_var(1):='0' ELSIF ( button_var(0) or bu
19、tton_var(2) or floor_var(0)='1' THEN next_state<=s0; ca_time:="" button_var(2):='0' ELSE next_state<=S1U; ca_time:="" END IF; WHEN others => NULL; END CASE; ELSE IF button_var(1)='1' THEN -二楼外上升请求; CASE ca_time IS WHEN "" => dor<=&
20、#39;1' WHEN "11111111111" => dor<='0' button_var(1):='0' IF (floor_var(2) or button_var(3)='1' THEN next_state<=S2; ca_time:="" ELSIF ( button_var(0) or floor_var(0) or button_var(2)='1' THEN next_state<=s0; ca_time:="" up
21、<='0' ELSE next_state<=S1U; button_var(1):='0' END IF; WHEN others => NULL; END CASE; ELSE IF (button_var(3) or floor_var(2)='1' THEN -二楼无上楼,开门请求,但三层有下楼或开门请求; next_state<=S2; ca_time:="" ELSIF button_var(2)='1' THEN -二楼无上楼,开门请求,三层也无下楼或开门请求,此-时二楼有
22、下楼请求; CASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' button_var(2):='0' IF(floor_var(0) or button_var(0)='1' THEN next_state<=s0; ca_time:="" up<='0' ELSE next_state<=S1U; ca_time:="&q
23、uot; END IF; WHEN others => NULL; END CASE; ELSIF (button_var(0) or floor_var(0)='1' THEN -电梯处于二楼上状态,仅有一楼信号要处理 next_state<=s0; ca_time:="" up<='0' ELSE next_state<=S1U; -无任何信号,保持当前状态不变; ca_time:="" END IF; END IF; END IF; WHEN S1D => - up='0'
24、; 时的情况; position <= "0010" led <= "11011010" cat:='0' IF floor_var(1)='1' THEN CASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' floor_var(1):='0' IF (button_var(2) or button_var(0) or
25、floor_var(0)='1' THEN next_state<=s0; ca_time:="" button_var(2):='0' ELSIF ( button_var(1) or button_var(3) or floor_var(2)='1' THEN next_state<=S2; ca_time:="" button_var(1):='0' ELSE next_state<=S1D; ca_time:="" END IF; WHEN ot
26、hers => NULL; END CASE; ELSE IF button_var(2)='1' THEN CASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' button_var(2):='0' IF (floor_var(0) or button_var(0)='1' THEN next_state<=s0; ca_time:=""
27、ELSIF ( button_var(1) or floor_var(2) or button_var(3)='1' THEN next_state<=S2; ca_time:="" up<='1' ELSE next_state<=S1D; ca_time:="" END IF; WHEN others => NULL; END CASE; ELSE IF (button_var(0) or floor_var(0)='1' THEN next_state<=s0; ca_t
28、ime:="" ELSIF button_var(1)='1' THEN CASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' button_var(1):='0' IF(floor_var(2) or button_var(3)='1' THEN next_state<=S2; ca_time:="" up<='
29、1' ELSE next_state<=S1D; ca_time:="" END IF; WHEN others => NULL; END CASE; ELSIF (button_var(3) or floor_var(2)='1' THEN next_state<=S2; ca_time:="" up<='1' ELSE next_state<=S1D; ca_time:="" END IF; END IF; END IF;WHEN S2 => -电梯三楼状
30、态处理;position <= "0011"led <= "11110010" cat:='0'IF (button_var(3) or floor_var(2)='1' THEN CASE ca_time IS WHEN "" => dor<='1' WHEN "11111111111" => dor<='0' button_var(3):='0' floor_var(2):='0'
31、 IF (floor_var(0) or floor_var(1)='1' THEN next_state<=S1D; ca_time:="" up<='0' ELSE next_state<=S2; ca_time:="" END IF; WHEN others => NULL; END CASE; ELSIF (button_var(0) OR button_var(1) OR button_var(2) or floor_var(0) or floor_var(1)='1' T
32、HEN next_state <=S1D; ca_time:="" up <= '0'ELSE next_state <=S2; ca_time:="" END IF; END CASE; END IF; END PROCESS;P3:PROCESS(up,dor) -电梯上下,开关门显示; BEGIN up_down<=up; door<=dor; END PROCESS;END Behav;五.功能说明:电梯一层设有上升请求开关,二层设有上、下请求开关,三层设有下降请求开关,内部设有一二三层停站请求开关。
33、每层电梯入口设有指示装置及电梯运行状态 (上升或下降)指示装置。电梯初始状态为一层开门状态。电梯每秒上升(下降)一层楼。电梯到达目标楼层,经1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续运行,直至执行完最后一个请求信号后停留在当前层。电梯需要寄存器来记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。六 元器件清单及资源利用情况:使用器件:8x8点阵,数码管,ledX3,按键开关,MAXII芯片一块。七 故障及问题分析:程序调制完成后,由于分频器设置问题,电梯运行的太快,在各个楼层停止时间太短,不符合设计原理,经过共同讨论之后得以改
34、正。将程序下载以后,发现点阵无法正确显示想要的图形,检查代码后发现是点阵设计问题,纠正后重新下载,经过调试之后能正确显示。在仿真波形过程中,遇到一点困难,想要的结果不能在波形上得到正确的显示,经过检查发现时时钟设置不合理,经过和同学讨论后加以改正,最后得到正确的仿真结果。在程序调制成功后,在封装管脚下载程序工程中,由于管脚设置的问题,导致实验板无法显示正确的结果;后来经过仔细检查发现设置有疏漏,经过改正以后可以成功运行。八实验总结:通过这次课程设计,让我明白了理论和实际操作之间差距,而且也让我很明确得意识到自己在数电上有很多的知识漏洞,以后应该多钻研一下。在这次实课程设计中,我虽然碰到了很多困
35、难和问题,到最后还是靠自己的努力与坚持完成了任务。当遇到了自己无法解决的困难与问题的时候,还请教老师和同学给予指导和帮助。这次设计给我最深的印象就是扩大自己的知识面,了解更多与本专业有关的科技信息,觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力。 39 / 41文档可自由编辑打印大学本科生毕业设计(论文)撰写规范本科生毕业设计(论文)是学生在毕业前提交的一份具有一定研究价值和实用价值的学术资料。它既是本科学生开始从事工程设计、科学实验和科学研究的初步尝试,也是学生在教师的指导下,对所进行研究的适当表述,还是学生毕业及学位资格认定的重要依
36、据。毕业论文撰写是本科生培养过程中的基本训练环节之一,应符合国家及各专业部门制定的有关标准,符合汉语语法规范。指导教师应加强指导,严格把关。1、论文结构及要求论文包括题目、中文摘要、外文摘要、目录、正文、参考文献、致谢和附录等几部分。1.1 题目论文题目应恰当、准确地反映论文的主要研究内容。不应超过25字,原则上不得使用标点符号,不设副标题。1.2 摘要与关键词1.2.1 摘要本科生毕业设计(论文)的摘要均要求用中、英两种文字给出,中文在前。摘要应扼要叙述论文的研究目的、研究方法、研究内容和主要结果或结论,文字要精炼,具有一定的独立性和完整性,摘要一般应在300字左右。摘要中不宜使用公式、图表
37、,不标注引用文献编号,避免将摘要写成目录式的内容介绍。1.2.2 关键词关键词是供检索用的主题词条,应采用能覆盖论文主要内容的通用技术词条(参照相应的技术术语标准),一般列35个,按词条的外延层次从大到小排列,应在摘要中出现。1.3 目录目录应独立成页,包括论文中全部章、节的标题及页码。1.4 论文正文论文正文包括绪论、论文主体及结论等部分。1.4.1 绪论绪论一般作为论文的首篇。绪论应说明选题的背景、目的和意义,国内外文献综述以及论文所要研究的主要内容。文管类论文的绪论是毕业论文的开头部分,一般包括说明论文写作的目的与意义,对所研究问题的认识以及提出问题。绪论只是文章的开头,不必写章号。毕业
38、设计(论文)绪论部分字数不多于全部论文字数的1/4。1.4.2 论文主体论文主体是论文的主要部分,要求结构合理,层次清楚,重点突出,文字简练、通顺。论文主体的内容要求参照大学本科生毕业设计(论文)的规定第五章。论文主体各章后应有一节“本章小结”。1.4.3 结论结论作为单独一章排列,但不加章号。结论是对整个论文主要成果的归纳,要突出设计(论文)的创新点,以简练的文字对论文的主要工作进行评价,一般为4001 000字。1.5 参考文献参考文献是论文不可缺少的组成部分,它反映了论文的取材来源和广博程度。论文中要注重引用近期发表的与论文工作直接有关的学术期刊类文献。对理工类论文,参考文献数量一般应在
39、15篇以上,其中学术期刊类文献不少于8篇,外文文献不少于3篇;对文科类、管理类论文,参考文献数量一般为1020篇,其中学术期刊类文献不少于8篇,外文文献不少于3篇。在论文正文中必须有参考文献的编号,参考文献的序号应按在正文中出现的顺序排列。产品说明书、各类标准、各种报纸上刊登的文章及未公开发表的研究报告(著名的内部报告如PB、AD报告及著名大公司的企业技术报告等除外)不宜做为参考文献引用。但对于工程设计类论文,各种标准、规范和手册可作为参考文献。引用网上参考文献时,应注明该文献的准确网页地址,网上参考文献不包含在上述规定的文献数量之内。1.6 致谢对导师和给予指导或协助完成论文工作的组织和个人
40、表示感谢。内容应简洁明了、实事求是,避免俗套。1.7 附录如开题报告、文献综述、外文译文及外文文献复印件、公式的推导、程序流程图、图纸、数据表格等有些不宜放在正文中,但有参考价值的内容可编入论文的附录中。2、论文书写规定2.1 论文正文字数理工类 论文正文字数不少于20 000字。文管类 论文正文字数12 00020 000字。其中汉语言文学专业不少于7 000字。外语类 论文正文字数8 00010 000个外文单词。艺术类 论文正文字数3 0005 000字。2.2 论文书写本科生毕业论文用B5纸计算机排版、编辑与双面打印输出。论文版面设置为:毕业论文B5纸、纵向、为横排、不分栏,上下页边距
41、分别为2.5cm和2cm,左右页边距分别为2.4cm和2cm,对称页边距、左侧装订并装订线为0cm、奇偶页不同、无网格。论文正文满页为29行,每行33个字,字号为小四号宋体,每页版面字数为957个,行间距为固定值20磅。页眉。页眉应居中置于页面上部。单数页眉的文字为“章及标题”;双数页眉的文字为“大学本科生毕业设计(论文)”。页眉的文字用五号宋体,页眉文字下面为2条横线(两条横线的长度与版芯尺寸相同,线粗0.5磅)。页眉、页脚边距分别为1.8cm和1.7cm。页码。页码用小五号字,居中标于页面底部。摘要、目录等文前部分的页码用罗马数字单独编排,正文以后的页码用阿拉伯数字编排。2.3 摘要中文摘
42、要一般为300字左右,外文摘要应与中文摘要内容相同,在语法、用词和书写上应正确无误,摘要页勿需写出论文题目。中、外文摘要应各占一页,编排装订时放置正文前,并且中文在前,外文在后。2.4 目录目录应包括论文中全部章节的标题及页码,含中、外文摘要;正文章、节题目;参考文献;致谢;附录。正文章、节题目(理工类要求编写到第3级标题,即.。文科、管理类可视论文需要进行,编写到23级标题。)2.5 论文正文2.5.1 章节及各章标题论文正文分章、节撰写,每章应另起一页。各章标题要突出重点、简明扼要。字数一般在15字以内,不得使用标点符号。标题中尽量不用英文缩写词,对必须采用者,应使用本行业的通用缩写词。2.5.2 层次层次以少为宜,根据实际需要选择。层次代号格式见表1和表2。表1 理工类论文层次代号及说明层次名称示 例说 明章第1章 章序及章名居中排,章序用阿拉伯数字节1.1 题序顶格书写,与标题间空1字,下面阐述内容另起一段条1.1.1 款1.1.1.1 题序顶格书写,与标题间空1字,下面阐述内容在标题后空1字接排项 (1) 题序空2字书写,以下内容接排,有标题者,阐述内容在标题后空1字 版心左边线 版心右边线表2 文管类论文层次代号及说明章节条款项一、 (一) 1. (1)居中书写空2字书写空2字书写空2字书写空2字书写 版心左边线 版心右边线各层次题序及标题不得置于页面的最后一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰山护理职业学院《计算机电路基础》2023-2024学年第二学期期末试卷
- 张家口职业技术学院《接口自动化》2023-2024学年第二学期期末试卷
- 贵州铜仁数据职业学院《桥梁结构非线性》2023-2024学年第一学期期末试卷
- 山东英才学院《儿童文学(小教)》2023-2024学年第二学期期末试卷
- 郑州经贸学院《钢琴弹唱》2023-2024学年第一学期期末试卷
- 湖南师范大学《公共健康与预防医学》2023-2024学年第二学期期末试卷
- 反担保保证抵押借款合同
- 抵押物品的合同
- 手房买卖合同独家合同
- 畜牧产品产销对接与供应链保障合同
- 2018年四川省高考数学试卷(文科)(全国新课标Ⅲ)
- 前列腺增生患者的护理查房课件
- 2023年四川农信(农商行)招聘笔试真题
- 呼兰河传(2022年黑龙江牡丹江中考语文试卷记叙文阅读题及答案)
- 小学英语“教学评一体化”实施
- 危险化学品出入库管理制度
- 医学课件新生儿黄疸5
- 2024年中考英语作文热点主题:人工智能满分范文10篇精彩表达25句
- 2025年呼和浩特市重点中学中考领航2020大二轮复习数学试题模拟含解析
- 水泥搅拌桩施工记录-自动计算
- 全国大学生网络安全知识竞赛题库及答案
评论
0/150
提交评论