下载 >  开发技术 >  C > STC89C52电梯系统
5

STC89C52电梯系统

if(getToFloor[0]) { if(floor == getToFloor[0]) { flag --; reach[getToFloor[0] - 1] = 1;//执行请求楼层到达置位 for(i = 0;i < 4;i ++) { //每完成一次楼层请求getToFloor数组值左移一次 getToFloor[i] = getToFloor[i + 1]; } getToFloor[4] = 0;//数组右边补0 } else if(floor < getToFloor[0]) { upORdown = 1; } else { upORdown = 2; } } else//当无楼层请求时 { upORdown = 0;//所有请求已执行完毕,系统静止 second = 0; } }
2011-11-15 上传大小:50KB
分享
收藏 举报
STC89C52单片机最小系统原理图、PCB文件

这是我自己用protel DXP 2004设计的一个单片机最小系统,包括了232串口、一个红外接收头功能,2个LED灯和4个按键的一端由针脚引出,可用跳线自定义功能。板子已经做出来 能正常使用

立即下载
[Altium_Designer]_STC89C52单片机最小系统原理图+PCB文件

[Altium_Designer]_STC89C52单片机最小系统原理图+PCB文件

立即下载
电梯IC卡管理系统

电梯控制软件

立即下载
电梯控制系统的分析类图 顺序图 类图

用于实现单个UML图的基本技术:电梯由门、监视器和电梯控制器组成。电梯控制器负责控制电梯系统.乘客通过按动每层楼的按钮或者电梯内的控制面板来与电梯系统进行交互。

立即下载
一个完整的电梯仿真系统

某国际展览中心共40层 限定条件 (1) 电梯的运行规则是:可到达每层。 (2) 每部电梯的最大乘员量均为K人(K值可以根据仿真情况在10~18人之间确定)。 (3) 仿真开始时,各电梯随机地处于其符合运行规则的任意一层,为空梯。 (4) 仿真开始后,有N人(0&lt;N&lt;1000)在M分钟(0&lt;M&lt;10)内随机地到达该国际展览中心的1层,开始乘梯活动。 (5) 每位乘客初次所要到达的楼层是随机的,令其在合适的电梯处等待电梯到来。 (6) 每位乘客乘坐合适的电梯到达指定楼层后,随机地停留10-120秒后,再随机地去往另一楼层,依此类推,当每人乘坐过L次(每人的L值不同,在产生乘客时随机地在1~10次之间确定)电梯后,第L+1次为下至底层并结束乘梯行为。到所有乘客结束乘梯行为时,本次仿真结束。 (7) 电梯运行速度为S秒/层(S值可以根据仿真情况在1~5之间确定),每人上下时间为T秒(T值可以根据仿真情况在2~10之间确定)。 (8) 电梯运行的方向由先发出请求者决定,不允许后发出请求者改变电梯的当前运行方向,除非是未被请求的空梯。 (9) 当某层有乘客按下乘梯电钮时,优先考虑离该层最近的、满足条件(8)、能够最快到达目标层的电梯。 (10) 不允许电梯超员。

立即下载
STC89C52单片机最小系统

含单片机最小系统原理图,PCB以及照片,可以直接生成PDF

立即下载
UML电梯系统类图

用EA绘制的电梯系统类图,打开就可以直接使用。是UML初学者的优秀参考资料

立即下载
java项目实践之模拟电梯系统Java源码.

java项目实践之模拟电梯系统Java源码.

立即下载
Java实现 电梯模拟系统(附有开发文档和程序代码 )

java swing 实现的电梯模拟系统,能够通过界面方式简易模拟电梯的运行,管理员登录,设置等基本功能!附有开发文档,程序代码和界面的一些图片,开发环境为:JCreator,一些功能还未实现,希望给你一点借鉴,并希望你能够完善它!

立即下载
IC电梯系统自动分析判断

电梯卡数据查看,迅速判断IC卡是什么系统的.IC卡数据反译的利器

立即下载
电梯调度系统C#实现

这是用C#开发的电梯调度系统,有什么不足之处,请大家多多指正,谢谢!

立即下载
模拟电梯系统程序设计

八、 实验内容和要求: 要求根据下面的功能说明描述实现模拟电梯控制软件 (一)电梯配置 1. 共有1个电梯 2. 共有maxfloor层楼层。maxfloor=9。 3. 中间层每层有上下两个按钮,最下层只有上行按钮,最上层只有上行按钮。每层都有相应的指示灯,灯亮表示该按钮已经被按下,如果该层的上行或者下行请求已经被响应,则指示灯灭 4. 电梯内共有maxfloor个目标按钮,表示有乘客在该层下电梯。有指示灯指示按钮是否被按下。乘客按按钮导致按钮指示灯亮,如果电梯已经在该层停靠则该按钮指示灯灭 5. 另有一启动按钮(GO)。当电梯停在某一楼层后,接受到GO信息就继续运行。如果得不到GO信息,等待一段时间也自动继续运行。 6. 电梯内设有方向指示灯表示当前电梯运行方向。 说明:由于本次实验不使用可视化框架,所以无法作到从图形界面上获取按钮请求。因此电梯按钮的设计,不在图形界面上体现,仅用来设计键盘的模拟输入。 (二)电梯的运行控制 1.电梯的初始状态是电梯位于第一层处,所有按钮都没有按下。 2.乘客可以在任意时刻按任何一个目标钮和呼叫钮。呼叫和目标对应的楼层可能不是电梯当前运行方向可达的楼层。 3. 如果电梯正在向I层驶来,并且位于I层与相邻层(向上运行时是I-1层或者向下运行时是I+1层)之间,则因为安全考虑不响应此时出现的I层目标或者请求。如果电梯正好经过了I楼层,运行在I楼层和下一楼层之间,则为了直接响应此时出现的I层目标或者请求,必须至少到达运行方向上的下一楼层然后才能掉头到达I楼层(假设掉头无须其它额外时间),如果I楼层不是刚刚经过的楼层则可以在任意位置掉头,此时掉头后经过的第一个楼层不可停。 4. 电梯系统依照某种预先定义好的策略对随机出现的呼叫和目标进行分析和响应。 5. 乘客数量等外界因素(可能导致停靠时间的长短变化)不予考虑。假设电梯正常运行一层的时间是5S,停靠目标楼层、上下乘客和电梯继续运行的时间是5S。 6. 当电梯停靠某层时,该层的乘客如果错误的按目标或呼叫按钮都不予响应。 7. 电梯停要某一层后,苦无目标和呼叫,则电梯处于无方向状态,方向指示灯全灭,否则电梯内某个方向的指示灯亮,表示电梯将向该方向运行。等接到“GO”信号后电梯立即继续运行。若无GO信号,则电梯在等了上下乘客和电梯继续运行时间后也将继续运行。 8. 当一个目标(呼叫)已经被服务后,应将对应的指示灯熄灭。 (三)电梯运行的控制策略 以下是几个候选策略: 1.先来先服务策略: 将所有呼叫和目标按到达时间排队,然后一一完成。这是相当简单的策略,只需要设计一个将呼叫和目标排队的数据结构。因为该策略效率也很低,所以没有实际的电梯采用这种策略。 2. 顺便服务策略: 顺便服务是一种最常见的简单策略。这种策略在运行控制中所规定的安全前提下,一次将一个方向上的所有呼叫和目标全部完成。然后掉转运行方向完成另外一个方向上的所有呼叫和目标。 可以采用设定目标楼层的办法来实现这个策略,即电梯向一个目标楼层运行,但这个楼层可以修改。具体策略如下: 1) 修改目标楼层的策略: a.如果电梯运行方向向上,那么如果新到一个介于当前电梯所处楼层和目标楼层之间,又可以安全到达的向上呼叫或者目标,将目标楼层修改为这个新的楼层。 b.如果电梯运行方向向下,那么如果新到一个介于当前电梯所处楼层和目标楼层之间,又可以安全到达的向下呼叫或者目标,将目标楼层修改为这个新的楼层。 2)确定新的目标楼层: 如果电梯向上运行,当它到达某个目标楼层后,则依照以下顺序确定下一个目标楼层: a.如果比当前层高的楼层有向上呼叫或者目标,那么以最低的高于当前楼层的有向上呼叫或者目标的楼层为目标。 b.如果无法确定目标楼层,那么以最高的向下呼叫或者目标所在楼层为电梯当前目标楼层。 c.如果无法确定目标楼层,那么以最低的向上呼叫所在楼层为电梯当前的目标楼层。 d.如果仍然不能确定目标楼层(此时实际上没有任何呼叫和目标),那么电梯无目标,运行暂停。 如果电梯向下运行,依照以下顺序确定下一目标楼层: a.如果比当前层低的楼层有向下呼叫或者目标,那么以最高的低于当前楼层的有向下呼叫或者目标的楼层为目标。 b.如果无法确定目标楼层,那么以最低的向上呼叫或者目标所在楼层为电梯当前目标楼层。 c.如果无法确定目标楼层,那么以最高的向下呼叫楼层为目标楼层。 d.如果仍然不能确定目标楼层(此时实际上没有任何呼叫和目标),那么电梯无目标,运行暂停。 3)最快响应策略: 响应所有的现在存在的所有呼叫和目标所需时间(采用不同方案电梯停靠时间相同,所以不必考虑)最短的策略。 可选方案一是电梯先向上运行响应经过各层的目标和向上呼叫,再向下运行响应所有向下呼叫以及途经各层的目标,最后再向上响应剩余的向上呼叫。二是恰好相反,先向下,再向上,最后再向下运行。 由于呼叫和目标会随时增加,所以实际上有时这种策略并不好。另外有时这将导致电梯突然向相反的方向运行。为了防止经常性的改变方向,我们可以采用设定只有当原来的运行方向比相反方向的代价高20%的时候才切换方向。 4)最短平均等待时间策略: 假设每一呼叫楼层等待的人数和每一目标楼层走出电梯的人数相等。计算响应当前所有呼叫和目标全部乘客所需时间的总和(包括等待时间和电梯运行时间,对于提出呼叫而尚未进入电梯的乘客则只计算等待时间)。对于这种策略,基本上也是只有象3一样的两种选择方案。由于呼叫和目标会随时增加,所以实际上这种策略有时并不好,但它比最快响应时间策略较为稳定和高效。另外有时这将导致电梯突然向相反的方向运行。为了防止经常性的改变方向,我们可以采用设定只有当原来的方向比替代方向的代价高20%的时候才切换运行方向。 注意:除了先来先服务以外,我们不能预先设定固定不变电梯运行的目标楼层。 5)同学们也可以自己提出新的控制策略。 要求重点要实现顺便服务策略,应在一相对独立的程序块中实现控制策略,这样能方便地对其进行修改而不影响程序的其他部分。 (四)输入输出 1)输入: 就是一系列的呼叫和目标。输入可以采用两种方法: a.以键盘输入呼叫和目标。例如我们可以设定如下:当敲击键1、2、3、4、5、6、7、8、9时表示电梯内有乘客按目标按钮,指定相应目标楼层。当敲击键Q、W、E、R、T、Y、U、I时表示8层到1层有上行呼叫请求。当敲击键A、S、D、F、G、、H、J、K时表示9层到2层有下行呼叫请求。 b.将呼叫和目标写入一个正文文件,然后程序读取这些呼叫和目标数据后可以在没有人工干预的情况下模拟电梯运行情况。其中一个呼叫/目标占一行,格式如下: &lt;操作时间&gt;[空格]&lt;呼叫目标&gt;[回车] 操作时间,表示呼叫请求的发生时间,是以程序启动时刻为参照的相对时间。以四位的数字字符串表示,从0000开始,单位秒。 呼叫目标,和键盘输入的设定一致,占1个字节。 1、2、3、4、5、6、7、8、9时表示电梯内有乘客按目标按钮; Q、W、E、R、T、Y、U、I时表示8层到1层有上行呼叫请求; A、S、D、F、G、H、J、K时表示9层到2层有下行呼叫请求; 每个数据项之间用一个空白字符隔开。不必考虑检查数据的正确性。 2)输出: a.电梯运行的动画显示:包括显示各按钮指示灯的亮灭情况、电梯方向指示灯和电梯位置及运行情况。另:为方便查看电梯运行情况,需要在显示中划分一块区域,专门显示键盘输入的呼叫和目标数据。 b.电梯运行情况的记录(结果)文件。 记录文件也是文本文件,每一行表示一次停靠,包括以下内容: 停靠时间:开始停靠某楼层的时间,以整数表示,从小到大排列,占4个字节,从0开始,单位秒。 楼层:停靠的楼层,占一个字节(1-9)。 每个数据项之间用一个空白字符隔开。程序中不必考虑检查数据的正确性。 备注:老师会提供一组已经编制好的子程序以及一些给出的数据定义,它们的主要功能是表示电梯系统参数,模拟电梯运行以及处理各类信号的输入输出。要注意利用它们提供的一些控制显示和键盘输入的函数和过程来简化输入和输出(包括动画)的设计。当然也可以利用编程语言提供的函数和过程来完成输入和输出。 (五)基本的要求和较高的要求 以下内容仅供有余力的同学参考实现。 1.程序的运行方式: 如果输入从数据文件中取得,则程序的运行应该有两种方式,动画方式、快速方式和完全方式。如果输入从键盘获得,那么只能采用动画方式或完全方式,不能使用快速方式。 a.动画方式花费较长的时间来直观地模拟电梯运行。 b.快速方式则没有动画,只是生成记录文件。 c.完全方式花费较长的时间来直观地模拟电梯运行,同时生成记录文件。 基本要求只实现动画方式。 2.控制策略: 基本要求实现先来先服务和顺便服务策略,可以指定电梯模拟系统使用不同的策略。较高的要求是可以在多个策略之间由我们控制进行切换。 3.输入输出: 基本要求实现键盘输入、动画输出。 4.统计分析 统计分析每个乘客乘电梯花费的平均时间。 如果实现了多个策略,则可以对不同策略加以比较。 统计分析是较高要求,基本要求不必考虑此功能。 5. 程序的适应性考虑: 例如如何不要作很多修改就可以适应楼层数改变(例如增加到30层)等等。 程序适应性是较高要求,基本要求不必考虑此功能。 (六)程序总体结构 以下内容仅供参考。 我们可以在主程序中写如下两个过程调用: Configure; Simulation; 前者在进行模拟前设置一些参数,这比较简单。而后者则是进行仿真模拟,这相当复杂,所以下面我们就来讨论如何设计Simulation。 这一类的模拟仿真程序有一个共同的特点是要模拟某个系统在一段时间内的情况,所以我们很自然地要从时间上对该问题进行分解,就是说 Simulation() { Initialize;{初始化过程} do Lift_status();{计算电梯状态在这一时刻的变化,例如到达某层,就要设定为已经完成了该层的目标,同时将电梯停下来等} Writemessage();{输出信息(包括动画)} Getinput();{接收当前时刻的新输入(包括新目标和新呼叫) Control();{调用控制策略程序决定电梯该如何运动} Time=time+1;{推进仿真时间,假定每一秒电梯进行上述操作一次} While not endcondition; } 这就是可以模拟电梯系统的基本结构了!这个程序结构的基本思想就是模拟了电梯每个时刻做的几件事情,然后将时间向后推移一个时间单位,然后再做那几件事,于是就模拟了电梯的工作状态。

立即下载
电梯调度C语言实现

北邮电梯调度策略实现,使用C语言实现开发,图形化界面采用useegg实现,简单的上下行策略调度。

立即下载
默纳克电梯控制系统解密软件--测试OK版

默纳克电梯控制系统解密软件--测试OK版

立即下载
java实现的电梯模拟系统

用java实现的电梯模拟系统,课程设计可以用,课设环境eclipse,导入工程即可运行

立即下载
西继电梯蓝光系统

西继迅达电梯采用蓝光系统3000板的调试资料

立即下载
UML 电梯系统建模

本文档介绍的是基于UML电梯系统的建模,可以参考!

立即下载
stc89c52封装图

电子封装图stc89c52的具体操作 和他的一个封装图 便于学习

立即下载
操作系统项目_电梯调度

基本任务 某一层楼20层,有五部互联的电梯。基于线程思想,编写一个电梯调度程序。 功能描述 电梯应有一些按键,如:数字键、关门键、开门键、上行键、下行键、报警键等; 有数码显示器指示当前电梯状态; 每层楼、每部电梯门口,有上行、下行按钮、数码显示。 五部电梯相互联结,即当一个电梯按钮按下去时,其它电梯相应按钮同时点亮,表示也按下去了。

立即下载
电梯卡破解辅助计算器

电梯卡数据辅助计算工具,可以辅助计算16进制的数据和10进制转换

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

STC89C52电梯系统

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: