欢迎来到天天文库
浏览记录
ID:35807722
大小:437.50 KB
页数:15页
时间:2019-04-19
《数电课设数电实验报告——VHDL电梯控制器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字电路与逻辑设计实验报告班级:2010211111班姓名:冯乐天班内序号:01号学号:10210311北京邮电大学BeijingUniversityofPostsandTelecommunications简易三层电梯控制器一、设计课题的任务要求1.基本要求:i)电梯设有一层、二层外部呼叫按钮和内部一层、二层指定按钮(BTN);ii)利用数码管显示电梯所在楼层,用LED显示电梯运行状态如上行、下行、开门、关门等。2.提高要求:i)点阵显示楼层;ii)用点阵显示楼层的上下滚动移出移入表示电梯的上行或下行运行方向;iii)增加为三层电梯控制器。二、系统设计(包括设计思路、总体框图
2、、分块设计)1.设计思路:这个电梯控制器的核心是数字电路的状态转移思想。我将三层电梯的状态划分为一层(S0),二层上(S1),二层下(S2),三层(S3)四种,根据不同的输入进行状态转移,实现电梯的上下运行这一功能。而对于开关门状态,则放在对楼层(position)和按键(inside,outside)识别之后,状态转移之前,这样大幅减少了程序所需的状态数量,提高了代码的效率。下面我将根据程序的输入、输出和运行对程序的设计思路做一个简要的介绍:i)输入:程序的输入端口有时钟(clk)、复位(reset)、内部按键(inside)和外部按键(outside)。时钟(clk)提供
3、系统所需的时钟频率,是程序正常运行,复位(reset)能够使程序在异常状态下初始化,主要是为了方便在硬件上调试而设置的;内部按键(inside)为3位逻辑向量,对应实际电梯内部的按键1、2、3层按钮;外部按键(outside)为4位逻辑向量,对应实际电梯外部1层上、2层上、2层下和3层下按钮。ii)输出:程序输出端口有方向(direction)、内部按键灯(inlight)、外部按键灯(outlight)、楼层显示数码管(legout)和状态显示点阵(rowo、colo)。方向(direction)这个输出端口是起初没有实现点阵时使用的,最后完成时,可以采用单独的led显示,
4、也可整合在状态显示点阵(rowo、colo)的功能中;内部按键灯(inlight)和外部按键灯(outlight)是对输入端内部按键(inside)和外部按键(outside)的实时显示端口,表示现在又那些按钮被按下;楼层显示数码管(legout)用来显示当前楼层;状态显示点阵(rowo、colo)用来显示停留时开、关门状态,以及电梯的上升下降状态。i)运行过程:电梯状态判断的进程:a.接通电源后,电梯进行初始化,将有关信号置0;b.然后对输入端口进行读取,将按键(inside、outside)赋给对应信号(inside_var、outside_var);c.根据当前状态信号
5、(current_state)判断当前位置,再根据按键信号(inside_var、outside_var)与楼层信号(position)的关系判断进一步操作;例如:电梯处于2层上状态时,先后进行如下判断,若不成立进行下一判断——若内部2层按键或外部2层上按键被按下,则停留开门然后关门;若内外部3层按键被按下,那么确定下一个状态(next_state)为3层;若内外部1层按键或外部2层下按键被按下,那么确定下一个状态(next_state)为2层下;若所有按键均不被按下,则停留不开门,即确定下一个状态(next_state)为2层上。循环c。状态转换(即电梯上下行)的进程:每隔
6、一段时间将下一个状态(next_state)赋给当前状态(current_state)。显示进程:将程序中的信号赋给对应的输出端口,实现电梯位置、电梯运行状态、按键状态等的实时输出。2.总体框图:1.分块设计:一、仿真波形及波形分析输入按键,对应的按键灯亮示例:电梯在一层时,输入电梯内部三层按键(inside(2)<=1),按键灯亮(inlight(2)<=0),方向变为向上(direction<=1),电梯一次从一层上升到二层(position<=2),再从二层上升到三层(position<=3),门开(door<=1),延迟(状态保持不变),门关(door<=0),电梯三
7、层内部按键灯灭(inlight(2)<=0),之后无输入,故保持在三层关门状态。二、源程序(要有注释)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.all;USEIEEE.STD_LOGIC_ARITH.all;USEIEEE.STD_LOGIC_UNSIGNED.all;ENTITYelevatorISPORT(clk:INSTD_LOGIC;reset:INSTD_LOGIC;outside:INSTD_LOGIC_VECTOR(3DOWNTO0);--outside为电梯外
此文档下载收益归作者所有