background image

八层电梯控制器设计

 

设计一个八层楼房自动电梯控制器,用八个 LED 显示电梯行进过程,并有数码管显

示电梯当前所在楼层位置,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应
楼层的 LED

 

亮。用 CLK

 

脉冲控制电梯运动,每来一个 CLK 脉冲电梯升(降)一层。电梯

 

到达有请求的楼层后,该层次的指示灯灭,电梯门打开(开门指示灯亮),开门 5 秒后,
电梯门自动关闭,电梯继续运行。

 
控制电路应能记忆所有楼层请求信号,并按如下运行规则依次相应:运行过程中先

响应最早的请求,再响应后续的请求。如果无请求则停留当前层。如果有两个同时请求信
号,则判断请求信号离当偍层的距离,距离近请求的先响应,再响应较远的请求。每个请
求信号保留至执行后清除。

 
设计提示
此设计问题可分为请求信号输入模块、主控模块、移位寄存显示模块和楼层显示几部

分。

 

在请求信号输入模块中,设置八个开关电平信号 d1,d2,d3,d4,d5,d6,d7,d8 

 

表示 8 个楼

 

层的请求信号,每次最多允许两个信号同时请求。 在主控模块中设置开门指示信号 
door,door=1 为开门状态;door=0 为关门状态。

 

在移位寄存显示模块中设置八个 LED 显示信号 o1,o2,o3,o4,o5,o6,o7,o8,表示当前所

 

在楼层及发出请求信号的楼层用移位寄存模块的 up 表示电梯上行(右移),down 表示
电梯下行(左移),电梯初始状态是处在一层,当前楼层经主控模块送数码管显示。

 

当前楼层信号 A

 

和请求信号 B 

 

在主控模块中进行实时比较,当 A<B 时,主控模块

 

的输出使移位寄存模块的 UP 信号有效,电梯上行,直到

A=B,电梯开门(door=1)5 秒,若 A>B

 

,则移位寄存模块的 down 信号有效,电梯

 

下行,直到 A=B,电梯开门 5 秒,如此反复。若没有请求信号输入,则电梯停在当前楼层
不动。若同时有两个请求信号输入,主控模块应能将两个请求信号分别与当前楼层信号比
较,使电梯先去距离较近的楼层。

电梯控制器主控电路 Verilog HDL 代码:
//电梯控制器
/*信号定义:
clk:时钟信号
d1,d2,d3,d4,d5,d6,d7,d8:楼层请求信号
o1,o2,o3,o4,o5,o6,o7,o8:楼层与请求信号状态显示
door:开门指示信号
fl:送数码管显示的当前楼层数
*/
module lift(clk,d1,d2,d3,d4,d5,d6,d7,d8,o1,o2,o3,o4,o5,o6,o7,o8,door,fl);
input clk,d1,d2,d3,d4,d5,d6,d7,d8;