单片机_电梯模拟

上传人:豆浆 文档编号:3904935 上传时间:2017-08-05 格式:PPT 页数:19 大小:653KB
返回 下载 相关 举报
单片机_电梯模拟_第1页
第1页 / 共19页
单片机_电梯模拟_第2页
第2页 / 共19页
单片机_电梯模拟_第3页
第3页 / 共19页
单片机_电梯模拟_第4页
第4页 / 共19页
单片机_电梯模拟_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机_电梯模拟》由会员分享,可在线阅读,更多相关《单片机_电梯模拟(19页珍藏版)》请在金锄头文库上搜索。

1、1,二 模拟电梯设计,基本要求: 用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键18用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按扭用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。要求“电梯”能按以下方式运行:(1) 设当前电梯停在某层(八段码显示相应楼层,8个LED全灭)。键入18数字键,如键入的数字与当前电梯停层同,则不发生任何动作;若不同则相应楼层的LED亮。如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED灭);,2,(2)设当前电梯正在上升或下

2、降运行(此时八段码显示楼层变化,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其他情况则先停原希望停的楼层,然后按运行键后继续进行)。如下几例:a)设电梯当前在2层,向上运行,LED指示希望在6层停,此时若键入4,则电梯将在4层停;若再按运行键,则继续运行至6层停。b)同上情况,若键入的不是4而是8,则电梯将先停在6层;再按运行键,运行至8层停。c)同上情况,若键入的不是4(或8),而是1,则电梯先停在6层;再按运行键,运行至1层停。,3,3)进一步设计要求除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如:直达按钮

3、若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到楼层)亦不停,直达终点楼层。急停按钮 电梯运行中,若按此按钮,则电梯立即停在将要到达的楼层。断电待修按钮 按下该钮电梯不能工作,再按一下才能重新工作。其他功能按钮(由设计者自由发挥)。,4,电梯状态的介绍1) 当电梯主体由低楼层向高楼层运动时,称为上升状态。2) 当电梯主体由高楼层向低楼层运动时,称为下降状态。3) 当电梯主体到达了某个乘客所希望到达的楼层(以下简称目标楼层)后,在系统中仍然有使用它的请求存在,称为暂停状态。4) 当电梯主体到达目标楼层后,在系统再也没有使用它的请求存在,称为停止状态。5) 当乘客进入

4、电梯主体后,使用梯内控制器向系统发送到达其它楼层的请求时,称为楼层请求发送状态。6) 当电梯正在运行时,产生了停电条件,此时称为停电状态。,5,当电梯主体在进行状态转换时,将遵守以下的运行规则:1) 上升状态能变为暂停状态,转变条件为电梯主体到达了目标楼层。2) 上升状态能变为停电状态,转变条件为电梯上升时遇到了停电条件。3) 下降状态能变为暂停状态,转变条件为电梯主体到达了目标楼层。4) 下降状态能变为停电状态,转变条件为电梯下降时遇到了停电条件。5) 暂停状态能变为上升状态,转变条件为以下两个条件中的任意一个成立。,6,键盘的管理策略的探讨及选择方案一: 实验装置上有一个2*8的键盘,它的

5、2根行线接在8255A并行I/O接口的PB0和PB1上,8根列线接在PA0PA7上,使用行扫描法管理该键盘的子程序。方案二: 采用实验装置上的8279来使用“中断方式”来管理键盘。 由于该实验装置上IRQ8279并未引出,且查询方式可以满足设计需求。所以选择方案一来管理键盘。,7,3.1系统设计的主要难点该系统模拟真实电梯的运行,有生活经验可知电梯有楼层数字显示,内部面板按钮用以楼层请求且按下后相应的键亮(此处用LED模拟),上升下降显示(该系统不模拟电梯外部等待按键请求),所需控制的东西较多,实现起来逻辑需分析清晰。在基本要求及实现的功能中可知在电梯运行过程中有键按下后如何判断先满足哪个请求

6、,8,系统的硬件设计思路该实验在ADEK5196实验箱上实现电路设计。采用8255控制键盘查询,8279控制的8段数码管(HL6,HL7)显示来表示当前电梯所在层,LED控制楼层亮灯情况,串行口扩展并行输出接口的8段数码管(HL5)显示电梯运行状态“U”或“P”,9,实验连线任务为:LED控制部分:DL1DL8接74LS273的PO0PO7,其设备选择端“CS”接编号为8100H的译码器输出。8255控制键盘查询部分:实验装置上有一个2*8的键盘,它的2根行线接在8255A并行I/O接口的PB0和PB1上,8根列线接在PA0PA7上,“CS”接编号为8700H的译码器输出.该部分只需将十个跳帽

7、都跳至8255处即可。采用8279控制数码管显示:实验装置上该部分已连好所以无需连线。串行口扩展并行输出接口部分:将74LS164移位寄存器的INDATA连到8031的RXD,CLK连到TXD。具体电路可参照单片机实验书。,10,系统的软件的设计思路一 软件算法 软件的设计是该设计的关键部分之一,对电梯模拟的显示控制不仅多而且复杂,尤其是对于在运行过程中有键按下的处理要用到多重判断,同时还要考虑键盘的响应问题,这些都是该系统设计着重解决的问题。下面先给出主程序流程图,从总体上说明该程序的实现,再从各个模块上进行分析。,11,12,二判断子程序:当前电梯正在上升或下降运行(此时八段码显示楼层变化

8、,LED指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED亮),则对同方向(上升或下降)未到的楼层能停,对其他情况则先停原希望停的楼层,然后按运行键后继续进行。以下解释所用单元的含义:FLAG:上升下降标志。FLAG=1上升,FLAG=0下降。NOW:电梯当前值FIR:第一次按键值(即第一次按下希望到的楼层)SEC:第二次按键值(即第二次按下希望到的楼层)其软件流程图如下所示:,13,14,下面对各个模块的程序进行简要的分析:上电复位后即进入主程序, 主程序对8279 、8255及相应单元初始化,8断数码管显示“1F”表示1层,系统等待键盘响应。下面给出8279初始化的程序片段:M

9、OV DPTR,#COM8279 ;8279端口地址 MOV A,#0D3HLOOP0:MOVX A,DPTR JB ACC.7,LOOP0 ;8279总清零 MOV A,#34H ;CLK20分频 MOVX DPTR,A MOV A,#10H ;8字符显示,右进,编码扫描,2键锁定 MOVX DPTR,A ;8279初始化完成,15,三、 显示程序的算法a)采用8279来控制8段数码管的显示,用以模拟电梯楼层的显示。8279采用8字符右进方式来显示当前楼层值。从左到右依次将其记为LED7-LED0。该实验LED0固定显示“F”,LED1显示当前楼层值,LED2-LED7灭灯。下面给出一程序片

10、段:DISPLAY: MOV A,#71HMOV DPTR,#DATA8279 MOVX DPTR,A ;LED0显示“F”MOV R1,#06H MOV DPTR,#SEGDAT1 ;取表格地址 MOV A,20H ;取当前电梯值 MOVC A,A+DPTR MOV DPTR,#DATA8279 ; LED1显示当前楼层值 MOVX DPTR,A MOV A,#00HDISPLAY1:MOVX DPTR,A DJNZ R1,DISPLAY1 ;LED7-LED2灭 RET ;七段数码管的显示,16,b)采用串行口0方式来显示八段数码管的“U”或“D”,来模拟电梯的升降状态程序片段如下:DIS

11、: MOV A,22H ;存的“U”或“D”的值 MOV SCON,#00H MOV SBUF,A JNB TI,$ CLR TI ;数据送显示 RETc)LED的控制只需送数据LED即可,但键盘扫描的值为16进制,需转化成01H,02H,04H,08H,10H,20H,40H,80H来模拟1-8层的亮灯情况。这可采用查表来实现。,17,四、 键盘扫描子程序所谓按查询方式工作的子程序,就是当引用该子程序的时候若用户按下了键盘上的按键就会获得一个“有效键值”,否则将获得一个“无效键值”,对于M行N列的键盘来说,可认为的规定有效键值的取值范围为0M*N-1,无效键值的数值为M*N。此处给出该实验用

12、到的键值及定义:1-8:对应的电梯楼层键。按下表示该楼层有请求0:运行键。电梯按下需要到达的楼层显示对应的LED,需按下此键才能运行到相应的楼层。9-F:可做为扩展功能的实现程序可参考单片机实验书的键盘管理,18,五、 定时器1延时2S子程序定时器1采用模式1,每个100MS的中断一次,中断20次为2S。在子程序中2S到后电梯上升或下降1层,调显示子程序显示当前电梯值。中断子程序片段如下:TOSEV1: MOV TL1,#0B0H MOV TH1,#3CH ;重装计数初值 DJNZ R2,LOOP MOV R2,#0A0H ;重置循环次数 MOV A,21H CJNE A,20H,JUDGE ;电梯是否到达所请求层数 LJMP LOOP,19,JUDGE:JC JUDGE1 SETB FLAG ;FLAG=1为上升 INC 20H ;2S到电梯值加一 LCALL XIANSHI MOV 22H,#0C7H ;数码管HL5显示“U” LCALL DIS SJMP LOOP JUDGE1:CLR FLAG ;FLAG=0为下降 DEC 20H ;2S到电梯值减一 LCALL XIANSHI MOV 22H,#85H ;数码管HL5显示“d” LCALL DISLOOP: RETI,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号