电梯控制器实验报告Word格式.docx

上传人:b****1 文档编号:5925765 上传时间:2023-05-05 格式:DOCX 页数:22 大小:129.29KB
下载 相关 举报
电梯控制器实验报告Word格式.docx_第1页
第1页 / 共22页
电梯控制器实验报告Word格式.docx_第2页
第2页 / 共22页
电梯控制器实验报告Word格式.docx_第3页
第3页 / 共22页
电梯控制器实验报告Word格式.docx_第4页
第4页 / 共22页
电梯控制器实验报告Word格式.docx_第5页
第5页 / 共22页
电梯控制器实验报告Word格式.docx_第6页
第6页 / 共22页
电梯控制器实验报告Word格式.docx_第7页
第7页 / 共22页
电梯控制器实验报告Word格式.docx_第8页
第8页 / 共22页
电梯控制器实验报告Word格式.docx_第9页
第9页 / 共22页
电梯控制器实验报告Word格式.docx_第10页
第10页 / 共22页
电梯控制器实验报告Word格式.docx_第11页
第11页 / 共22页
电梯控制器实验报告Word格式.docx_第12页
第12页 / 共22页
电梯控制器实验报告Word格式.docx_第13页
第13页 / 共22页
电梯控制器实验报告Word格式.docx_第14页
第14页 / 共22页
电梯控制器实验报告Word格式.docx_第15页
第15页 / 共22页
电梯控制器实验报告Word格式.docx_第16页
第16页 / 共22页
电梯控制器实验报告Word格式.docx_第17页
第17页 / 共22页
电梯控制器实验报告Word格式.docx_第18页
第18页 / 共22页
电梯控制器实验报告Word格式.docx_第19页
第19页 / 共22页
电梯控制器实验报告Word格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电梯控制器实验报告Word格式.docx

《电梯控制器实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《电梯控制器实验报告Word格式.docx(22页珍藏版)》请在冰点文库上搜索。

电梯控制器实验报告Word格式.docx

DOWNIN:

电梯下降请求键,由用户向电梯控制器发出下降请求。

ST_CH[2..0]:

楼层选择键入键,结合DIRECT完成楼层选择的键入,高电平有效;

CLOSE:

提前关门输入键。

可实现无等待时间的提前关门操作,高电平有效;

DELAY:

延迟关门输入键。

可实现有等待时间的延迟关门操作,高电平有效;

RUN_STOP:

电梯运行或停止开关键。

可实现由管理员控制电梯的运行或停止,高电平有效。

一下为输出端口:

LAMP:

电梯运行或等待指示键,指示电梯的运行或等待状况。

RUN_WAIT:

电梯运行或等待时间指示键,指示电梯运行状况或等待时间的长短,高电平有效;

ST_OUT:

电梯所在楼层指示数码管,只是电梯当前所在的楼层数。

即1~5层,高电平有效;

DIRECT:

楼层选择指示数码管,指示用户所要选择的楼层数,高电平有效。

1.系统功能模块设计示意图

2.项目分块及其实现方案

电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。

主要动作有开、关门,停靠和启动。

乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。

据此,整个电梯控制器DTKZQ应包括如下几个组成部分:

①时序输出及楼选计数器;

②电梯服务请求处理器;

③电梯升降控制器;

④上升及下降寄存器;

⑤电梯次态生成器。

该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。

整个系统的内部组成结构图如图2所示。

Vhdl程序:

--DTKZQ.VHD--显示电路

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYledIS

PORT(

LEDIN:

INSTD_LOGIC_VECTOR(2DOWNTO0);

--输入信号

LEDOUT:

OUTSTD_LOGIC_VECTOR(6DOWNTO0));

--输出信号

ENDLED;

ARCHITECTUREARTOFLEDIS--结构体

BEGIN

PROCESS(LEDIN)

BEGIN

CASELEDINIS--共阴极LED显示译码gfedcba

WHEN"

0000"

=>

ledout<

="

0111111"

;

--0

0001"

0000110"

--1

0010"

1011011"

--2

0011"

1001111"

--3

0100"

1100110"

--4

0101"

1101101"

--5

0110"

1111101"

--6

0111"

0000111"

--7

1000"

1111111"

--8

1001"

1101111"

--9

1010"

1110111"

--10

1011"

1111100"

--11

1100"

0111001"

--12

1101"

1011110"

--13

1110"

1111001"

--14

1111"

1110001"

--15

WHENOTHERS=>

0000000"

--其他情况时灯灭

ENDCASE;

ENDPROCESS;

ENDART;

USEIEEE.STD_LOGIC_ARITH.ALL;

ENTITYDTKZQIS

PORT(CLK:

INSTD_LOGIC;

--2Hz时钟输入信号

UPIN:

--楼层上升请求键

DOWNIN:

--楼层下降请求键

ST_CH:

--结合DIRECT完成楼层选择的键入

CLOSE:

--提前关门输入键

DELAY:

--延迟关门输入键

RUN_STOP:

--电梯运行的开关键

LAMP:

OUTSTD_LOGIC;

--电梯运行或停止指示键

RUN_WAIT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0);

--结合LAMP指示电梯运行或等待时间

ST_OUT:

--电梯所在楼层指示数码管

DIRECT:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

--楼层选择指示数码管

ENDENTITYDTKZQ;

ARCHITECTUREARTOFDTKZQIS

SIGNALUR,DR:

STD_LOGIC_VECTOR(16DOWNTO1);

--上升或下降楼层请求寄存器

SIGNALDIR,LIFTOR:

INTEGERRANGE0TO15;

--楼选指示及楼层数计数器

SIGNALWAI_T:

STD_LOGIC_VECTOR(2DOWNTO0);

--运行或等待计数器

SIGNALDIVID,HAND,CLKIN:

STD_LOGIC;

--时钟2分频和楼选复位变量

SIGNALLADD:

STD_LOGIC_VECTOR(1DOWNTO0);

--电梯运行状态变量

SIGNALCLOSEX,DELAYX:

--提前关门及延迟变量

BEGIN--内部信号值的输出

DIRECT<

=CONV_STD_LOGIC_VECTOR(DIR,4)+1;

ST_OUT<

=CONV_STD_LOGIC_VECTOR(LIFTOR,4)+1;

RUN_WAIT<

='

0'

&

WAI_T;

LAMP<

=LADD

(1);

HAND<

=WAI_T

(2)AND(NOTWAI_T

(1)ANDWAI_T(0));

CLOSEX<

=CLOSEAND(NOTLADD

(1));

DELAYX<

=DELAYAND(NOTLADD

(1));

--分频进程

P0:

PROCESS(CLK)

IF(CLK'

EVENTANDCLK='

1'

)THEN

CLKIN<

=NOTCLKIN;

ENDIF;

ENDPROCESSP0;

--分频及楼选信号产生进程

P1:

PROCESS(CLKIN)

IF(CLKIN'

EVENTANDCLKIN='

DIVID<

=NOTDIVID;

IF(DIR=4)THENDIR<

=0;

ELSEDIR<

=DIR+1;

ENDPROCESSP1;

--楼层请求寄存器的置位与复位进程

P2:

PROCESS(UR,DR,DIR,UPIN,DOWNIN,ST_CH,LIFTOR,WAI_T,RUN_STOP,HAND)

VARIABLENUM,T:

INTEGERRANGE0TO16;

NUM:

=LIFTOR+1;

T:

IF(RUN_STOP='

)THEN--电梯运行时选择楼层大于当前楼层或者有上升请求

IF(((T>

NUM)AND(ST_CH='

))OR(UPIN='

))THEN

CASETIS

WHEN1=>

UR

(1)<

WHEN2=>

UR

(2)<

WHEN3=>

UR(3)<

WHEN4=>

UR(4)<

WHEN5=>

UR(5)<

WHEN6=>

UR(6)<

WHEN7=>

UR(7)<

WHEN8=>

UR(8)<

WHEN9=>

UR(9)<

WHEN10=>

UR(10)<

WHEN11=>

UR(11)<

WHEN12=>

UR(12)<

WHEN13=>

UR(13)<

WHEN14=>

UR(14)<

WHEN15=>

UR(15)<

WHEN16=>

UR(16)<

NULL;

--电梯运行时间到

ELSIF(HAND='

)THEN

CASENUMIS

--选择楼层小于当前楼层或者有下降请求

IF(((T<

))OR(DOWNIN='

))THEN

DR

(1)<

DR

(2)<

DR(3)<

DR(4)<

DR(5)<

DR(6)<

DR(7)<

DR(8)<

DR(9)<

DR(10)<

DR(11)<

DR(12)<

DR(13)<

DR(14)<

DR(15)<

DR(16)<

)THEN

ELSE

UR<

0000000000000000"

DR<

ENDPROCESSP2;

--电梯运行次态的控制进程

P3:

PROCESS(UR,DR,DIR,LIFTOR,LADD,WAI_T,RUN_STOP)

)THEN--电梯运行时

IF(WAI_T="

110"

IF((URORDR)="

LADD

(1)<

--初始状态

ELSE

CASELIFTORIS

--电梯在第一层

WHEN0=>

IF((UR

(1)ORDR

(1))>

'

)THENLADD

(1)<

--等待状态

ELSELADD<

11"

--上升状态

--电梯在第二层

WHEN1=>

IF((UR

(2)ORDR

(2))>

ELSIF(((LADD(0)='

)AND((UR(16DOWNTO3)

ORDR(16DOWNTO3))>

"

00000000000000"

))

OR((UR

(1)ORDR

(1))='

))THEN

LADD<

10"

--下降状态

--电梯在第三层

WHEN2=>

IF((UR(3)ORDR(3))>

)AND((UR(16DOWNTO4)

ORDR(16DOWNTO4))>

0000000000000"

OR((UR(2DOWNTO1)ORDR(2DOWNTO1))="

00"

))THENLADD<

--电梯在第四层

WHEN3=>

IF((UR(4)ORDR(4))>

ELSIF(((LADD(0)='

)AND((UR(16DOWNTO5)

ORDR(16DOWNTO5))>

000000000000"

OR((UR(3DOWNTO1)

ORDR(3DOWNTO1))="

000"

--电梯在第五层

WHEN4=>

IF((UR(5)ORDR(5))>

)AND((UR(16DOWNTO6)

ORDR(16DOWNTO6))>

00000000000"

OR((UR(4DOWNTO1)

ORDR(4DOWNTO1))="

--电梯在第六层

WHEN5=>

IF((UR(6)ORDR(6))>

)AND((UR(16DOWNTO7)

ORDR(16DOWNTO7))>

0000000000"

))

OR((UR(5DOWNTO1)

ORDR(5DOWNTO1))="

00000"

--电梯在第七层

WHEN6=>

IF((UR(7)ORDR(7))>

)AND((UR(16DOWNTO8)

ORDR(16DOWNTO8))>

000000000"

OR((UR(6DOWNTO1)

ORDR(6DOWNTO1))="

000000"

--电梯在第八层

WHEN7=>

IF((UR(8)ORDR(8))>

)AND((UR(16DOWNTO9)

ORDR(16DOWNTO9))>

00000000"

OR((UR(7DOWNTO1)

ORDR(7DOWNTO1))="

--电梯在第九层

WHEN8=>

IF((UR(9)ORDR(9))>

)AND((UR(16DOWNTO10)

ORDR(16DOWNTO10))>

OR((UR(8DOWNTO1)

ORDR(8DOWNTO1))="

--电梯在第十层

WHEN9=>

IF((UR(10)ORDR(10))>

)AND((UR(16DOWNTO11)

ORDR(16DOWNTO11))>

OR((UR(9DOWNTO1)

ORDR(9DOWNTO1))="

--电梯在第十一层

WHEN10=>

IF((UR(11)ORDR(11))>

)AND((UR(16DOWNTO12)

ORDR(16DOWNTO12))>

OR((UR(10DOWNTO1)

ORDR(10DOWNTO1))="

--电梯在第十二层

WHEN11=>

IF((UR(12)ORDR(12))>

)AND((UR(16DOWNTO13)

ORDR(16DOWNTO13))>

OR((UR(11DOWNTO1)

ORDR(11DOWNTO1))="

--电梯在第十三层

WHEN12=>

IF((UR(13)ORDR(13))>

)AND((UR(16DOWNTO14)

ORDR(16DOWNTO14))>

OR((UR(12DOWNTO1)

ORDR(12DOWNTO1))="

--电梯在第十四层

WHEN13=>

IF((UR(14)ORDR(14))>

)THENLADD

(1)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2