欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    课程设计电梯控制器设计.doc

    • 资源ID:2987360       资源大小:215KB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    课程设计电梯控制器设计.doc

    目录第1章 绪论·································2第2章 电梯控制器的设计要求与设计思路·······4 2.1 设计要求········································4 2.2 总体设计思路····································4 2.3 具体设计思路····································5第3章 电梯控制器的综合设计·················6 3.1 电梯控制器功能··································6 3.2 电梯控制器设计··································6 3.3 电梯控制器实体设计······························8 3.4 电梯控制器结构体设计····························9 3.5 电梯控制器仿真波形·····························10 3.6 硬件实现·······································14小结·········································16参考文献·····································16谢辞·········································17附录··········································18第1章 绪论20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。    EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。 这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面:(1)使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;(2)在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。(3)电子技术全方位纳入EDA领域;(4)EDA使得电子领域各学科的界限更加模糊,更加互为包容;(5)更大规模的FPGA和CPLD器件的不断推出;(6)基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;(7)软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;(8)SoC高效低成本设计技术的成熟。硬件描述语言是EDA技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。利用VHDL设计状态机,不需要进行繁琐的状态分配、绘制状态表和化简次态方程。设计者不必使用卡诺图进行逻辑化简,不必画电路原理图,也不必搭试硬件电路进行逻辑功能的测试,所有这些工作都可以通过EDA工具自动完成。应用VHDL设计状态机的具体步骤如下:(1)根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转移图;(2)按照状态转移图编写状态机的VHDL设计程序;(3)利用EDA工具对状态机的功能进行仿真验证。第2章 电梯控制器的设计要求与设计思路2.1 设计要求三层电梯控制器的功能电梯控制器是控制电梯按顾客要求自动上下的装置。设计要求如下:(1)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。(2)设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。(3)电梯每秒升(降)一层楼(4)电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在当前层。(5)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。(6)电梯运行规则当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到有下楼请求的最高楼层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反,只响应比电梯所在位置低的下楼请求信号,由下而下逐个执行,直到最后一个下楼请求执行完毕;如果低层有上楼请求,则直接降到有上楼请求的最低楼层,然后进入上升模式。(7)电梯初始状态为一层开门状态2.2 总体设计思路实验模拟生活中电梯运动控制,电梯总共三层,最简单的控制思想如下:(1)采集用户呼叫楼层,并放入相应的记忆单元中。(2)不考虑电梯轿厢所在楼层。若有用户呼叫,电梯上行直到达到用户呼叫最大层,再下行直到到达最低层,由此构成一次行程。(3)每完成一次行程,检测是否所用用户呼叫均已响应完毕。如果没有,电梯继续运行,直到响应完所有用户呼叫。否则,电梯停止运行。其中用户请求包括外部请求和内部请求。有外部升降请求信号需点亮相应的外部请求指示灯,内部升降请求信号同外呼。(4)根据电梯所在楼层,七段数码管显示楼层数。(5)根据用户运行方向,点亮相应升降指示灯。(6)当电梯运行到有相应外部呼叫或内部呼叫楼层时,电梯停止运行,灭掉相应的呼叫显示灯,电梯开关门后,继续运行。2.3 具体设计思路电梯控制可以通过多种方法进行设计,其中采用状态机来实现,思路比较清晰。可以将电梯等待的每秒钟以及开门,关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的一秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置10个状态,分别是“电梯停留在1层”,“开门”,“关门”,“开门等待第一秒”,“开门等待第二秒”,“开门等待第三秒”,“开门等待第四秒”,“上升”,“下降”和“停止”状态。各个状态之间的转换条件可以由上面的设计要求所决定。第3章 电梯控制器的综合设计3.1 电梯控制器功能本电梯控制器分为主控制器和分控制器。主控制器是电梯内部的控制器,每个楼层有一个分控制器。主控制器的功能:(1)完成3个楼层多用户的载客服务控制。(2)电梯运行时显示电梯的运行方向和所在的楼层。(3)当电梯到达选择的楼层时,电梯自动开门。(4)具有提前关电梯门和延时关电梯门的功能。(5)响应分控制器的有效请求,如果到达有请求的楼层,电梯自动开门。分控制器的功能:(1)显示电梯的运行状态和所在的楼层。(2)显示乘客的上升和下降请求。分控制器的有效请求原则:(1)电梯处于等待状态时,上升和下降请求都响应。(2)电梯处于上升状态时,有上升请求的分控制器所在楼层数大于电梯所在的楼层数。(3)电梯处于下降状态时,有下降请求的分控制器所在楼层数小于电梯所在的楼层数。3.2 电梯控制器设计控制器的功能模块如图3.2.1所示,包括主控制器、分控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在的楼层数通过译码器译码从而在楼层显示器中显示。分控制器把有效的请求传给主控的楼层数。由于分控制器相对简单很多,所以主控制器是核心部分。状态显示器主控制器分控制器译码器电梯位置显示器楼层选择器图3.2.1 控制器的功能模块图电梯控制电路输入部分: 外部请求,内部请求。 输出部分: 外部请求显示、内部请求显示、楼层数码显示、电梯升降显示、电梯升降控制、电梯开关门显示、电梯开关门控制NYYNNYNN到达第三层(开门、关门)开始到达第一层(开门、关门)上楼请求?第二层请求?到达第二层(开门、关门)上楼请求?下楼请求?第二层请求?下楼请求?YN控制器程序框图3.3电梯控制器实体设计首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必须有升降请求端口,一层是最底层,不需要有下降请求,三层是最高层,不需要有上升请求,二层则上升,下降请求端口都有;在电梯内部,应该设有各层停留的请求端口;个电梯时钟输入端口,该时钟输入以1秒为周期,用于驱动电梯的升降以及开门关门等动作;另有一个按键时钟输入端口,时钟频率比电梯时钟频率高。buttonclk:in std_logic; -按键时钟liftclk:in std_logic; -电梯时钟reset:in std_logic; -异步复位按钮f1upbutton:in std_logic; -第一层上升请求按钮f2upbutton:in std_logic; -第二层上升请求按钮f2dnbutton:in std_logic; -第二层下降请求按钮f3dnbutton:in std_logic; -第三层下降请求按钮stop1button,stop2button, stop3button:in std_logic; -电梯内部各层请求按钮其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑1,被响应以后则恢复逻辑0;同样,在电梯内部也应该有这样的输出端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示;为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。fuplight:buffer std_logic_vector(3 downto 1); -电梯外部上升请求指示灯fdnlight:buffer std_logic_vector(3 downto 1); -电梯外部下降请求指示灯stoplight:buffer std_logic_vector(3 downto 1); -电梯内部各层请求指示灯position:buffer integer range 1 to 3; -电梯位置指示dout1:out std_logic_vector(3 downto 0); -电梯位置译码显示doorlight:out std_logic; -电梯门开关指示灯udsig:buffer std_logic; -电梯升降指示电梯控制器电路图3.4电梯控制器结构体设计首先说明一下状态。状态机设置了10个状态,分别是电梯停留在1层(stopon1),开门(dooropen)关门(doorclose),开门等待第1秒(doorwait1),开门等待第2秒(doorwait2),开门等待第三秒(doorwait3),开门等待第四秒(doorwait4),上升(up),下降(down)和停止(stop)。在实体说明中定义完端口之后,在结构体architecture和begin之间需要有如下的定义语句来定义状态机。type lift_state is(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop); -电梯的10个状态signal mylift:lift_state; -定义为life类型的信号mylift结构体分为3个进程,分别完成寄存器的置位复位、电梯运行状态判断、时序电路及电梯运行楼层变化。在结构体进程中,在电梯上升状态中,通过对信号灯的判断,决定下一个状态是继续上升还是停止;在电梯下降状态中,也是通过对信号灯的判断,决定下一个状态是继续下降还是停止;在电梯停止状态中,判断是最复杂的,通过对信号的判断,决定电梯是上升,下降还是停止。在信号灯控制进程中,由于使用了专门的频率较高的按键时钟,所以使得按键的灵敏度增大,但是时钟频率不能过高,否则容易使按键过于灵敏。按键后产生的点亮的信号灯(逻辑值为1)用于作为状态机进程中的判断条件,而clearup和cleardn信号为逻辑1使得相应的信号灯熄灭。3.5 电梯控制器仿真波形首先做一些符合实际情况的假设,就是有外部上升请求的乘客,进入电梯以后一定是按高层的内部停站按钮,有外部下降请求的乘客,进入电梯以后一定是按低层的内部停站按钮。而乘客进入电梯以后必定要按按键。在同一时刻有多人按键的概率很小,所以按键一定有先后顺序。这些假设都是符合实际情况的。图3.5.1所示仿真的是在第二层电梯外有上升请求,也就是f2upbutton产生一个脉冲,可以看到电梯从一层上升到二层,position信号由1变到2,doorlight信号逻辑1表示开门,0表示关门。当乘客进入电梯以后,在电梯内部要求上升到第三层,也就是stop3button产生一个脉冲,电梯上升到第三层,开门4秒以后关门,停留在3层,position最后的值为3。在仿真图中,看不到buttonclk,只显示为一条黑色的线,是因为采用了频率较高的时钟。图3.5.1fuplight信号灯,当二层有上升请求的时候,它的值由0变到2(注意,fuplight和fdnlight是3位的二进制向量,这里的2代表“010”,表示二层有请求;“100”也就是4,表示三层有请求)。当电梯停留到二层以后,表明该请求被响应,所以它的值变为0。由于没有下降请求信号,所以fdnlight信号灯的值一直都为零。图3.5.2是有下降请求的情况,它是图3.5.1的继续,当电梯停留在第三层的时候,在电梯外第二层有下降请求,这时候fdnlight信号灯由0变到2,说明第二层有下降请求。电梯下降到第二层,响应了下降请求,所以fdnlight信号灯清零。这时候,在电梯内部没有停留在哪一层的请求,所以电梯就停留在第二层,position信号的值保持在2。图3.5.2同时有上升和下降请求信号时,电梯的运行情况如图3.5.3所示。图3.5.3图3.5.3仿真的情况是,原先电梯停留在一层,这时候电梯外第三层有下降请求,电梯上升到三层,乘客进入电梯以后要求下降到一层。与此同时,在电梯外第二层有上升请求,电梯首先要响应下降请求然后再响应这个上升请求,所以电梯得先下降到一层,然后再上升到第二层来,这是符合常理的。从仿真波形看,电梯的位置变化和想象是一致的。电梯的运行完全正确。最后乘客在电梯内部要求上升到三层,所以电梯最后停留的位置为三层。在图3.5.4的仿真中,原先电梯停留在一层,电梯外第三层有下降请求,电梯上升到三层,乘客进入电梯以后要求下降到一层。此时,二楼有下降请求,接着又有上升请求,电梯首先在二层停留,然后下降到一层。随后要响应二层上升请求,上升到二层,乘客进入电梯以后要求上升到三层,所以最后电梯停留的位置是三层。图3.5.4在同步电路中,一般情况下,“毛刺”不会产生重大影响。因为“毛刺”仅发生在时钟有效边沿之后的一小段时间内,只要在下一个时钟有效边沿到来之前“毛刺”消失即中。但是,由于状态机的输出信号都是作为其它功能模块的控制信号,如果这些控制信号作为异步控制、三态使能控制或时钟信号来使用,则将会使受模块发生误动作,造成系统工作混乱。因此,在这种情况下必须保证状态机的输出没有“毛刺”。消除状态机输出信号的“毛刺”有以下三种方案:(1)在状态机输出信号较少的情况下,直接把状态作为输出信号;(2)对于顺序迁移的状态机,选择雷格码作为状态编码;(3)在Moore型或Mealy型状态机基础上,用时钟同步输出信号。若要安全消除状态机的“毛刺”,则应采用第三种方案。这时,设计程序要作相应改变,状态的转移和输出信号的赋值要写在同一步时钟进程中。综上,采用VHDL设计状态机,能够大大降低设计难度。使用双进程描述编写VHDL设计程序,可以清楚地在一个进程中确定状态的转移和对输出的赋值,而且具有易于建立、理解和维护的优点。特别针对大型或具有大量状态转移和输出信号的状态机设计,将会更加显示出它的优势。对于状态机输出信号所产生的 “毛刺”,可以按照系统的要求,根据不同的情况采用相应的设计方案予以消除。3.6 硬件实现首先根据电梯控制器的设计要求选择模式5进行编程下载,之后依照目标器件引脚名和引脚号对照表进行引脚锁定,具体锁定情况如下表,然后再编译一次将引脚信息导入,选择编程器,准备将设计好的三层电梯控制器文件下载到目器件EP1K144-3中去,在编程窗打开的情况下选择下载方式设置,ByteBlasterMV,然后向EF1K30下载配置文件,当编程窗显示Configuration complete时说明下载已经成功。实验板位置信号目标器件引脚名EP1K30TC144引脚号1、时钟buttonclkCLOCK5562、发光管2doorlightPIO9213、数码译码器8dout103PIO44PIO4791、92、95、964、发光管8fuplight1PIO15295、发光管7fuplight2PIO14286、发光管6fuplight3PIO13277、键8f1upbuttonPIO7198、键7f2upbuttonPIO6189、键6f2dnbuttonPIO51710、键5f3dnbuttonPIO41311、时钟liftclkCLOCK012612、发光管5position1PIO122613、发光管4position0PIO112314、键1resetPIO20815、键4stop3buttonPIO31216、键3stop2buttonPIO21017、键2stop1buttonPIO1918、发光管1udsigPIO820下面以一例来简要说明一下,原先电梯停留在一层,这时候电梯外第三层有下降到二层的请求,由于初始态是电梯停留在一层,则按键2,观察到升降指示D1灯灭,说明电梯处于上升状态,数码译码器8显示由1变为2再变为3,说明了电梯位置的改变,之后D2亮,电梯门开,按键3,等待,关门,D2灭,D1亮,电梯处于下降状态,译码器8的显示由3变为2表示电梯已由三层降到二层,D2亮,若无其他按键,则电梯停留在二层,数码显示2不变。小结我这篇课设基于VHDL语言设计的三层电梯控制器,并进行了电路综合和仿真以及硬件实现。该控制器提供3个楼层多用户的载客服务并指示电梯的运行情况。用VHDL硬件描述语言的形式来进行三层电梯控制器的设计方便灵活,利用EDA软件进行编译优化仿真极大的减少了电路设计时间和可能发生的错误,降低了开发成本,相信这种设计方法将在未来的数字系统设计中发挥越来越重要的作用。通过此次的课程设计,我学到了很多知识,跨越了传统方式下的教与学的体制束缚,在论文的写作过程中,通过查资料和搜集有关的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,可能会记住很多的书本知识,但是通过课程设计,我学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处理知识和实践相结合的问题。不过,一个星期的课设实在很快,我发现还有很多课上的知识在实际应用中十分不熟练,这说明我还有很多东西要学。我会在以后的学习生活中更加完善的。参考文献1. 潘松 黄继业 EDA技术实用教程 科学出版社 20052. 徐志军 许光辉 CPLD/FPGA的开发与应用 电子工业出版社 2001.13. 朱正伟 EDA技术及应用 清华大学出版社 2005.104. 王振红 VHDL数字电路设计与应用实践教程 机械工业出版社 2003.65. 付家才 EDA原理与应用化学工业出版社 2001.56. 谢辞非常感谢同学们的帮助。通过这几天的努力和学习,我得到了很好的锻炼,提高了动手能力和实践能力,并把我们这学期的所学的理论知识和实践很好的结合起来,达到了融会贯通的学习目的,使得我们不仅学会了学习基本理论的方法,而且教会我们怎样把基础知识和实际结合起来,确实达到了提高和创新的目的。在这里特别要感谢朱老师对我悉心的指导,还有我同寝室的兄弟们的帮助,使我顺利完成本次课设!附录源程序:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity threeflift IS port(buttonclk:in std_logic;liftclk:in std_logic;reset:in std_logic;DOUT1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);f1upbutton:in std_logic;f2upbutton:in std_logic;f2dnbutton:in std_logic;f3dnbutton:in std_logic; fuplight:buffer std_logic_vector(3 downto 1); fdnlight:buffer std_logic_vector(3 downto 1); stop1button,stop2button, stop3button:in std_logic;stoplight:buffer std_logic_vector(3 downto 1);position:buffer integer range 1 to 3;doorlight:out std_logic;udsig:buffer std_logic);end threeflift;architecture a of threeflift istype lift_state is(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4,up,down,stop);signal mylift:lift_state;signal clearup:std_logic;signal cleardn:std_logic;begin ctrlift:process(reset,liftclk)variable pos:integer range 3 downto 1;begin if reset='1' thenmylift<=stopon1;clearup<='0'cleardn<='0'else if liftclk'event and liftclk='1'thencase mylift is when stopon1=>doorlight<='1'position<=1;pos:=1;mylift<=doorwait1;when doorwait1=>mylift <=doorwait2;when doorwait2=>clearup<='0'cleardn<='0'mylift<=doorwait3;when doorwait3=>mylift<=doorwait4;when doorwait4=>mylift<=doorclose;when doorclose=>doorlight<='0'if udsig='0' thenif position=3 then if stoplight="000"and fuplight="000"and fdnlight="000" then udsig<='1' mylift <=doorclose; elsifstoplight(2)='1'or(stoplight(2)='0'andfdnlight(2)='1')then udsig <='1' mylift <=doorclose; elsif stoplight(2)='1'or(stoplight(2)='0'and fuplight(2)='1')then udsig<='0' mylift<=up; else udsig<='1'mylift<=down; end if; elsif position=2 thenif stoplight="000"and fuplight="000"and fdnlight="000"thenudsig<='0'mylift<=doorclose;elsifstoplight(3)='1'or (stoplight(3)='0' and fdnlight(3)='1')thenudsig<='0'mylift<=up;else udsig<='1'mylift<=down;end if;elsif position=1 thenif stoplight="000" and fuplight="000" and fdnlight="000"thenudsig<='0'mylift<=doorclose;else udsig<='0' mylift<=up;end if;end if;elsif udsig='1' thenif position =1 thenif stoplight="000" and fuplight="000" and fdnlight="000" thenudsig<='0'mylift<=doorclose;else udsig<='0'mylift<=up;end if;elsif position=2 thenifstoplight="000" and fuplight="000" and fdnlight="000" thenudsig<='1'mylift<=doorclose;elsif stoplight(1)='1'or (stoplight(1)='0' and fdnlight(1)='1')thenudsig<='1'mylift<=down;else udsig<='0'mylift<=up;end if;elsif position=3 thenif stoplight="000" and fuplight="000" and fdnlight="000" thenudsig<='1'mylift<=doorclose;else udsig<='1'mylift<=down;end if;end if;end if;when up=> position<=position+1; pos:=pos+1; if pos<3 snd(stoplight(pos)='1'or fdnlight(pos)='1') then mylift<=stop; elsif pos=3and(stoplight(pos)='1'orfdnlight(pos)='1')then mylift<=stop; else mylift<=doorlclose; end if; when down=> position<=position-1; pos:=pos11;if pos>1 snd(stoplight(pos)='1'or fdnlight(pos)='1') then mylift<=stop;elsif pos=1and(stoplight(pos)='1'orfdnlight(pos)='1')then mylift<=stop; else mylift<=doorlclose; end if; when stop=> mylift<=doorlopen; when dooropen=> doorlight<='1' if udsig='0'then if position<=2and(stoplight(pos)=1or fuplifht(pos)=1)then cleardn<='1' else clearup <='1' cleardn<='1' end if; elsif udsig ='1' then if position<=2and(stoplight(pos)=1or fuplifht(pos)=1)then cleardn<='1' else clearup <='1' cleardn<='1' end if; end if; mylift<=doorwait1; end case; end if; end if; end process ctrlift; ctrlight:process(reset,buttonclk)beginif reset='1' thenstoplight<="000"fuplight<="000"fdnlight<="000"elseif buttonclk'event and buttonclk='1' thenif clearup='1'thenstoplight(position)<='0'fuplight(position)<='0'elseif f1upbutton='1' then fuplight(1)<='1'elsif f2upbutton='1' then fuplight(2)<='1'end if;end if;if cleardn='1' thenstoplight(position)<='0'fuplight(position)<='0'else if f2dnbutton='1' then fdnlight(2)<='1'elsif f3dnbutton='1' then fdnlight(3)<='1'end if;end if;if stop1button='1' then stoplight(1)<='1'elsif stop2button='1' then stoplight(2)<='1'elsif stop3button='1' t

    注意事项

    本文(课程设计电梯控制器设计.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开