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

上传人:b****1 文档编号:1825727 上传时间:2022-10-24 格式:DOCX 页数:11 大小:169.75KB
下载 相关 举报
VHDL电梯控制器程序设计与仿真.docx_第1页
第1页 / 共11页
VHDL电梯控制器程序设计与仿真.docx_第2页
第2页 / 共11页
VHDL电梯控制器程序设计与仿真.docx_第3页
第3页 / 共11页
VHDL电梯控制器程序设计与仿真.docx_第4页
第4页 / 共11页
VHDL电梯控制器程序设计与仿真.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

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

《VHDL电梯控制器程序设计与仿真.docx》由会员分享,可在线阅读,更多相关《VHDL电梯控制器程序设计与仿真.docx(11页珍藏版)》请在冰豆网上搜索。

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

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

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

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

电梯控制器VHDL程序与仿真。

--

--文件名:

dianti.vhd。

--功能:

6层楼的电梯控制系统。

libraryieee;

useieee.std_logic_1164.all;

useieee.std_logic_unsigned.all;

useieee.std_logic_arith.all;

entitydiantiis

port(clk:

instd_logic;--时钟信号(频率为2Hz)

full,deng,quick,clr:

instd_logic;--超载、关门中断、提前关门清除报警信号

c_u1,c_u2,c_u3,c_u4,c_u5:

instd_logic;--电梯外人的上升请求信号

c_d2,c_d3,c_d4,c_d5,c_d6:

instd_logic;--电梯外人的下降请求信号

d1,d2,d3,d4,d5,d6:

instd_logic;--电梯内人的请求信号

g1,g2,g3,g4,g5,g6:

instd_logic;--到达楼层信号

door:

outstd_logic_vector(1downto0);--电梯门控制信号

led:

outstd_logic_vector(6downto0);--电梯所在楼层显示

led_c_u:

outstd_logic_vector(5downto0);--电梯外人上升请求信号显示

led_c_d:

outstd_logic_vector(5downto0);--电梯外人下降请求信号显示

led_d:

outstd_logic_vector(5downto0);--电梯内请求信号显示

wahaha:

outstd_logic;--看门狗报警信号

ud,alarm:

outstd_logic;--电梯运动方向显示,超载警告信号

up,down:

outstd_logic);--电机控制信号和电梯运动

enddianti;

architecturebehavofdiantiis

signald11,d22,d33,d44,d55,d66:

std_logic;--电梯内人请求信号寄存信号

signalc_u11,c_u22,c_u33,c_u44,c_u55:

std_logic;--电梯外人上升请求信号寄存信号

signalc_d22,c_d33,c_d44,c_d55,c_d66:

std_logic;--电梯外人下降请求信号寄存信号

signalq:

integerrange0to1;--分频信号

signalq1:

integerrange0to6;--关门延时计数器

signalq2:

integerrange0to9;--看门狗计数器

signaldd,cc_u,cc_d,dd_cc:

std_logic_vector(5downto0);--电梯内外请求信号寄存器

signalopendoor:

std_logic;--开门使能信号

signalupdown:

std_logic;--电梯运动方向信号寄存器

signalen_up,en_dw:

std_logic;--预备上升、预备下降预操作使能信号

begin

com:

process(clk)

begin

ifclk'eventandclk='1'then

ifclr='1'thenq1<=0;q2<=0;wahaha<='0';--清除故障报警

elsiffull='1'thenalarm<='1';q1<=0;--超载报警

ifq1>=3thendoor<="10";

elsedoor<="00";

endif;

elsifq=1thenq<=0;alarm<='0';

ifq2=3thenwahaha<='1';--故障报警

else

ifopendoor='1'thendoor<="10";q1<=0;q2<=0;up<='0';down<='0';--开门操作

elsifen_up='1'then--上升预操作

ifdeng='1'thendoor<="10";q1<=0;q2<=q2+1;--关门中断

elsifquick='1'thenq1<=3;--提前关门

elsifq1=6thendoor<="00";updown<='1';up<='1';--关门完毕,电梯进入上升状态

elsifq1>=3thendoor<="01";q1<=q1+1;--电梯进入关门状态

elseq1<=q1+1;door<="00";--电梯进入等待状态

endif;

elsifen_dw='1'then--下降预操作

ifdeng='1'thendoor<="10";q1<=0;q2<=q2+1;

elsifquick='1'thenq1<=3;

elsifq1=6thendoor<="00";updown<='0';down<='1';

elsifq1>=3thendoor<="01";q1<=q1+1;

elseq1<=q1+1;door<="00";

endif;

endif;

ifg1='1'thenled<="1001111";--电梯到达1楼,数码管显示1

ifd11='1'orc_u11='1'thend11<='0';c_u11<='0';opendoor<='1';

--有当前层的请求,则电梯进入开门状态

elsifdd_cc>"000001"thenen_up<='1';opendoor<='0';

--有上升请求,则电梯进入预备上升状态

elsifdd_cc="000000"thenopendoor<='0';--无请求时,电梯停在1楼待机

endif;

elsifg2='1'thenled<="0010010";--电梯到达2楼,数码管显示2

ifupdown='1'then--电梯前一运动状态位上升

ifd22='1'orc_u22='1'thend22<='0';c_u22<='0';opendoor<='1';

--有当前层的请求,则电梯进入开门状态

elsifdd_cc>"000011"thenen_up<='1';opendoor<='0';

--有上升请求,则电梯进入预备上升状态

elsifdd_cc<"000010"thenen_dw<='1';opendoor<='0';

--有下降请求,则电梯进入预备下降状态

endif;

--电梯前一运动状态为下降

elsifd22='1'orc_d22='1'thend22<='0';c_d22<='0';opendoor<='1';

--有当前层的请求,则电梯进入开门状态

elsifdd_cc<"000010"thenen_dw<='1';opendoor<='0';

--有下降请求,则电梯进入预备下降状态

elsifdd_cc>"000011"thenen_up<='1';opendoor<='0';

--有上升请求,则电梯进入预备上升状态

endif;

elsifg3='1'thenled<="0000110";--电梯到达3楼,数码管显示3

ifupdown='1'then

ifd33='1'orc_u33='1'thend33<='0';c_u33<='0';opendoor<='1';

elsifdd_cc>"000111"thenen_up<='1';opendoor<='0';

elsifdd_cc<"000100"thenen_dw<='1';opendoor<='0';

endif;

elsifd33='1'orc_d33='1'thend33<='0';c_d33<='0';opendoor<='1';

elsifdd_cc<"000100"thenen_dw<='1';opendoor<='0';

elsifdd_cc>"000111"thenen_up<='1';opendoor<='0';

endif;

elsifg4='1'thenled<="1001100";--电梯到达4楼,数码管显示4

ifupdown='1'then

ifd44='1'orc_u44='1'thend44<='0';c_u44<='0';opendoor<='1';

elsifdd_cc>"001111"thenen_up<='1';opendoor<='0';

elsifdd_cc<"001000"thenen_dw<='1';opendoor<='0';

endif;

elsifd44='1'orc_d44='1'thend44<='0';c_d44<='0';opendoor<='1';

elsifdd_cc<"001000"thenen_dw<='1';opendoor<='0';

elsifdd_cc>"001111"thenen_up<='1';opendoor<='0';

endif;

elsifg5='1'thenled<="0100100";--电梯到达5楼,数码管显示5

ifupdown='1'then

ifd55='1'orc_u55='1'thend55<='0';c_u55<='0';opendoor<='1';

elsifdd_cc>"011111"thenen_up<='1';opendoor<='0';

elsifdd_cc<"010000"thenen_dw<='1';opendoor<='0';

endif;

elsifd55='1'orc_d55='1'thend55<='0';c_d55<='0';opendoor<='1';

elsifdd_cc<"010000"thenen_dw<='1';opendoor<='0';

elsifdd_cc>"011111"thenen_up<='1';opendoor<='0';

endif;

elsifg6='1'thenled<="0100000";--电梯到达6楼,数码管显示6

ifd66='1'orc_d66='1'thend66<='0';c_d66<='0';opendoor<='1';

elsifdd_cc<"100000"thenen_dw<='1';opendoor<='0';

endif;

elseen_up<='0';en_dw<='0';--电

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

当前位置:首页 > 自然科学 > 天文地理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1