《2022年电梯verilog程序 .pdf》由会员分享,可在线阅读,更多相关《2022年电梯verilog程序 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Verilog 电梯控制器设计时间:2007-04-06 来源:作者:点击:2334 字体大小:【大中 小】设计一个八层楼房自动电梯控制器,用八个LED 显示电梯行进过程,并有数码管显示电梯当前所在楼层位置,在每层电梯入口处设有请求按钮开关,请求按钮按下则相应楼层的 LED 亮。用 CLK 脉冲控制电梯运动,每来一个CLK 脉冲电梯升(降)一层。电梯到达有请求的楼层后,该层次的指示灯灭,电梯门打开(开门指示灯亮),开门 5 秒后,电梯门自动关闭,电梯继续运行。控制电路应能记忆所有楼层请求信号,并按如下运行规则依次相应:运行过程中先响应最早的请求,再响应后续的请求。如果无请求则停留当前层。如果有
2、两个同时请求信号,则判断请求信号离当偍层的距离,距离近请求的先响应,再响应较远的请求。每个请求信号保留至执行后清除。设计提示此设计问题可分为请求信号输入模块、主控模块、移位寄存显示模块和楼层显示几部分。图 电梯控制器系统框图在请求信号输入模块中,设置八个开关电平信号d1,d2,d3,d4,d5,d6,d7,d8 表示 8 个楼层的请求信号,每次最多允许两个信号同时请求。在主控模块中设置开门指示信号door,door=1 为开门状态;door=0 为关门状态。在移位寄存显示模块中设置八个LED 显示信号o1,o2,o3,o4,o5,o6,o7,o8,表示当前所在楼层及发出请求信号的楼层用移位寄存
3、模块的up 表示电梯上行(右移),down 表示电梯下行(左移),电梯初始状态是处在一层,当前楼层经主控模块送数码管显示。当前楼层信号A 和请求信号B 在主控模块中进行实时比较,当AB,则移位寄存模块的down 信号有效,电梯下行,直到A=B,电梯开门5 秒,如名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -此反复。若没有请求信号输入,则电梯停在当前楼层不动。若同时有两个请求信号输入,主控模块应能将两个请求信号分别与当前楼层信号比较,使电梯先去距离较近的楼层。图 电梯控制器硬件系统示意图电梯控制器主控电路Verilog HDL 代码:/电梯控制器/*信号定义:clk:时
4、钟信号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;output o1,o2,o3,o4,o5,o6,o7,o8,door,fl;reg o1,o2,o3,o4,o5,o6,o7,o8,door,up,down;reg8:1 des;reg2:0
5、 count;reg3:0 low,high,fl;always(posedge clk)begin/if(d1)begin des11|low=4 b0000)low=1;end if(d2)begin 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -des2=1;if(high2&d3,d4,d5,d6,d7,d8=6 b000000)high2|low=4 b0000)&!d1)low=1;end if(d3)begin des3=1;if(high3&d4,d5,d6,d7,d8=5 b00000)high3|low=4 b0000)&d1,d2=2 b00)l
6、ow=3;endif(d4)begin des4=1;if(high4&d5,d6,d7,d8=4 b0000)high4|low=4 b0000)&d1,d2,d3=3 b000)low=4;endif(d5)begin des5=1;if(high5&d6,d7,d8=3 b000)high5|low=4 b0000)&d1,d2,d3,d4=4 b0000)low=5;endif(d6)begin des6=1;if(hig h6&d7,d8=2 b00)high6|low=4 b0000)&d1,d2,d3,d4,d5=5 b00000)low=6;endif(d7)begin des
7、7=1;if(high7&!d8)high7|low=4 b0000)&d1,d2,d3,d4,d5,d6=6 b000000)low=7;end if(d8)begin des8=1;if(high8)high=8;end/if(o1,o2,o3,o4,o5,o6,o7,o8=8 b00000000)begin o1,o2,o3,o4,o5,o6,o7,o8=8 b10000000;fl=1;end else if(count=3 b101)begin count=0;door=0;if(low=fl)low=4 b0000;if(high=fl)high=4 b0000;end else
8、if(count!=0)begin count=count+1;door=1;end else if(o1&des1)begin count=1;des1=0;end else if(o2&des2)名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -begin count=1;des2=0;end else if(o3&des3)begin count=1;des3=0;end else if(o4&des4)begin count=1;des4=0;end else if(o5&des5)begin count=1;des5=0;end else if(o6&des6)
9、begin count=1;des6=0;end else if(o7&des7)begin count=1;des7=0;end else if(o8&des8)begin count=1;des8=0;end/else if(up)begin if(flhigh)begin o1,o2,o3,o4,o5,o6,o7,o81;fl=fl+1;end else begin 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -if(low!=4 b0000&lowfl&high-flfl-low)up=1;else downfl)up=1;end/*end end module uplow&low!=4 b0000)begin o1,o2,o3,o4,o5,o6,o7,o8=o1,o2,o3,o4,o5,o6,o7,o81;fl=fl-1;end else down=0;end else/*名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -