数字逻辑课程设计-电梯控制系统Word版_第1页
数字逻辑课程设计-电梯控制系统Word版_第2页
数字逻辑课程设计-电梯控制系统Word版_第3页
数字逻辑课程设计-电梯控制系统Word版_第4页
数字逻辑课程设计-电梯控制系统Word版_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

整理为word格式整理为word格式整理为word格式数字电路与逻辑设计课程设计报告题目:电梯控制器的设计与实现专业: 班级: 学号: 姓名: 电话: 邮件: 分组: 完成日期: 指导教师: 整理为word格式整理为word格式整理为word格式团队成员:姓名班级学号贡献百分比实验部分完成情况(亮点、完成、基本完成、未完成、时间)总分:实验部分70%+报告30%)检查老师签名:整理为word格式整理为word格式整理为word格式目录课程设计概述.........................................................................................................................................课设目的............................................................................................................................课设要求............................................................................................................................课设任务............................................................................................................................实验环境............................................................................................................................基本方案设计.........................................................................................................................................设计需求............................................................................................................................总体结构设计....................................................................................................................电梯状态判断模块..........................................................................................................电梯上下楼控制模块......................................................................................................电梯开关门模块..............................................................................................................整理为word格式整理为word格式整理为word格式电梯升降模块..................................................................................................................电梯指示灯模块..............................................................................................................电梯数码管显示模块......................................................................................................详细设计............................................................................................................................电梯状态判断模块..........................................................................................................电梯上下楼控制模块....................................................................................................电梯开关门模块............................................................................................................电梯升降模块................................................................................................................电梯指示灯模块............................................................................................................电梯数码管显示模块....................................................................................................实验过程与调试..............................................................................................................真结果........................................................................................................................整理为word格式整理为word格式整理为word格式主要故障与调试............................................................................................................1课程设计概述1.1课设目的通过硬件描述语言VHDL的编程,深入了解并掌握可编程芯片PLD的设计技术,加强学生对《数字逻辑》课程所学知识综合利用的能力。培养学生创造性思维能力和独立解决实际问题的能力。1.2课设要求能够全面地应用课程中所学的基本理论和基本方法,完成从设计逻辑电路到设计简单数字系统的过渡。能力独立思考、独立查阅资料,独立设计规定的系统。能够独立地完成实施过程,包括安装、布线、测试和排除故障。1.3课设任务制定出详细设计方案;通过VerilogHDL完成规定的设计任务,然后进行编译和仿真,保证设计的正确性;生成容丝图文件,下载到Basys2开发板,通过实际线路进行验证;对复杂系统的设计采取模块化、层次化的设计方法;撰写设计报告,并对存在的问题进行分析、提出改进意见。1.4实验环境Basys2开发板(芯片为XC3S100E,封装为CP132)1套;Xilinx_ISE设计仿真软件1套;计算机1台。整理为word格式整理为word格式整理为word格式2基本方案设计2.1设计需求随着科学技术的发展以及城市化建设,越来越多的高楼林立在城市之间,对于电梯的需求也愈发强烈。因此,一部安全可靠的电梯逐渐成为人们热议的话题,而我们要设计的电梯控制系统,能实现各种用户需求,并且安全可靠,足以适应当前社会发展的要求。2.2总体结构设计本电梯控制器系统包含:电梯状态判断模块电梯上下楼控制模块电梯开关门模块电梯升降模块电梯指示灯模块电梯数码管显示模块共六个模块。电梯分为以下四个状态:关门等待状态此时,电梯门关闭且停在某一楼,等待用户请求。电梯上行状态电梯此刻处于向上运行状态。电梯下行状态电梯此刻处于向下运行状态。开门状态此时,电梯门打开,同时进行关门倒计时。2.2.1电梯状态判断模块该模块用于获取电梯此刻的状态,并根据用户请求进行相应状态转变。输入:openButton——电梯开门按键整理为word格式整理为word格式整理为word格式 powerButton——电梯电源按键 targetFloor——用户请求的目标楼层输出:liftState——电梯状态2.2.2电梯上下楼控制模块该模块用于获取用户请求,判断电梯是否到达目标楼层以及进行计时器设置。输入:powerButton——电梯电源键 resetButton——电梯重置按键infloorButton1——电梯内部1楼按键 infloorButton3——电梯内部3楼按键 infloorButton6——电梯内部6楼按键 infloorButton8——电梯内部8楼按键 outfloorButton1——电梯外部1楼按键 outfloorButton3——电梯外部3楼按键 outfloorButton6——电梯外部6楼按键 outfloorButton8——电梯外部8楼按键 liftState——电梯状态输出:targetFloor——目标楼层 clkFloor——电梯楼层间运行速率 整理为word格式整理为word格式整理为word格式clkLight——电梯运行灯 runTime——电梯运行时间2.2.3电梯开关门模块该模块用于处理用户开关门请求并进行关门倒计时输入:powerButton——电梯电源按键 openButton——电梯开门按键 closeButton——电梯关门按键 liftState——电梯状态输出:doorTime——关门时间 doorState——电梯门状态 doorLight——电梯门灯2.2.4电梯升降模块该模块进行电梯上升、下降处理输入:liftState——电梯状态输出:currentFloor——当前楼层2.2.5电梯指示灯模块该模块用于电梯运行时,控制上行灯、下行灯亮与灭输入:liftState——电梯状态输出:upLight——电梯上行灯 ownLight——电梯下行灯 整理为word格式整理为word格式整理为word格式runState——电梯运行状态2.2.6电梯数码管显示模块该模块用于显示电梯运行时间、关门时间、当前楼层输入:currentFloor——当前楼层 runTime——运行时间 doorTime——关门时间输出:eightDecode——八段数码显示管 sevenF、sevenJ、sevenM、sevenK——数码扫描管显示2.2.7总控制模块电梯升降模块电梯状态判断模块结合个子模块,共同实现电梯功能电梯升降模块电梯状态判断模块总控制模块电梯指示灯模块总控制模块电梯指示灯模块电梯上下楼模块电梯上下楼模块数码管显示模块数码管显示模块电梯开关门模块电梯开关门模块整理为word格式整理为word格式整理为word格式2.3详细设计顶层模块——将各个子模块有机结合起来,以实现各个功能2.3.1电梯状态判断模块本模块用于处理电梯各种运行状态并进行设置整理为word格式整理为word格式整理为word格式模块模块开始电源键开关开关电梯置于关门状态开门键开电梯处于关门状态是电梯置于开门状态关电梯处于上升状态否否当前楼层与目标楼层是否相等是电梯置于关门状态电梯运行2.3.2电梯上下楼判断模块本模块用于处理用户楼层请求、以及判断是否到达目标楼层整理为word格式整理为word格式整理为word格式模块模块开始电源键是否打开是否电梯目标楼层请求清空电梯计时器清零电梯重置按下楼层请求只为1楼其他楼层请求清零未按根据用户具体楼层按键,设置相应楼层请求电梯达到指定楼层后,对应楼层请求清空2.3.3电梯开关门模块整理为word格式整理为word格式整理为word格式本模块用于电梯静止时运行状态本模块用于电梯静止时运行状态否是否是是否是模块开始电源键是否打开强制开关打开并且电梯运行状态为开门或静止开门指示灯亮,开门状态为开,开始5秒倒计时电梯运动状态为打开强制关门键开门指示灯灭,倒计时直接置为0开门指示灯亮,倒计时5秒开门指示灯灭,状态为关门状态。关门计时为0整理为word格式整理为word格式整理为word格式2.3.4电梯升降模块否是电梯状态为上升当前楼层+1电梯状态为下降模块开始当前楼层-12.3.5电梯指示灯模块本模块用于指示电梯上下运行状态 电梯下行状态否模块开始电梯上行状态否是是上行指示灯灭,下行指示灯亮上行指示灯亮,下行指示灯灭上、下下指示灯均灭整理为word格式整理为word格式整理为word格式2.3.6电梯数码管显示模块否是扫描分频显示当前楼层电梯状态为上升或者下降显示楼层间9秒倒计时电梯状态为开门显示5秒开门倒计时模块开始实验过程与调试2.4.1模块内部图1、主模块整理为word格式整理为word格式整理为word格式输入:clk:时钟端powerButton:电源开关resetButton:重置开关openButton:强制开门closeButton:强制关门infloorButton1:一楼内部开关infloorButton3:三楼内部开关infloorButton6:六楼内部开关infloorButton8:八楼内部开关outfloorButton1:一楼外部开关outfloorButton3:三楼外部开关outfloorButton6:六楼外部开关outfloorButton8:八楼外部开关整理为word格式整理为word格式整理为word格式输出:eightDecode:七段显示译码器flashLight:电梯运行闪烁灯doorLight:开门显示灯upLight:上升指示灯floorLight1:一楼指示灯floorLight3:三楼指示灯floorLight6:六楼指示灯floorLight8:八楼指示灯sevenF,sevenJ,sevenM,sevenK:数码管扫描指示2.4.2仿真结果1、电梯状态判断模块仿真文件如下:moduletest;//Inputsregclk;regpowerButton;regresetButton;regopenButton; regcloseButton; reginfloorButton1; reginfloorButton3; reginfloorButton6; reginfloorButton8; regoutfloorButton1; regoutfloorButton3; regoutfloorButton6; regoutfloorButton8;整理为word格式整理为word格式整理为word格式 //Outputs wire[7:0]eightDecode; wireflashLight; wiredoorLight; wireupLight; wiredownLight; wirefloorLight1; wirefloorLight3; wirefloorLight6; wirefloorLight8; wiresevenF; wiresevenJ; wiresevenM; wiresevenK;alwaysbegin #5; clk=~clk;endalways整理为word格式整理为word格式整理为word格式 begin #5; infloorButton1=~infloorButton1; endalways begin #10; outfloorButton3=~outfloorButton3; endalways begin #15; outfloorButton6=~outfloorButton6; endalways begin #20;infloorButton8=~infloorButton8;end initialbegin //InitializeInputs clk=0; powerButton=1; resetButton=0;openButton=0;closeButton=0;infloorButton1=0;infloorButton3=0;infloorButton6=0;infloorButton8=0;整理为word格式整理为word格式整理为word格式 outfloorButton1=0; outfloorButton3=0; outfloorButton6=0; outfloorButton8=0; endendmodule仿真结果:2、电梯上下楼判断模块仿真文件如下:moduletest; //Inputs regclk; regpowerButton;regresetButton;regopenButton;regcloseButton;reginfloorButton1;整理为word格式整理为word格式整理为word格式reginfloorButton3;reginfloorButton6; reginfloorButton8; regoutfloorButton1; regoutfloorButton3; regoutfloorButton6; regoutfloorButton8; //Outputs wire[7:0]eightDecode; wireflashLight; wiredoorLight; wireupLight; wiredownLight; wirefloorLight1; wirefloorLight3; wirefloorLight6; wirefloorLight8; wiresevenF; wiresevenJ; wiresevenM; wiresevenK;整理为word格式整理为word格式整理为word格式always begin #5; clk=~clk;endalwaysbegin#5;infloorButton1=~infloorButton1;endalways begin #15; outfloorButton3=~outfloorButton3; endalways begin #25; outfloorButton6=~outfloorButton6; endalways begin #35; infloorButton8=~infloorButton8; end initialbegin //InitializeInputs clk=0; powerButton=1; resetButton=0; openButton=0; closeButton=0; infloorButton1=0; infloorButton3=0;infloorButton6=0;infloorButton8=0;outfloorButton1=0;outfloorButton3=0;outfloorButton6=0;outfloorButton8=0;整理为word格式整理为word格式整理为word格式 endendmodule仿真结果:3、电梯开关门模块仿真文件如下:整理为word格式整理为word格式整理为word格式moduletest; //Inputs regclk; regpowerButton; regresetButton; regopenButton; regcloseButton; reginfloorButton1; reginfloorButton3;reginfloorButton6;reginfloorButton8;regoutfloorButton1;regoutfloorButton3;regoutfloorButton6;regoutfloorButton8; //Outputs wire[7:0]eightDecode; wireflashLight; wiredoorLight; wireupLight; wiredownLight; wirefloorLight1; wirefloorLight3; wirefloorLight6; wirefloorLight8; wiresevenF; wiresevenJ; wiresevenM; wiresevenK;整理为word格式整理为word格式整理为word格式always begin #5; clk=~clk; endalways begin #8; openButton=~openButton;endalways#7closeButton=~closeButton;always#50infloorButton8=~infloorButton8;initialbegin //InitializeInputs clk=0; powerButton=1; resetButton=0; openButton=0; closeButton=0; infloorButton1=0; infloorButton3=0; infloorButton6=0; infloorButton8=0; outfloorButton1=0; outfloorButton3=0; outfloorButton6=0; outfloorButton8=0;整理为word格式整理为word格式整理为word格式 //Wait100nsforglobalresettofinish //Addstimulushere endendmodule仿真结果:4、电梯升降模块仿真文件如下:moduletest; //Inputs regclk; regpowerButton; regresetButton; regopenButton; regcloseButton; reginfloorButton1; reginfloorButton3; reginfloorButton6; reginfloorButton8; regoutfloorButton1; regoutfloorButton3; regoutfloorButton6; regoutfloorButton8;整理为word格式整理为word格式整理为word格式 //Outputs wire[7:0]eightDecode; wireflashLight; wiredoorLight; wireupLight; wiredownLight; wirefloorLight1; wirefloorLight3; wirefloorLight6; wirefloorLight8; wiresevenF; wiresevenJ; wiresevenM; wiresevenK; always begin整理为word格式整理为word格式整理为word格式 #5; clk=~clk; endalways#10infloorButton8=~infloorButton8;always#100infloorButton3=~infloorButton3; initialbegin //InitializeInputs clk=0; powerButton=1; resetButton=0; openButton=0; closeButton=0; infloorButton1=0; infloorButton3=0; infloorButton6=0; infloorButton8=0; outfloorButton1=0; outfloorButton3=0; outfloorButton6=0; outfloorButton8=0; //Wait100nsforglobalresettofinish //Addstimulushere endendmodule仿真结果:整理为word格式整理为word格式整理为word格式5、电梯指示灯模块仿真文件如下:moduletest; //Inputs regclk; regpowerButton; regresetButton; regopenButton; regcloseButton; reginfloorButton1; reginfloorButton3; reginfloorButton6; reginfloorButton8; regoutfloorButton1; regoutfloorButton3; regoutfloorButton6; regoutfloorButton8; //Outputswire[7:0]eightDecode;wireflashLight;wiredoorLight;wireupLight;整理为word格式整理为word格式整理为word格式wiredownLight;wirefloorLight1; wirefloorLight3; wirefloorLight6; wirefloorLight8; wiresevenF; wiresevenJ; wiresevenM; wiresevenK; always begin #5; clk=~clk; endalways begin #20; infloorButton3=~infloorButton3; endalways begin #40;整理为word格式整理为word格式整理为word格式 infloorButton6=~infloorButton6; endalways begin #80; outfloorButton8=~outfloorButton8;endinitialbegin //InitializeInputs clk=0; powerButton=1; resetButton=0; openButton=0; closeButton=0; infloorButton1=0; infloorButton3=0; infloorButton6=0; infloorButton8=0; outfloorButton1=0; outfloorButton3=0; outfloorButton6=0; outfloorButton8=0; //Wait100nsforglobalresettofinish //Addstimulushere整理为word格式整理为word格式整理为word格式 endendmodule仿真结果:6、电梯数码管显示模块仿真文件如下:moduletest; //Inputs regclk; regpowerButton; regresetButton; regopenButton; regcloseButton; reginfloorButton1; reginfloorButton3; reginfloorButton6; reginfloorButton8; regoutfloorButton1; regoutfloorButton3; regoutfloorButton6; regoutfloorButton8;整理为word格式整理为word格式整理为word格式 //Outputs wire[7:0]eightDecode; wireflashLight; wiredoorLight; wireupLight; wiredownLight;wirefloorLight1;wirefloorLight3;wirefloorLight6;wirefloorLight8;wiresevenF;wiresevenJ; wiresevenM; wiresevenK; always begin #5; clk=~clk; endalways#10infloorButton6=~infloorButton6;initialbegin//InitializeInputsclk=0;powerButton=1;resetButton=0;openButton=0;closeButton=0;infloorButton1=0;infloorButton3=0;infloorButton6=0;infloorButton8=0;outfloorButton1=0;outfloorButton3=0;outfloorButton6=0;outfloorButton8=0;整理为word格式整理为word格式整理为word格式 //Wait100nsforglobalresettofinish //Addstimulushereendendmodule仿真结果:2.4.3主要故障与调试(1)故障1问题描述::3、6两层电梯外按键未设置上下行按键,导致电梯不能完成如(电梯1楼,3楼下,6楼上)这样的问题整理为word格式整理为word格式整理为word格式解决办法:增加3楼上下,6楼上下按键,以同向较近优先,反向较远优先2.5功能测试2.5.1电梯初始状态功能测试图2.5.1电梯初始状态模块测试功能测试:打开电源,显示当前楼层为一楼。打开强制开门开关,开门灯亮,倒计时5秒整理为word格式整理为word格式整理为word格式2.5.2电梯上升模块功能测试图2.5.2电梯上升模块测试功能测试:如图,打开电源,按下6楼按钮,6楼指示灯亮,上行指示灯亮,当前楼层为4楼,每层楼之间进行9秒倒计时,此时倒计时进行至7秒。每层楼之间运行指示灯闪烁9下。3.3仿真与测试3总结与心得4.1课设总结为了实现电梯控制器系统的功能要求,作了如下几点工作:前期对顶层模块和子模块做了划分,确定了顶层模块对子模块的控制每当完成一个子模块时,便进行仿真测试,查找错漏的地方后期上开发板调试时,仔细斟酌各模块设计是否合理,并根据实际情况进行修改整理为word格式整理为word格式整理为word格式4.2课设心得本次课程设计,加强了对上学期所学知识的理解,意识到理论对实践的重要性,也培养了和同学的交流协作能力。而设计中所存在的缺陷,让自己意识到自己分析设计的不足。同时,对verilog语言的学习和运用,也让自己意识到在编程能力仍需要提高。附录(源程序).v文件modulemain( inputwireclk,//时钟信号 inputwirepowerButton,//电源开关 inputwireresetButton,//重置开关 inputwireopenButton,//强制开门 inputwirecloseButton,//强制关门 inputwireinfloorButton1,//一楼内部开关 inputwireinfloorButton3,//三楼内部开关 inputwireinfloorButton6,//六楼内部开关 inputwireinfloorButton8,//八楼内部开关 inputwireoutfloorButton1,//一楼外部开关 inputwireoutfloorButton3,//三楼外部开关 inputwireoutfloorButton6,//六楼外部开关 inputwireoutfloorButton8,//八楼外部开关整理为word格式整理为word格式整理为word格式 outputreg[7:0]eightDecode,//七段显示译码器 outputwireflashLight,//电梯运行闪烁灯 outputwiredoorLight,//开门显示灯 outputregupLight,//上升指示灯 outputregdownLight,//下降指示灯 outputwirefloorLight1,//一楼指示灯 outputwirefloorLight3,//三楼指示灯 outputwirefloorLight6,//六楼指示灯 outputwirefloorLight8,//八楼指示灯 outputregsevenF, outputregsevenJ, outputregsevenM, outputregsevenK); reg[3:0]currentFloor;//电梯当前楼层 reg[3:0]targetFloor;//目标楼层,1代表当前楼层有请求 reg[1:0]liftState;//电梯运行状态0.关门等待状态1.上升状态2.下降状态3.开门状态 regmark;//用于周期滞后 wiredoorState;//电梯门开关状态,0为关门,1为开门 regrunState;//电梯最近运动状态,1为上升,0为下降 reg[2:0]doorTime; regclkFloor; //电梯上下楼层速率 regclkLight;//电梯运行时指示灯闪烁频率 regscan;整理为word格式整理为word格式整理为word格式 reg[3:0]runTime;//电梯运行时间显示 integerq,qLight,qScan,qRun; reg[28:0]cTime;//电梯关门计时器initial//初始化 begin q<=0; qLight<=0; qScan<=0; qRun<=0; cTime<=0; runState<=1;//电梯初始化上升 liftState<=0;//电梯初始化状态 currentFloor<=1;//当前楼层初始化为1楼 targetFloor[0]<=0;//目标楼层均初始化为无请求 targetFloor[1]<=0; targetFloor[2]<=0; targetFloor[3]<=0; clkFloor<=0; clkLight<=0; runTime<=0;scan<=0;sevenF<=0; sevenJ<=1; sevenM<=1; sevenK<=1; doorTime<=0; end整理为word格式整理为word格式整理为word格式//绑定将目标楼层绑定至相应LED灯上 assignfloorLight1=targetFloor[0]; assignfloorLight3=targetFloor[1]; assignfloorLight6=targetFloor[2]; assignfloorLight8=targetFloor[3]; assigndoorLight=(cTime<=286870911||cTime==0)?0:1; assigndoorState=(cTime<=286870911||cTime==0)?0:1; assignflashLight=clkLight;///////////////////////////////////////////////////////////////////////////////module--StatueJudgealways@(posedgeclk) begin if(powerButton==1&&openButton==1&&liftState==0) begin liftState<=3; mark<=0; end elseif(powerButton==1&&(liftState==0||liftState==1||liftState==2)) begin case(currentFloor) 1:整理为word格式整理为word格式整理为word格式 begin if(targetFloor[0]) begin liftState<=3; mark<=0; end elseif(targetFloor[1]|targetFloor[2]|targetFloor[3]) begin liftState<=1; end end 3: begin if(targetFloor[1]) begin liftState<=3; mark<=0; end elseif(targetFloor[0]|targetFloor[2]|targetFloor[3]) begin if(runState==0&targetFloor[0]) begin liftState<=2; end整理为word格式整理为word格式整理为word格式 elseif(runState==1&(targetFloor[2]|targetFloor[3])) begin liftState<=1; end elseif(targetFloor[0]) begin liftState<=2; end elseif(targetFloor[2]|targetFloor[3]) begin liftState<=1; end end end 6: begin if(targetFloor[2]) begin liftState<=3; mark<=0; end elseif(targetFloor[0]|targetFloor[1]|targetFloor[3]) begin整理为word格式整理为word格式整理为word格式 if(runState==1&targetFloor[3]) begin liftState<=1; end elseif(runState==0&(targetFloor[0]|targetFloor[1])) begin liftState<=2; end elseif(targetFloor[3]) begin liftState<=1; end elseif(targetFloor[0]|targetFloor[1]) begin liftState<=2; end end end 8:begin if(targetFloor[3]) begin liftState<=3; mark<=0; end整理为word格式整理为word格式整理为word格式 elseif(targetFloor[0]|targetFloor[1]|targetFloor[2]) begin liftState<=2; end end default: begin if(runState==0) liftState<=2; else liftState<=1; end endcase end else begin if(mark==1) begin if(doorState==0) begin liftState<=0; end end else begin mark<=1;整理为word格式整理为word格式整理为word格式 end end end////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////module--ControlSystemalways@(posedgeclk) beginif(powerButton==1)//电梯运行开关打开 begin//计时器 if(liftState==1||liftState==2) begin if(q==225000000) begin clkFloor<=~clkFloor; q<=0; end else整理为word格式整理为word格式整理为word格式 begin q<=q+1; end if(qLight==25000000) begin clkLight<=~clkLight; qLight<=0; end else begin qLight<=qLight+1; end if(runTime==0) begin runTime<=9; end if(qRun==50000000) begin runTime<=runTime-1; qRun<=0; end else begin qRun<=qRun+1; end整理为word格式整理为word格式整理为word格式 end else begin q<=0; clkLight<=0; end//判断用户请求 if(resetButton==1) begin targetFloor[0]<=1; targetFloor[1]<=0; targetFloor[2]<=0; targetFloor[3]<=0; end else begin if(infloorButton1||outfloorButton1) targetFloor[0]<=1; if(infloorButton3||outfloorButton3) targetFloor[1]<=1; if(infloorButton6||outfloorButton6) targetFloor[2]<=1; if(infloorButton8||outfloorButton8) targetFloor[3]<=1; end//判断是否到达目标楼层整理为word格式整理为word格式整理为word格式 if(currentFloor==1&targetFloor[0]) targetFloor[0]<=0; if(currentFloor==3&targetFloor[1]) targetFloor[1]<=0; if(currentFloor==6&targetFloor[2]) targetFloor[2]<=0; if(currentFloor==8&targetFloor[3]) targetFloor[3]<=0; endelseif(powerButton==0) begin q<=0; targetFloor[0]<=0; targetFloor[1]<=0; targetFloor[2]<=0; targetFloor[3]<=0; end end//电梯状态控制--静止情况always@(posedgeclk) begin if(powerButton==1) begin if(openButton==1&&(liftState==0||liftState==3)) begin整理为word格式整理为word格式整理为word格式 cTime<=-1;//强制赋值,使cTime最高位置为1 doorTime<=5; end elseif(liftState==3) begin if(closeButton==1) begin cTime<=0; doorTime<=0; end else begin cTime<=cTime-1; if(cTime>=486870911) doorTime<=5; elseif(cTime>=436870911) doorTime<=4; elseif(cTime>=386870911) doorTime<=3; elseif(cTime>=336870911) doorTime<=2; elseif(cTime>=286870911) doorTime<=1; else doorTime<=0; end整理为word格式整理为word格式整理为word格式 else begin cTime<=0; end end else begin cTime<=0; end end//电梯状态控制--电梯升降always@(negedgeclkFloor begin if(liftState==1) begin currentFloor<=currentFloor+1; end elseif(liftState==2) begin currentFloor<=currentFloor-1; end end/////////////////////////////////////////////////////////////////////////////整理为word格式整理为word格式整理为word格式///////////////////////////////////////////////////////////////////////////////module--StatueDisplay//电梯升降指示灯always@(posedgeclk) begin if(liftState==1) begin upLight<=1; downLight<=0; runState<=1; endelseif(liftState==2) begin upLight<=0; downLight<=1; runState<=0; end else begin upLight<=0; downLight<=0; end end整理为word格式整理为word格式整理为word格式//数码管显示always@(posedgeclk) begin if(qScan==100000) begin scan<=~scan; qScan<=0; end else begin qScan<=qScan+1; end endalways@(posedgescan) begin sevenF=~sevenF; sevenJ=~sevenJ; sevenM=1; sevenK=1; if(sevenF==0) begin case(currentFloor) 1:eightDecode=8'b10011111; 2:eightDecode=8'b00100101; 3:eightDecode=8'b00001101; 4:eightDecode=8'b10011001;整理为wo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论