电梯仿真程序

电梯仿真程序
电梯仿真程序

二○一一~二○一二学年第一学期

信息科学与工程学院

自动化系

课程设计报告书

姓名:

学号:

班级:

课程名称:微机原理与应用课程设计指导教师:

2011年12月19日

电梯仿真程序

1、设计要求

(1). 在 1-- 8楼之间一次可输入多个任意楼层号连续控制电梯按指定楼层号顺序上升与下降.以上过程完成后可重新输入任意楼层号连续控制电梯按指定楼层号顺序上升与下降.只有按ESC键才退出程序返回DOS状态。例如 : 1-3-5-8-6-4-2-1 (可观察教六楼电梯的实际运行情况)。

(2). 在 1 -- 8 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. (上箭头的ASCII码19H , 下箭头的ASCII码1AH 。 )

(3). 在电梯上升与下降过程中,要显示出 1--8 楼之间所要到达的楼层数,同时还要用箭头显示电梯是上升状态还是下降状态。

(4). 电梯运行到指定楼层后,打开电梯门,然后关门继续运行。

(5). 电梯运行时, 在任意时刻遇到紧急情况时应能实时中断电梯运行。也可以在任意时刻恢复电梯运行。(按A/a 键模拟中断发生,电梯停止运行。按B/b 键恢复电梯运行)

(6). 在计算机屏幕上将电梯的平面模型改成三维立体模型。

(7). 在电梯旁画一个小方块.这个小方块随电梯上升而上升,下降而下降。以增加电梯运行时的动感。

(8). 电梯仿真软件运行时,应在计算机屏幕上详细说明其使用方法,以及本软件作者姓名和日期。

2、实验装置

IBM-PC

3、使用方法及功能介绍

①在提示“input the floor(1-8F)(such as 1-3-4-1):”后面输入用户要去的楼层,可从任意楼层开始运行,指定楼层号顺序上升与下降,数字与数字之间用“-”连接,数字范围为1-8。

在一轮运行完以后程序会清空楼层提示后面的数字,用户可再输入要去的楼层,若用户希望停止运行该程序,可以在下一轮开始时在楼层提示后面输入0或非数字键,可返回到DOS

②在 1 -- 8 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼.

③电梯上升与下降过程中,在电梯三维模型的正上方的蓝色矩形框内,提示“now the floor is:”后面显示出当前所要在的楼层数,提示“TO:”后面显示1--8 楼之间所要到达的楼层数,提示“direction:”后面显示上下箭头,代表电梯当前是上升状态还是下降状态。

④在电梯旁有一个小方块。这个小方块随电梯上升而上升,下降而下降。增加电梯运行时的动感.。小方块在一个8层的方框内上下移动,电梯每上升一层,小方块在方框内上升一层,

电梯每下降一层,小方块在方框内下降一层。并且小方块在方框内的位置与电梯当前所在楼层时对应的,例如:若当前电梯运行到第3层,则小方块也位于第三层方框。为了使用户能更清晰地看到电梯的运行过程,小方块每到一层会停留1S的时间。电梯运行到指定楼层后,打开电梯门,然后关门继续运行,为了模拟真实的效果,电梯在指定楼层停下,大门依次闭合-半开门-全开门-半开门-闭合。

⑤在 1 -- 8 楼之间按任意顺序不连续控制电梯上升与下降。按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼。由于所使用的计算机的某些原因,这里输入“w”上升一楼,输入“s”下降一楼。电梯的不连续控制只在电梯停在某一层且关上的门之后。提示是“up or down a floor only vailable when elevator stop(use w or s )”,当用户可以对电梯进行不连续控制时,会出现“~now vailable”的提示。

⑥电梯仿真软件运行时,在计算机屏幕上显示本软件作者姓名“author: Wang Hui Ting”和日期“data: 2011-12-16”。

4、程序的设计思路

在主程序的最前面是宏,将具有特定功能的画图代码打包成一个个宏放在住程序的最前面。有清屏的宏,移光标的宏,写横的宏,写竖的宏,画小方块上升的宏,画小方块下降的宏,画初始小方块的宏,画电梯关门状态的宏,画电梯半开门状态的宏,画电梯全开门状态的宏。由于这段画图的代码在程序中会经常使用,所将他们编成宏使用起来更方便。除了主程序外还有一个延时1S的子程序。

开始主程序的运行后,先运行一段初始化程序,然后设置图形显示方式,再显示提示信息以及有关信息,然后再画电梯的三维模型,这样整个初始界面就完成了。然后再提示信息下,用户输入要去的楼层,判断该字符串的第一个字符的ASCII码是否在1-8范围,如果不是则结束并返回DOS界面,如果是则继续进行下一步程序。将第1个数字代表的楼层设为当前站X(n),并赋给COUNT(该变量用来记录当前层)。将下个数字代表的层数设为下一站(如果当前站为最后一站,则重新回到开头提示用户输入信息),将COUNT与下一站X(n+1)相比较,若COUNT 大于下一站,则小方块下降一层,COUNT--,并显示当前层和目标层以及下箭头,一直循环直到相等;若COUNT小于下一站,则小方块上升一层,COUNT++,并显示当前层和目标层以及下箭头,一直循环直到相等;相等时,则电梯大门大门依次闭合-半开门-全开门-半开门-闭合。大门关上后,调用MOV AH,1 ; INT 16H检测是否有按键按下,若没有键盘按下,则X(n)=X(n+1),读取下一个字符,将该字符所代表的楼层赋给X(n+1),并回到前面检测X(n)是否为最后目标层的程序段。若有键盘按下,则判断AL的值(该值为输入的字符的ASCII码),若AL为‘w’则小方块上升一层,COUNT++;若AL为‘s’则小方块下降一层,COUNT--;两者最后都回到“X(n)=X(n+1),读取下一个字符,将该字符所代表的楼层赋给

X(n+1)”这一步,若AL即不为‘w’也不为‘s’,则直接回到该步骤。

以上是整个程序的大致流程和思路。

5、程序的流程图

6、程序清单

;-----------------------------------------------------------

CLSS MACRO ; 清屏之宏

MOV BH,7 ; 卷入行属性,黑底白字,正常显示.

MOV AX,0600H ; AH=6 屏幕初始化或上卷.AL=0 整个窗口空白.

INT 10H ; CH=左上角行号,CL=左下角列号.

ENDM ; DH=右上角行号,DL=右下角列号.

;-----------------------------------------------------------

GB MACRO ; 移光标之宏

MOV BH,00H ; BH=页号DH,DL=行号,列号.

MOV AH,02H ; AH=2 置光标位置.

INT 10H

ENDM

;------------------------------------------------

HENG MACRO X1,Y1,COLOR,X2 ; 写横的宏

LOCAL BH1 ; 定义标号

MOV CX,X1 ; 起始点横作标-->CX

MOV DX,Y1 ; 起始点纵作标-->DX

BH1: MOV AH,0CH ; 写象素

MOV AL,COLOR ; 设定颜色参数-->AL

INT 10H

INC CX

CMP CX,X2 ; 写至终点横作标为止

JNZ BH1

ENDM

;------------------------------------------------

SHU MACRO CX1,CY1,COLOR,CY2 ; 写竖的宏

LOCAL BH2 ; 定义标号

MOV CX,CX1

MOV DX,CY1

BH2: MOV AH,0CH

MOV AL,COLOR ; AL=(00--0FH)共16种颜色.

INT 10H

INC DX

CMP DX,CY2

JNZ BH2

ENDM

;--------------------------------------

UP MACRO N,DX1 ;小方块上升的宏

LOCAL UPa,UPb ; 定义标号

MOV AL,N ;小方块从N-1层上升至N层

MOV CH,30 ;小方块上升一层,并且将下一层的小方块清除

MUL CH

MOV DX,430

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

UPa: HENG 170,[DZ],05H,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ UPa

ADD DX,11

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

UPb: HENG 170,[DZ],00H,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ UPb

ENDM

;---------------------------------------------

DOWN MACRO N,DX1 ;小方块下降的宏

LOCAL DNa,DNb ; 定义标号

MOV AL,N ;小方块从N+1层下降至N层

MOV CH,30 ;小方块下降一层,并且将上一层的小方块清除

MUL CH

MOV DX,430

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

DNa: HENG 170,[DZ],05H,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ DNa

SUB DX,49

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

DNb: HENG 170,[DZ],00H,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ DNb

ENDM

;---------------------------------------------

INIT MACRO N,DX1 ;画初始小方块的宏

LOCAL BEG ; 定义标号

MOV AL,N ;小方块最初停在第N层,表示电梯最初停在第N 层

MOV CH,30

MUL CH

MOV DX,430

SUB DX,AX

MOV [DZ],DX

ADD DX,20

MOV DX1,DX

BEG: HENG 170,[DZ],05H,190 ;画小方块

INC [DZ]

MOV AX,DX1

CMP [DZ],AX

JNZ BEG

ENDM

;-------------------------------------------

CLOSE MACRO ;画电梯关门状态的宏

LOCAL CC ; 定义标号

MOV [DZ],220

CC: HENG 210,[DZ],09H,370 ;电梯关门

INC [DZ]

CMP [DZ],420

JNZ CC

SHU 291,220,02H,420 ;电梯大门缝隙

SHU 290,220,02H,420

SHU 289,220,02H,420

ENDM

;---------------------------------------------

HALF MACRO ;画电梯半开门状态的宏

LOCAL HA ; 定义标号

MOV [DZ],221

HA: HENG 210,[DZ],09H,250 ;电梯半开门

HENG 252,[DZ],07H,328

HENG 330,[DZ],09H,370

INC [DZ]

CMP [DZ],420

JNZ HA

SHU 251,220,02H,420 ;电梯大门缝隙

SHU 329,220,02H,420

ENDM

;---------------------------------------------

FULL MACRO ;画电梯全开门状态的宏

LOCAL F ; 定义标号

MOV [DZ],221

F: HENG 210,[DZ],09H,215 ;电梯全开门

HENG 217,[DZ],07H,363

HENG 365,[DZ],09H,370

INC [DZ]

CMP [DZ],420

JNZ F

SHU 216,220,02H,420 ;电梯大门缝隙

SHU 364,220,02H,420

ENDM

;---------------------------------------------

DATA SEGMENT

MESS DB ' elevator model ' ,0AH,0DH,'$'

ME1 DB ' press any key to return DOS.',0AH,0DH,'$' ;当使用者进行非正常操作时,提示使用者手动返回DOS

ME2 DB ' now the floor is:',0AH,0DH,'$' ;提示当前楼层

ME3 DB ' direction: ',0AH,0DH,'$'

ME4 DB 'input the floor(1-8F)(such as 1-3-4-1): $' ME5 DB 'author: Wang Hui Ting',0AH,0DH,'$' ; 输出多个空格键是为了清空上一次的输入

ME6 DB 'data: 2011-12-16',0AH,0DH,'$'

ME7 DB 'TO:',0AH,0DH,'$' ;提示电梯下一站要停的楼层

ME8 DB 'up or down a floor,',0AH,0DH,'$' ;提示使用者用上、下键不连续控制电梯

ME9 DB 'only vailable when elevator',0AH,0DH,'$' ME10 DB 'stop(use w or s )',0AH,0DH,'$'

ME11 DB '~now vailable',0AH,0DH,'$'

ME12 DB ' ',0AH,0DH,'$'

IBUFF DB 0FFH,0,255 DUP(0)

DIDAS EQU 18

DZ DW 0

TIMES DW 0,0

NUM DB 0

NUM1 DB 0

COUNT DB 0

COUNT1 DB 0

DX1 DW 3

DX2 DW 6

DATA ENDS

;---------------------------------------

STAC SEGMENT

STA DW 100 DUP(0) ; 堆栈段

TOP DW ?

STAC ENDS

;---------------------------------------

CODE SEGMENT

ASSUME CS:CODE,DS:DATA;ES:DATA,SS:DATA

;---------------------------------------

DELAY1S PROC NEAR ;延时1S的子函数

PUSH DX ;压栈

PUSH CX

XOR AX,AX

INT 1AH

MOV TIMES,DX

MOV TIMES[2],CX

read_time:XOR AX,AX

INT 1AH

SUB DX,TIMES

SBB CX,TIMES[2]

CMP DX,DIDAS

JB read_time

POP CX ;出栈

POP DX

RET

DELAY1S ENDP

;---------------------------------------

START PROC FAR

MOV AX,DATA ; 主程序

MOV DS,AX

MOV AX,STAC

MOV SS,AX

MOV AX,DATA

MOV ES,AX

PUSH AX

PUSH BX

PUSH CX

PUSH DX

PUSH SI

PUSH DI

MOV CX,0

MOV DX,2479H

MOV BH,7

MOV AX,0601H

INT 10H

MOV AX,0012H ; 置图形显示方式

INT 10H ; 640列*480行,16色.

MOV DX,0421H ;显示MESS

GB

MOV DX,OFFSET MESS

MOV AH,9

INT 21H

MOV DX,0432H ;显示ME5

GB

MOV DX,OFFSET ME5

MOV AH,9

INT 21H

MOV DX,0532H ;显示ME6

GB

MOV DX,OFFSET ME6

MOV AH,9

INT 21H

MOV DX,0

GB

MOV [DZ],100

SB: HENG 220,[DZ],03,420 ;显示栏

INC [DZ]

CMP [DZ],150

JNZ SB

HENG 220,99,0AH,420 ;显示栏边框

HENG 220,151,0AH,420

SHU 220,99,0AH,151

SHU 420,99,0AH,151

CLOSE ;电梯大门处于关闭状态

HENG 210,220,02H,370 ;电梯大门缝隙边框

HENG 210,420,02H,370

SHU 210,220,02H,420

SHU 370,220,02H,420

HENG 209,219,02H,371 ;加粗边框

SHU 209,220,02H,420

SHU 371,220,02H,420

MOV [DZ],219

MOV DX1,210

MOV DX2,370

SB1: HENG DX1,[DZ],03H,DX2 ;三维电梯上侧面DEC [DZ]

INC DX1

INC DX2

CMP [DZ],180

JNZ SB1

MOV [DZ],371

MOV DX1,220

MOV DX2,420

SB2: SHU [DZ],DX1,03H,DX2 ;三维电梯右侧面INC [DZ]

DEC DX1

DEC DX2

CMP [DZ],410

JNZ SB2

MOV [DZ],420

SB3: HENG 70,[DZ],02H,480;画地平线

INC [DZ]

CMP [DZ],425

JNZ SB3

MOV [DZ],421

SB4: HENG 160,[DZ],04H,200 ;小方块运行在框架内SUB [DZ],30

CMP [DZ],151

JNZ SB4

SHU 160,180,04H,420

SHU 200,180,04H,420

MOV DX,071DH

GB

MOV DX,OFFSET ME2 ;显示ME2

MOV AH,9

INT 21H

MOV DX,081DH

GB

MOV DX,OFFSET ME3 ;显示ME3

MOV AH,9

INT 21H

MOV DX,082DH

GB

MOV DX,OFFSET ME7 ;显示ME7

MOV AH,9

INT 21H

SA1s: MOV DX,0202H ;显示ME4

GB

MOV DX,OFFSET ME4

MOV AH,9

INT 21H

MOV DX,0229H

GB

MOV DX,OFFSET IBUFF ;输入并显示字符串

MOV AH,10

INT 21H

MOV DX,0402H ;提示使用者用上、下键不连续控制电梯

GB

MOV DX,OFFSET ME8 ;显示ME8

MOV AH,9

INT 21H

MOV DX,0502H

GB

MOV DX,OFFSET ME9 ;显示ME9

MOV AH,9

INT 21H

MOV DX,0602H

GB

MOV DX,OFFSET ME10 ;显示ME10

MOV AH,9

INT 21H

SA1: MOV AL,IBUFF+1

MOV COUNT,AL ;记录输入的字符个数

MOV BP,2

MOV AL,IBUFF[BP]

CMP AL,30H ;将首字符与1BH(ESC ASCII码)比较,若相等则返回DOS,这里由于汇编软件的原因改为与0的ASCII码比较

JZ WA1

CMP AL,30H ;避免当使用者出入其它键是程序进入死循环

JB W A0

CMP AL,38H

JA W A0

AND AL,0FH

MOV NUM,AL

INIT NUM,DX1

MOV DX,072FH

GB

MOV DL,NUM ;显示电梯第一站楼层数

OR DL,30H ;将数字转换为字符

MOV AH,2

INT 21H

CALL DELAY1S

SA1a: ADD BP,2

MOV AL,IBUFF[BP]

AND AL,0FH ;将字符转换为数字

MOV NUM1,AL

MOV DX,0830H

GB

MOV DL,IBUFF[BP] ;显示电梯下一站要停的楼层数

MOV AH,2

INT 21H

CALL DELAY1S

SA1b: MOV AL,NUM1 ;下一站要去的楼层和当前所在楼层相比较CMP AL,NUM ;若下一站楼层大于当前楼层,则小方块上升

JA SA1c ;若下一站楼层小于当前楼层,则小方块下降

MOV AL,NUM1 ;若下一站楼层等于当前楼层,则小方块不动

CMP AL,NUM ;这里有2次比较

JZ SA1d ;到达所在楼层后停止运动

DEC NUM

DOWN NUM,DX1 ;电梯下降

MOV DX,0829H

GB

MOV DL,19H ;显示下箭头

MOV AH,2

INT 21H

MOV DX,072FH

GB

MOV DL,NUM ;显示当前楼层数

OR DL,30H ;将数字转换为字符

MOV AH,2

INT 21H

CALL DELAY1S ;小方块在每一层停止1S可让人更直观地看清电梯的运行状况

JMP SA1b

SA1c: INC NUM

UP NUM,DX1 ;电梯上升

MOV DX,0829H

GB

MOV DL,18H ;显示上箭头

MOV AH,2

INT 21H

MOV DX,072FH

GB

MOV DL,NUM ;显示当前楼层数

OR DL,30H ;将数字转换为字符

MOV AH,2

INT 21H

CALL DELAY1S

JMP SA1b

SA1d: HALF ;电梯在指定楼层停下,大门依次从闭合-半开门-全开门-半开门-全开门

CALL DELAY1S

FULL

CALL DELAY1S

HALF

CALL DELAY1S

CLOSE

CALL DELAY1S

MOV DX,0702H

GB

MOV DX,OFFSET ME11 ;显示ME11,表明现在可以进行不连续控制

MOV AH,9

INT 21H

XOR AX,AX

INT 1AH

MOV TIMES,DX

MOV TIMES[2],CX

read_time1:

CLC

MOV AH,1 ;输入上、下键

INT 16H

JNZ get

XOR AX,AX

INT 1AH

SUB DX,TIMES

SBB CX,TIMES[2]

CMP DX,DIDAS

JB read_time1

JMP show1

get: CMP AL,'w'

JZ ups1

CMP AL,'s'

JZ downs1

JMP SA1e

ups1: INC NUM

UP NUM,DX1 ;电梯上升一层

JMP show

downs1: DEC NUM

DOWN NUM,DX1 ;电梯下降

show: MOV DX,072FH

GB

MOV DL,NUM ;显示当前楼层数

OR DL,30H ;将数字转换为字符

MOV AH,2

INT 21H

MOV AH,0CH

INT 21H ;清空键盘缓冲区

show1: MOV DX,0702H

GB

MOV DX,OFFSET ME12 ;显示ME12,表明现在不可以进行不连续控制

MOV AH,9

INT 21H

SA1e: MOV AL,COUNT;电梯向下一站运行

CBW

CMP BP,AX

JB SA1a

JMP SA1s ;电梯重新进行新的一轮的运行

WA0: MOV DX,1834H ;显示ME1 GB

MOV DX,OFFSET ME1

MOV AH,9

INT 21H

MOV DL,0FFH

MOV AH,6

INT 21H

JZ WA0

MOV CX,0

MOV DX,2479H

CLSS

WA1: MOV AX,4C00H

INT 21H ; 返回DOS.

MOV AH,02H

INT 10H ; 恢复文本显示方式.

POP DI

POP SI

POP DX

POP CX

POP BX

POP AX

RET

START ENDP

;---------------------------------------

CODE ENDS

END START

7、运行结果及界面

图1 初始界面

图2 电梯半开门状态下的界面

图2 电梯全开门状态下的界面

8、设计小结

在这之前,对汇编程序设计是有点恐惧的,毕竟汇编语言不像C语言或C++那样可读性强,而且调试起来困难很大,需要注意的细节很多,单单赋值指令很多时候会出错,因为使用时要严格按照汇编的格式来。汇编全部都是指令操作,很多时候要编一大段代码来实现一个小功能,这些在高级语言中仅用一两句就可以解决了。所以用汇编来模拟电梯对我来说是一个不小的挑战。

由于这次的微机课程设计综合了很多知识点,不仅不这学期所学到的知识联系在一起,还用到了很多课内所没后的知识点,甚至书本上也没有,只能上网去搜索,比如INT 21H ; MOV DX,0702H,这句指令是用来清空键盘缓冲区的,以及MOV AH,1 ; INT 16H,这句指令是用来检测键盘的。刚开始时,我把所有的代码放在主程序里面,但是越到后面代码越多,感觉代码写得很乱,于是就把一些具有特定功能的代码打包成一个个宏放到主程序之前。后来为了是电梯运行时有较好的观察效果,又加了一个延时一秒的子程序。

总得来说编这个模拟电梯确实花了我很多功夫,尤其是调试程序的过程。但

模拟电梯系统试题

《电子产品装配与调试》试题 题目:模拟电梯系统 完成时间:4小时 工位号: 日期:______________________________

第一部分电路说明部分 一、电路功能概述 模拟电梯系统总共分为三个模块,中枢控制,显示模块,电机模块,键盘输入,电梯门安全检测模块。 中枢控制为STC89C52RC单片机,完成电梯的逻辑判断,按键读取,显示功能。显示模块由两位数码管和LED指示灯组成。 数码管DS1显示当前电梯状态,有停止,上行,下行三种状态,分别如下图所示: 数码管DS2显示当前楼层。 “当前楼层”标志下的一列LED(LED2,LED5……LED23)指示当前电梯所处的楼层,例如电梯在2楼,则LED20点亮,在5楼,则LED11点亮。 “电梯按钮”标志下的一列LED(LED1,LED4……LED22)指示电梯内部按钮状态,例如电梯内部有人需要到5楼,则LED10点亮,有人需要到8楼,则LED1点亮。 “楼层按钮”标志下的一列LED(LED25,LED27……LED33)指示电梯外部按钮状态,也就是每层楼的呼叫按钮指示,例如1楼有人需要乘电梯,则LED33点亮,5楼有人需要乘电梯,则LED29点亮。 贴片LED(LED3,LED6……LED24)为电梯门指示,关门时,LED从两旁向中间依次点亮,开门时,LED从中间向两旁依次熄灭。

“电梯按钮”标志下的按钮K(K1,K2……K8)为电梯内部的按钮,例如电梯内部有人想上5楼,则需要按下K4(从下往上的第5个按键),上8楼,则需要按下K1。 “楼层按钮”标志下的按钮K(K9,K10……K16)为每层楼的呼叫按钮,例如5楼有人想乘电梯,则按下K12。 电机模块有两个电机,一个是拖动电机,一个是门控电机,拖动电机正反转代表电梯上下行,门控电机正反转代表开关门。 电梯门安全检测模块采用红外线对管,检测电梯门关闭时是否有人或物体在门中央,若检测到,电梯门会打开,防止发生危险。

基于FPGA的电梯控制系统的仿真图(附程序)

系统主体模块的设计与仿真 本设计是以9层的电梯控制系统为模型。主要实现电梯运行开关的控制,楼层的请求,电梯运行遵循的方向优先原则,提前、延时开关门等基本的功能。以下是对不同的状态进行仿真,以验证本设计的可行性。 电梯进入运行状态控制进程,通过判断上升、下降请求寄存器每一位的值,决定电梯运行状态,并通过状态指示信号输出该状态,本设计都是使用高电平触发。 (1)当电梯处于1楼时,上升请求: 图4.1 电梯处于第一层时仿真图 1

(2)提前/延时关门功能 没有提前/延时关门时的情况下: 图4.2 没有提前/延时关门时的仿真图 从图4.2知道,运行或停止输出信号“lamp”为高电平时电梯进入运行状态,低电平时停止。圈内显示电梯在75.36us后从停止状态转入运行状态。 当设置提前关门“close”为高电平时: 图4.3 有提前关门时的仿真图 图4.3与图4.2对比可知,由于设置了提前关门进程“close”,电梯提前到75.36us 以前从停止状态转入运行状态。 2

当设置了延时关门“delay”为高电平时: 图4.4 延时关门时的仿真图 图4.4与图4.2对比可知,由于设置了延时关门进程“delay”,电梯延时到80.48us 后才从停止状态转入运行状态。 (3)当电梯处于较高层数时 图4.5 电梯处于较高层数时的仿真图 3

(5)电梯轿厢内楼层选择开关功能仿真 图4.6 轿厢内楼层选择开关仿真图 4

(4)电梯的次态功能仿真 如图4.7所示,当运行或等待时间“run_wait”计数到0110时,电梯运行状态变量“ladd”给出电梯的下一个状态。如图 4.7圈内显示,“ladd”从0 5

电梯控制器报告(Verilog实现)

华中科技大学课程设计报告数字电路与逻辑设计课程设计报告 题目:电梯控制器的设计与实现 专业:计算机科学与技术 班级: 学号: 姓名: 电话: 邮件:974985526@https://www.360docs.net/doc/78966011.html, 分组: 完成日期:2015.10.8 指导教师:

华中科技大学课程设计报告不建议采用本报告所采用的设计方案(异步时序),因为这样的实现过于复杂且难以调试。 建议仅采用统一的CLK作为always语句的更新条件,以实现同步时序的电路。

华中科技大学课程设计报告 目录 1课程设计概述 (5) 1.1课设目的 (5) 1.2课设要求 (5) 1.3课设任务 (5) 1.4实验环境 (5) 2基本方案设计 (7) 2.1设计需求 (7) 2.2总体结构设计 (8) 2.2.1时钟分频 (8) 2.2.2七段译码器显示模块 (8) 2.2.3电梯请求控制模块 (8) 2.2.4电梯开关门控制模块 (9) 2.2.5电梯运行总控模块 (9) 2.2.6电梯单次运行模块 (9) 2.2.7LED灯控制模块 (9) 2.3详细设计 (10) 2.3.1时钟分频 (10) 2.3.2七段译码器显示 (10) 2.3.3电梯请求控制模块 (10) 2.3.4电梯开关门控制模块 (12) 2.3.5电梯运行总控模块 (14) 2.3.6电梯单次运行模块 (14) 2.3.7LED灯控制模块 (14) 2.4实验过程与调试 (15) 2.4.1仿真结果 (15) 2.4.2主要故障与调试 (32)

华中科技大学课程设计报告 2.4.3模块内部图 (33) 2.5功能测试 (42) 2.5.1手动开关门测试 (42) 2.5.1重置功能测试 (44) 2.5.1常规使用测试 (46) 3总结与心得 (50) 3.1课设总结 (50) 3.2课设心得 (50) 参考文献 (52) 附录(源程序) (53)

电梯模拟系统教学内容

电梯模拟系统

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页

一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。

基于单片机的电梯仿真程序课程设计

目录 (一)前言 (1) (二)现代电梯概述 (3) (三)硬件部分设计 (6) (四)软件部分设计 (12) (五)电梯运行界面 (52) (六)设计总结与感悟 (56) (七)参考文献 (57)

电梯仿真程序 一、前言: 本电梯仿真程序采用的是一个基于单片机及其相关外设,编程语言采用汇编与C语言结合的方式,通过矩阵键盘线反选法输入楼层,上、下行等控制信号,经I\O口读入,进行相关实时控制,软硬件结合的仿真系统,输出设备包括由CD4511驱动显示楼层的7段数码管,显示实时信息的显示屏LCD12864,由PWM控制显示电梯门开关的舵机,以及由I\O口间接控制的驱动电机正反转双桥驱动电路等几个部分组成。可以实现真实电梯中,任意层呼叫,目的层到达按要求顺序到达,开关门,无输入自动回1层等一系列功能,并实时显示当前电梯运行状态,关于真实电梯门控光幕装置,电机自动抱闸平层等部分,由于知识不足,没有足一实现,但会在接下来的专业知识学习过程中不断完善,同时也希望得到程老师的指导。 二、现代电梯概述:

电梯是一种以电动机为动力的垂直升降机,装有箱状吊舱,用于多层建筑乘人或载运货物。也有台阶式,踏步板装在履带上连续运行,俗称自动电梯。服务于规定楼层的固定式升降设备。它具有一个轿厢,运行在至少两列垂直的或倾斜角小于15°的刚性导轨之间。轿厢尺寸与结构形式便于乘客出入或装卸货物,本次微机课程设计电梯仿真选用的是垂直升降梯。 2.1、电梯功能 现代电梯主要由曳引机(绞车)、导轨、对重装置、安全装置(如限速器、安全钳和缓冲器等)、信号操纵系统、轿厢与厅门等组成。这些部分分别安装在建筑物的井道和机房中。通常采用钢丝绳摩擦传动,钢丝绳绕过曳引轮,两端分别连接轿厢和平衡重,电动机驱动曳引轮使轿厢升降。电梯要求安全可靠、输送效率高、平层准确和乘坐舒适等。电梯的基本参数主要有额定载重量、可乘人数、额定速度、轿厢外廓尺寸和井道型式等。简单使用方法(紧急情况下面有解决方法)载人电梯都是微机控制的智能化、自动化设备,不需要专门的人员来操作电梯电梯结构图电梯内部结构图驾驶,普通乘客只要按下列程序乘坐和操作电梯即可。

Matlab 编程方法及仿真实验

《现代机械工程基础实验》之机械工程控制基础综合实验报告 姓名 学号 班级 山东建筑大学机电工程学院 2012.06.04~06

第一部分 Matlab 编程方法及仿真实验 实验1. 三维曲面的绘制(略) 实验2. 系统零极点绘制例:求部分分式展开式和)(t g 一个线性定常系统的传递函数是 1 5422 3)(2 3 ++++= s s s s s G (1) 使用MATLAB 建立传递函数,并确定它的极点和零点,写出)(s G 的部分分式展开式并绘制 系统的脉冲响应。 实验结果:零点-0.6667 极点-0.8796 + 1.1414i -0.8796 - 1.1414i -0.2408 实验3. 系统的阶跃响应 例. )(s G 的阶跃响应 对例2中由(1)式给出的传递函数)(s G ,增加一个0=s 处的极点,使用impulse 命令绘制其拉普拉斯反变换式曲线,得到阶跃响应图。将该响应与对)(s G 使用step 命令所得到的响应比较,确定系统的DC 增益。利用初值定理和终值定理来校验结果。 实验结果:DC 增益= 2

实验4. 双输入反馈系统单位阶跃响应 考虑一个如图1所示的反馈系统,它既有参考输入也有干扰输入,其中对象和传感器的传递函数是 )12)(15.0(4)(++=s s s G p ,105.01 )(+=s s H 控制器是一个增益为80,有一个在3-=s 处的零点,极点/零点比15=α超前控制器。推导 两个独立的MATLAB 模型,其中一个模型的输入为)(s R ,另一个输入为)(s D 。使用这些模型确定闭环零点和极点,并在同一坐标系内绘制它们的阶跃响应。 D (s ) 图1 具有参考和干扰输入的反馈系统方框图 实验结果: 参考输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 参考输入的DC 增益:320 干扰输入的CL 零点:-45 干扰输入的CL 极点:-49.3658 -7.3336 + 7.9786i -7.3336 - 7.9786i -3.4670 干扰输入的DC 增益:4 -20

plc实验报告之三层电梯的运行

电气控制综合实验报告 PLC控制系统目:三层电梯项 132 电班级: 名:姓 学号:联系 方式: 2015-2016-2 期:学 实验过程记录以及调试步骤及方法 第一章实验过程记录1.好好复习老师之前讲的一些基本的电路,例如轿 厢内锁存电路,门厅锁存电路等,将这些基本的电路搞懂之后,就可以开始设计接下来的电路啦。 2.认真查看电梯要求的7大原则,开始设计梯形图,并用GX Works2进行仿真,并及时发现问题,加以修改。 3.在GX Works仿真都没有问题后,去实验室,用组态软件再进行仿真, 看电梯能否自如顺畅的运行,因为开门是通过延时来实现的,组态仿真,看之前设置好的定时器定时的时间是否能让电梯顺利的关门开门,若不行,修改定时器定时的时间,知道符合要求为止。这个可分为一下几小部分:打开计算机;a. 软件,将自己编写好的程序拷入电脑并打开;打开GX Works2b. ;PLC拨到调为由RUNSTOP状态,然后将程序写入c.将PLC (即运行状态)状态,然后打开组态;RUNd.将PLC调为 运行组态,点击启动;e.

开始根据组态运行的结果来调试,找出错误并修改程序,直至完成设计要求;f. 实验调试步骤及方法介绍 1.调试软件GX Works2 编程软件,是专用于PLCPLC设计、调试、GX Work2是三菱电机推出的三菱综合维护的编程工具。与传统的GX Developer 软件相比,提高了功能及操作性能,变得更加容易使用。梯形图绘制时更加的简单明了,例如输入X000,只要打X000,然后按回车键就好了,输出Y001,只要打Y001,然后按回车键就好了,输入特别的简单,很方便。例如下图: 图 GX Works2新建工程后界面 2.程序的调试 用软件GX Works2软件进行调试,是很有必要的一部分,它能帮你发现一些画梯PLC形图时出现的问题,还有一些意想不到的问题,熟练掌握调试方法对我们以后 的编程很有意义。 调试步骤3. 软件中,输入好之后,点将自己设计好的梯形图一行一行的输入到GX Worksa.击菜单栏中的“调试”,如下图: 图调试下拉菜单 b.点击模拟开始,可进行软件调试,如图: 图开始加载调试图 等到加载到百分之百就可以开始调试了。 c.在梯形图上面右击,出现下拉菜单,如图:

电梯模拟系统

电梯模拟系统 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的

变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。 (2)、电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 (3)、乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。(4)、模拟时钟从0开始,时间单位为秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t): 有人进出时,电梯每隔40t测试一次,若无人进出,则关门 关门和开门各需要20t 每个人进出电梯均需要25t 电梯加速需要15t 如果电梯在某层静止时间超过300t,则驶回1层候命。 (5)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。三:数据结构 1、乘客类型 反映乘客的所有属性。 ADT Client 数据对象:D={a i∈乘客信息,I=1,2,…,n,n≥0}

毕业设计PLC四层电梯内含组态王仿真程序

这时我在网上看到的一个故事,无论是真的还是别人编出来,都值得大家一看!内容非常感人...用一点点的时间去体会人世间那份最真诚的爱! 睿是一个长的很帅气的男孩,在学校里人缘又很好...每个学生老师都很喜欢他. 但他却有一个长得丑陋无比的母亲,不但难看而且她只有一个眼睛(独眼)睿的朋友从来都没有看到过他的妈妈.自然也不会有人去问.生活仿佛过得还不错... 有一天,外面下着很大的雨...眼看同学们都撑着伞回家去,睿却只能站在屋沿底下,因为他没带伞.这是只见他那丑陋无比的妈妈撑着一把黑色的伞向他走来.嘴 里还说着"孩子,快来吧,小心淋到雨"顿时睿傻眼了,他的朋友们从没见过他的妈妈...别人会怎么想呢?大家一看到这种情景都开始大笑起来...!甚至有人对睿说"原来这就是你妈妈,这么丑,你天天跟她在一起不会害怕吗?哈哈哈哈..."哑口无言,他知道现在说什么都没有用了... 回到家,"我不想再见到你!为什么你长的这么丑?还少一只眼睛?你不是我妈妈,我不会有这么难看的妈妈!"睿的母亲并没有说什么,指示含着泪走进了房间. 转眼这么多年过去了...睿也长大了,依然是那么的英俊潇洒,有不少的女孩子追他.从那次以后她妈妈也从来没有再提过那件事情.一个月后睿的妈妈就生病死去了...她走得是那么的安详,什么也没留下除了一封信.睿拆开了她母亲临终前亲笔写的信,并读了起来: 亲爱的孩子,我是多么的爱你,为了你我什么都可以不在乎.我知道你一直认为我丑,还少一只眼睛,不配做你的妈妈.但我现在告诉你一件事情,20年前我在医院里生下了你,当时的心情不知有多高兴,仿佛上帝赐了我最珍贵的礼物.真当我要去看你的时候,医生走来,脸色还很苍白地说"对不起,你的孩子生下来就少一只眼睛..."虽然心里一下子很接受不了,像是从高空跌入了谷地,但我还是非常坚定的对医生说"把我的眼睛给他!"我从来都没有后悔过...就算那次你对我说这么残忍的话.我不后悔,也不难过.因为我爱你. 爱你的妈妈 无论睿此时此刻心中有多么的伤心和遗憾,他的妈妈都不可能再活过来了...他也只能拿这那封信痛哭而已...却什么也不能为最爱他的母亲做任何事情,也许他妈妈留给他的除了那封信以外就是那一只悲伤的眼睛了...永远地留在睿的身上,让睿在看到任何东西之前先看到他的妈妈... 1. 基于C8051F单片机直流电动机反馈控制系统的设计与研究 2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器 7. 单片机控制的二级倒立摆系统的研究 8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究 11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发

HLA仿真程序设计

HLA仿真程序设计 1 计算机仿真技术是以计算机为工具,以相似原理、信息技术以及各种相关应用领域的基本理论和技术为基础,根据系统实验的目的,建立(实际或设想)系统的模型,并在不同的条件下,对模型进行动态运行(实验)的一门综合性技术。 当前,计算机技术应经成为系统能特别是大型系统分析、研究、测试、评估、研制和技术训练的重要手段,并已广泛应用于国防、制造、能源、交通、农业、医疗、教育、经济、天气预报等各个行业的重要领域。 从仿真硬件的角度讲,计算机仿真大致经历了三个主要发展阶段,即:模拟计算机仿真。模/数混合计算机仿真和数字计算机仿真。从仿真软件的角度讲,计算机仿真可分为五个相互交叉的发展阶段:仿真软件包和仿真语言、一体化仿真环境、智能化仿真环境、面向对象的仿真、分布式仿真。 2 分布交互仿真是指采用协调一致的结构、标准、协议和数据库,通过局域网和广域网,将分散在各地的仿真设备互联,形成可参与的综合性仿真环境。 计算机仿真通常可分为三种类型。及虚拟仿真、构造仿真和真实仿真。虚拟仿真是指作战人员操作仿真的武器系统进行的作战仿真,及人在回路中的仿真。构造仿真是指仿真中的所有实体均由计算机模型产生,及由仿真的人操作仿真的武器系统进行的仿真。真实仿真是由真实的战斗人员使用真实的武器系统和保障系统,在尽可能真实的作战环境中进行的作战演习。分布交互仿真既可以是某种单一类型的仿真,也可以是几种类型的综合。 3 HLA规则 HLA规则已成为IEEE M&S的正式标准,标准号为IEEE 1516。现行的规则共有十条,其中前五条规定了联盟必须满足的要求,后五条规定了盟员必须满足的要求。 联盟规则: (1) 每个联盟必须有一个联盟对象模型,该联盟对象模型的格式应与HLA OMT兼容。

汇编语言模拟电梯实验报告书

一.实训目的 (1) 二.实训内容与要求 (1) 1.基本内容 (2) 2.实训要求 (2) 三.实训设计思路 (1) 1.总体思路 (3) 2.硬件设计 (4) 3.软件设计 (6) 四.模拟电梯源代码 (9) 五.加载调试 (28) 六.实训总结 (30) 1.出现的问题及排除方法 (30) 2.实训注意事项 (30) 3.心得体会 (1) 七.参考文献 (31) 一.实训目的 1.了解电梯调度算法,运用汇编语言编写程序。 2.利用微机实验系统来模拟电梯,实现电梯功能。 3.进一步掌握微机接口的设计方法,正确连各芯片引脚。 4. 加强学生实际应用能力及综合知识运用能力的培养。

二.实训内容与要求 绘制流程图、根据流程图编写程序、选用硬件电路编制应用软件、自主选择硬编制应用软件,并画出详细原理图。 2.实训要求 用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键1~8用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。要求“电梯”能按以下方式运行: (1)设电梯停在某层。键入1~8数字键,如数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED亮;如按运行键,则电梯自动判别上升或下降一直到达希望停的楼层。 (2)设电梯正在上升或下降运行,若键入新的希望停的楼层数字,则对同方向未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例: 电梯在2层,向上运行,LED希望在6层停,若键入4,则将在4楼停,若按运行键,则运行至6层停;若键入的不是4而是8,则电梯将先停在6层,再按运行键,运行至8层停若键入的不是4(或8),而是1,则电梯先停在6层,再按 运行键,运行至1层停。

常见光学仿真设计软件

1.APSS.v 2.1.Winall.Cracked 光子学设计软件,可用于光材料、器件、波导和光路等的设计 2.ASAP.v7.14/7.5/8.0.Winall.cracked/Full 世界各地的光学工程师都公认ASAPTM(Advanced Systems Analysis Program,高级系统分析程序)为光学系统定量分析的业界标准。 注:另附9张光源库 3.Pics3d.v200 4.1.28.winall.cracked 电子.光学激光2D/3D有限元分析及模形化装置软件 https://www.360docs.net/doc/78966011.html,stip.v2004.1.28.winall.cracked 半导体激光装置2D模拟软件 5.Apsys.2D/3D.v2004.1.28.winall.cracked 激光二极管3D模拟器 6.PROCOM.v2004.1.2.winall.cracked 化合物半导体模拟软件 7.Zemax.v2003.winall.cracked/EE ZEMAX 是一套综合性的光学设计仿真软件,它将实际光学系统的设计概念、优化、分析、公差以及报表集成在一起。 8.ZEBASE Zemax镜头数据库 9.OSLO.v6.24.winall.licensed/Premium OSLO 是一套处理光学系统的布局和优化的代表性光学设计软件。最主要的,它是用来决定光学系统中最佳的组件大小和外型,例如照相机、客户产品、通讯系统、军事 /外太空应用以及科学仪器等。除此之外,它也常用于仿真光学系统性能以及发展出一套对光学设计、测试和制造的专门软件工具。 10.TracePro.v324.winall.licensed/Expert TracePro 是一套能进行常规光学分析、设计照明系统、分析辐射度和亮度的软件。它是第一套以符合工业标准的ACIS(固体模型绘图软件)为核心所发展出来的光学软件,是一个结合真实固体模型、强大光学分析功能、信息转换能力强及易上手的使用界面的仿真软件,它可将真实立体模型及光学分析紧紧结合起来,其绘图界面非常地简单易学。 11.Lensview.UPS.winall.cracked LensVIEW 为搜集在美国以及日本专利局申请有案的光学设计的数据库,囊括超过 18,000个多样化的光学设计实例,支持Zemax,OSLO,Code V等光学设计软件。 12.Code V.v940.winall.licensed CODE V是美国著名的Optical Research Associates公司研制的具有国际领先水平的大型光学工程软件。 13.LightTools.v4.0/sr1.winall.cracked LightTools是一个全新的具有光学精度的交互式三维实体建模软件体系,提供最现代化的手段直接描述光学系统中

VHDL电梯控制器程序设计与仿真

VHDL电梯控制器程序设计与仿真

电梯控制器VHDL程序与仿真。 -- --文件名:。 --功能:6层楼的电梯控制系统。 library ieee; use dianti is port ( clk : in std_logic; --时钟信号(频率为2Hz) full,deng,quick,clr : in std_logic; --超载、关门中断、提前关门清除报警信号

c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; --电梯外人的上升请求信号 c_d2,c_d3,c_d4,c_d5,c_d6 : in std_logic; --电梯外人的下降请求信号 d1,d2,d3,d4,d5,d6 : in std_logic; --电梯内人的请求信号 g1,g2,g3,g4,g5,g6 : in std_logic; --到达楼层信号 door : out std_logic_vector(1 downto 0); --电梯门控制信号 led : out std_logic_vector(6 downto 0); --电梯所在楼层显示 led_c_u:out std_logic_vector(5 downto 0); --电梯外人上升请求信号显示 led_c_d:out std_logic_vector(5 downto 0); --电梯外人下降请求信号显示 led_d : out std_logic_vector(5 downto 0); --电梯内请求信号显示 wahaha : out std_logic; --看门狗报警信号 ud,alarm : out std_logic; --电梯运动方向显示,超载警告信号

电梯模拟系统

目录 一:问题描述—————————————————————————第2页二:问题分析—————————————————————————第2页三:数据结构—————————————————————————第2页四:算法设计—————————————————————————第4页五设计与调试分析———————————————————————第6页六:体会及建议————————————————————————第7页七:参考文献—————————————————————————第7页八:原代码——————————————————————————第7页

一:问题描述 设计一个电梯模拟系统。这是一个离散的模拟程序,因为电梯系统是乘客和电梯等“活动体”够成的集合,虽然他们彼此交互作用,但是他们的行为是基本独立的。在离散的模拟中,一模拟时钟决定每个活动体的动作发生的时刻和顺序,系统在某个模拟瞬间处理有待完成的各种事情,然后把模拟时钟推进到某个动作预定要发生的下一个时刻。 二:问题分析 (1)、模拟某校五层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留。五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。 (2)、电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 (3)、乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。 (4)、模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t): 有人进出时,电梯每隔40t测试一次,若无人进出,则关门 关门和开门各需要20t 每个人进出电梯均需要25t 电梯加速需要15t 如果电梯在某层静止时间超过300t,则驶回1层候命。 (5)、按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。 三:数据结构 1、乘客类型 反映乘客的所有属性。 ADT Client 数据对象:D={a i∈乘客信息,I=1,2,…,n,n≥0} 数据关系:R={|a i-1,a i∈D,i=2,…,n}

电梯运行程序设计 课程设计

学号: 课程设计 题目电梯运行程序设计 学院自动化 专业自动化 班级 姓名 指导教师 2012 年 1 月13 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化 题目:电梯运行程序设计 初始条件: 用汇编语言设计一个电梯运行程序(至少5层),功能上实现现实生活中的电梯功能。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1. 在屏幕显示电梯运行界面,完成电梯运行的算法。 2.可以通过键盘按下任意楼层的按钮,测试电梯的正确运行; 3. 编制完整的程序并调试; 4.撰写符合学校要求的课程设计说明书,内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 1. 1月4日----1月5日查阅资料及方案设计 2.1月6日----12月8日编程 3.1月9日----1月10日调试程序 4.1月11日 ----1月12日撰写课程设计报告 5.1月13日上午准备答辩,下午正式答辩 指导教师签名:年月日系主任(或责任教师)签名:年月日

目录 摘要 (3) 1方案设计 (5) 2软件设计 (5) 2.1软件思想 (5) 2.2流程图 (6) 2.3源程序设计及说明 (7) 3程序调试 (14) 3.1程序调试说明 (14) 3.2程序调试结果分析 (14) 参考文献 (18) 心得体会 (19) 附录源程序 (21)

摘要 此次课程设计的题目是“电梯运行程序设计”关于电梯结构以及如何工作在这里进行以下介绍。 简介:习惯上不论其驱动方式如何,将电梯作为建筑物内垂直交通运输工具的总称。近几年来,随着国际社会对环保认识的关注,各大电梯公司现在在其电梯表面基本都采用了粉末涂料喷涂,这是一种新型环保无溶剂的涂料,并且各种性能皆优于油漆。 历史:按速度可分低速电梯(1米/秒以下)、快速电梯(1~2米/秒)和高速电梯(2米/秒以上)。19世纪中期开始采用液压电梯,至今仍在低层建筑物上应用。1852年,美国的伊莱莎。格雷夫斯.奥的斯研制出带有安全制动装置的升降机。80年代,驱动装置有进一步改进,如电动机通过蜗杆传动带动缠绕卷筒、采用平衡重等。19世纪末,采用了摩擦轮传动,大大增加电梯的提升高度。世界速度最快且运行距离最长的电梯:迪拜哈利法塔电梯,速度最高达每秒17.4米。(1050米/分,63.0公里/39.1英里小时)(该电梯是由蒂森克虏伯电梯公司进行生产安装的,包括机场用的登机桥)中国速度最快且运行距离最长的电梯:台北101大楼,速度最高达每秒16.8米。(1010米/分,60.6公里/37.7英里小时)。 结构:电梯的结构包括:四大空间,八大系统四大空间机房部分、井道及地坑部分、轿厢部分、层站部分。八大系统曳引系统、导向系统、轿厢、门系统、重量平衡系统、电力拖动系统、电气控制系统、安全保护系统 功能:现代电梯主要由曳引机(绞车)、导轨、对重装置、安全装置(如限速器、安全钳和缓冲器等)、信号操纵系统、轿厢与厅门等组成。这些部分分别安装在建筑物的井道和机房中。通常采用钢丝绳摩擦传动,钢丝绳绕过曳引轮,两端分别连接轿厢和平衡重,电动机驱动曳引轮使轿厢升降。电梯要求安全可靠、输送效率高、平层准确和乘坐舒适等。电梯的基本参数主要有额定载重量、可乘人数、额定速度、轿厢外廓尺寸和井道型式等。简单使用方法(紧急情况

系统仿真,电梯

复杂系统建模与仿真 实验报告 报告人: 吴陈鹤1083班3111315003 田博1084班3111316001

一.电梯仿真实验 1.模型设计说明 模拟一个五层楼的电梯系统,该楼有一个自动电梯,能在每层停留。设计一个电梯运行的模型,保证乘客的等待时间最短。 2.模型设计思想 (1)五个楼层由下至上依次称为地下层、第一层、第二层、第三层和第四层,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来该层候命。五个楼层从下到上的编号为:0、1、2、3、4。除了地下层外,每一层都有一个要求向下的按钮除了第四层外,每一层都有一个要求向上的按钮。对应的变量为:CallUp[0..3]和CallDown[1..4]。电梯内的五个目标层按钮对应的变量为:CallCar[0..4]。 (2)电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。 (3)乘客可随机地进出于任何层。对每个人来说,他有一个能容忍的最长等待时间,一旦等候电梯时间过长,他将放弃。对于在楼层内等待电梯的乘客,将插入在等候队列里,每一层有两个等候队列,一队要求向上,一队要求向下,用链队列来实现。对于在电梯内的乘客,用五个乘客栈来实现,该乘客要去哪一层,就把他放在相应编号的栈中,对应变量为EleStack[0…4]。 (4)模拟时钟从0开始,时间单位为0.1秒。人和电梯的各种动作均要耗费一定的时间单位(简记为t): ●有人进出时,电梯每隔40t测试一次,若无人进出,则关门 ●关门和开门各需要20t ●每个人进出电梯均需要25t ●电梯加速需要15t ●上升时,每一层需要51t,减速需要14t ●下降时,每一层需要61t,减速需要23t ●如果电梯在某层静止时间超过300t,则驶回1层候命。 (5)按时序显示系统状态的变化过程:发生的全部人和电梯的动作序列。 3.模型设计概要 本程序包含6个模块: (1)主程序模块 (2)乘客模块 (3)乘客栈模块 (4)电梯模块 (5)等待队列模块 (6)高楼模块:实现电梯和乘客之间的互交。 各模块之间的调用关系如下:

8086程序设计仿真练习题

8086程序设计仿真练习题 1、数组STRAING中存放着多个8位有符号数,以“$”结束,要求分成正数组和负 数组分别存放,并统计两个数组的个数,分别存于正、负数组的第一个字节。DATA SEGMENT DA1 DB 25H,0BDH,7FH,94H,65H,88H,12H,58H,99H,0A5H,99H,23H,0FBH,0AAH,098H,66H,'$' DA2 DB LENGTH DA1 DUP(?) ;正数 DA3 DB LENGTH DA1 DUP(?) ;负数 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS: DATA,ES:DATA START: MOV AX , DATA MOV DS, AX MOV ES, AX LEA SI, DA1 LEA DI, DA2 INC DI LEA BX, DA3 INC BX XOR DX,DX LOP1: LODSB CMP AL, '$' JZ NUM TEST AL,80H JNZ LOP2 STOSB INC DL JMP LOP1 LOP2: XCHG BX, DI STOSB INC DH XCHG BX,DI JMP LOP1 NUM: LEA DI, DA2 MOV [DI], DL LEA BX, DA3 MOV [BX], DH HLT CODE ENDS END START 2、将数据块DAT1中的20个单字节数,复制到DAT2中,并从中检索与2EH 相同的数,将此单元的数换成空格符。如有多个与2EH相同的数,要求统计出个数,存在寄存器DL中。

DATA SEGMENT DAT1 DB 25H,0BDH,7FH,94H,2EH,65H,88H,12H,2EH,99H,0A5H,98H,2EH,23H,0FBH,0AAH,96H,66H,0CCH,08H DAT2 DB 20 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS: DATA,ES:DATA START: MOV AX, DATA MOV DS, AX MOV ES, AX MOV CX, 20 MOV DX, 0 MOV BX,0 LEA SI, DAT1 LEA DI, DAT2 CLD LP1: LODSB CMP CX, 0 JZ LP2 STOSB DEC CX JMP LP1 LP2: CMP BX,20 JZ OVER CMP DAT2[BX],2EH JZ LP3 INC BX JMP LP2 LP3: MOV DAT2[BX],' ' INC BX INC DL JMP LP2 OVER: HLT CODE ENDS END START 3、将变量VAR1中的16位二进制数取反,并统计原数中1的个数,将个数存在 变量VAR2中。 DATA SEGMENT VAR1 DW 1107H VAR2 DB 1 DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

基础课程设计 模拟电梯的设计与制作

电子课程设计报告设计课题:模拟电梯的设计与制作 专业班级:09级电子信息工程2班 设计时间: 2011年10月10日—12月31日

目录 一、结构设计方案选择 (3) 方案一:模拟洗衣机电机控制部分 (3) 方案二:模拟电梯 (4) 方案比较与选择 (7) 二、摘要 (6) 三、模拟电梯的设计思路与要求 (7) 四、单元电路设计、参数计算及元器件选择 (8) 4.1 ADC0809 (8) 4.2 显示部分 (10) 4.3 矩阵键盘模块 (11) 4.4 单片机最小系统............................................................................ .... .. (12) 4.5 步进电机控制电路 (12) 4.6 电梯实体的设计............................................................................ ... ................. . (15) 五、总原理图及元器件清单 (16) 5.1 电路总原理图 (16) 5.2 元件清单 (17) 5.3 实验器材与工具 (17) 5.4 程序部分 (18) 六、焊接电路及调试中遇到的问题 (22) 6.1 单片机最小系统的调试 (23) 6.2 显示部分的调式 (23) 6.3 矩阵键盘的调试 (23) 6.4 电梯实体的调试 (23) 6.5 整体的调试与电路与实题的耦合............................................................. . (23) 七、参考文献 (24) 八、心得与体会 (24)

电梯仿真程序

二○一一~二○一二学年第一学期 信息科学与工程学院 自动化系 课程设计报告书 姓名: 学号: 班级: 课程名称:微机原理与应用课程设计指导教师: 2011年12月19日

电梯仿真程序 1、设计要求 (1). 在 1-- 8楼之间一次可输入多个任意楼层号连续控制电梯按指定楼层号顺序上升与下降.以上过程完成后可重新输入任意楼层号连续控制电梯按指定楼层号顺序上升与下降.只有按ESC键才退出程序返回DOS状态。例如 : 1-3-5-8-6-4-2-1 (可观察教六楼电梯的实际运行情况)。 (2). 在 1 -- 8 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. (上箭头的ASCII码19H , 下箭头的ASCII码1AH 。 ) (3). 在电梯上升与下降过程中,要显示出 1--8 楼之间所要到达的楼层数,同时还要用箭头显示电梯是上升状态还是下降状态。 (4). 电梯运行到指定楼层后,打开电梯门,然后关门继续运行。 (5). 电梯运行时, 在任意时刻遇到紧急情况时应能实时中断电梯运行。也可以在任意时刻恢复电梯运行。(按A/a 键模拟中断发生,电梯停止运行。按B/b 键恢复电梯运行) (6). 在计算机屏幕上将电梯的平面模型改成三维立体模型。 (7). 在电梯旁画一个小方块.这个小方块随电梯上升而上升,下降而下降。以增加电梯运行时的动感。 (8). 电梯仿真软件运行时,应在计算机屏幕上详细说明其使用方法,以及本软件作者姓名和日期。 2、实验装置 IBM-PC 3、使用方法及功能介绍 ①在提示“input the floor(1-8F)(such as 1-3-4-1):”后面输入用户要去的楼层,可从任意楼层开始运行,指定楼层号顺序上升与下降,数字与数字之间用“-”连接,数字范围为1-8。 在一轮运行完以后程序会清空楼层提示后面的数字,用户可再输入要去的楼层,若用户希望停止运行该程序,可以在下一轮开始时在楼层提示后面输入0或非数字键,可返回到DOS ②在 1 -- 8 楼之间按任意顺序不连续控制电梯上升与下降. 按一次计算机键盘的上箭头电梯上升一楼,按一次计算机键盘的下箭头电梯下降一楼. ③电梯上升与下降过程中,在电梯三维模型的正上方的蓝色矩形框内,提示“now the floor is:”后面显示出当前所要在的楼层数,提示“TO:”后面显示1--8 楼之间所要到达的楼层数,提示“direction:”后面显示上下箭头,代表电梯当前是上升状态还是下降状态。 ④在电梯旁有一个小方块。这个小方块随电梯上升而上升,下降而下降。增加电梯运行时的动感.。小方块在一个8层的方框内上下移动,电梯每上升一层,小方块在方框内上升一层,

相关文档
最新文档