电梯控制器实验报告Word格式.docx
- 文档编号:5925765
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:22
- 大小:129.29KB
电梯控制器实验报告Word格式.docx
《电梯控制器实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《电梯控制器实验报告Word格式.docx(22页珍藏版)》请在冰点文库上搜索。
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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电梯 控制器 实验 报告