EDA课程设计(论文)-电梯控制系统设计.doc

上传人:小小飞 文档编号:3901676 上传时间:2019-10-09 格式:DOC 页数:19 大小:398.50KB
返回 下载 相关 举报
EDA课程设计(论文)-电梯控制系统设计.doc_第1页
第1页 / 共19页
EDA课程设计(论文)-电梯控制系统设计.doc_第2页
第2页 / 共19页
EDA课程设计(论文)-电梯控制系统设计.doc_第3页
第3页 / 共19页
EDA课程设计(论文)-电梯控制系统设计.doc_第4页
第4页 / 共19页
EDA课程设计(论文)-电梯控制系统设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《EDA课程设计(论文)-电梯控制系统设计.doc》由会员分享,可在线阅读,更多相关《EDA课程设计(论文)-电梯控制系统设计.doc(19页珍藏版)》请在三一文库上搜索。

1、燕 山 大 学 课 程 设 计 说 明 书燕山大学课 程 设 计 说 明 书题目: 电梯控制 学院(系): 电气工程学院 年级专业: 09级应电3班 学 号: 学生姓名: 指导教师: 教师职称: 实验师 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:电子实验中心 学 号学生姓名专业(班级)设计题目电梯控制设计技术参数楼层显示1-7电梯自动从1层上升到7层,再从7层下降到1层在点阵电路上显示流动的上下箭头具有暂停功能设计要求8*8点阵电路显示上下箭头用1个数码管显示楼层1个数字开关实现暂停功能工作量学会使用Max+PlusII软件、Verilog HDL语言和实验箱;独立完

2、成电路设计,编程下载、连接电路和调试;参加答辩并书写任务书。工作计划1. 了解EDA的基本知识,学习使用软件Max+PlusII,下发任务书,开始电路设计;2. 学习Verilog HDL语言,用Verilog HDL进行程序设计3. 学习使用实验箱,继续电路设计;4. 完成电路设计;5. 编程下载、连接电路、调试和验收;6. 答辩并书写任务书。参考资料数字电子技术基础.阎石主编.高等教育出版社.EDA课程设计A指导书.郑兆兆等编. Verilog HDL程序设计与应用王伟编著指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012年01月 05

3、日 目 录第一章 设计说明3 一、设计思路 3 二、模块介绍 5 三、真值表 6第二章 Verilog HDL设计程序序 8第三章 波形仿真图 15第四章 管脚锁定及硬件连线 16第五章 总结 17参考文献 18第一章 设计说明 本课题设计实现了对电梯显示电路的控制。当电梯上升时,8*8点阵上出现流动的上升箭头,显码管随电梯上升依次显示1-7;当电梯下降时,8*8点阵上出现流动的下降的箭头,显码管随电梯下降依次显示7-1。电梯具有暂停功能。在实现课题要求的基础上,根据电梯的实际应用环境,增加了一下几个功能:一、电梯在中途停止时,箭头不在流动,而是根据实际情况显示闪动的向上或向下的箭头。此时电梯

4、的实际楼层位置与显码管显示应该一致,数码管不再变化。二、电梯暂停时,蜂鸣器随箭头闪动而发出声音,提示电梯处于暂停状态。暂停结束,蜂鸣器不再发声。三、电梯显示层数用动态数码管显示,电梯处于第几层,第几个动态数码管显示楼层数。一、设计思路该设计设置了一个开关switch,实现暂停功能。用中间变量flag作为电梯上升下降的使能信号,低电平时电梯上升,高电平时电梯下降。电梯到第一层是flag置零,第七层时flag置一。用ss记楼层数,flag为零时,ss递增,flag为一时,ss递减。并用ss作为数码管的位选信号。把ss编译为七段码的七位段码,用rl表示,并输出。用t作为蜂鸣器的使能信号,高电平有效。

5、用row和line控制点阵的行列扫描。由于箭头流动或闪动会有多个状态,所以程序中用中间变量p控制扫描哪个箭头。箭头的扫描过程如下:依次快速扫描下图1、2、3、4时由于发光二极管的余晖和人眼的视觉停留就会使人看到如图五的效果。其他图形同理可以得到(在此不一一列举)。当快速扫描时图5、6、7转换时,给人的感觉就是箭头在闪动。向下的闪动箭头同理可以得到。图1 图2 图2 图4 图5 图6 图7 图8 二、模块介绍该设计使用一个模块,内含4个always模块:模块1:电梯升降控制模块在此模块中,当开关switch开通时,ss开始计数,(clk0控制其计数周期,本程序中clk0为0.5hz,即2秒钟电梯

6、上升一层)flag为0时电梯上升,ss开始递增,ss为时Flag为1,电梯下降,ss递减,ss为0时,flag置0.依次循环。同时ss即为楼层数。当switch关断时,ss保持原值,不再计数,电梯暂停。模块2:箭头各状态扫描时间及蜂鸣器控制模块在此模块中,首先用clk1(2hz)控制箭头各个状态的转换时间,即每个箭头保持时间。当开关switch为1时 ,中间变量p开始从0到2循环计数,当电梯上升即flag为0时,在模块3中依次扫描上升的三个箭头,如图5、6、7依次扫描。出现向上闪动箭头。当switch为0时,p从3到4循环计数,电梯上升时,依次扫描图5和图8。点阵出现向上闪动箭头。电梯向下时同

7、理。再次就是控制蜂鸣器,当switch为0,且p为3时。蜂鸣器使能端t置高电平,其他情况t为低电平。蜂鸣器发声周期与箭头闪动周期相同。模块3:点阵扫描控制模块在此模块中,快速(clk2为1024hz)扫描点阵的行和列,例如快速扫描图1、2、3、4时。会出现图5的上升箭头。当flag为0时扫描向上的箭头,当flag为1时,扫描向下的箭头。模块4:数码管显示控制模块在此模块中,ss控制位选信号,rl控制七段码段选信号,每一个ss对应一个七段码。当电梯升降式,动态数码管依次显示楼层数。三、真值表1、 点阵箭头显示真值表。表一行列Line0Line1Line2Line3Line4Line5Line6L

8、ine7Row0000011000Row1000011000Row2000011000Row3000011000Row4000011000Row5000011000Row6000011000Row7000011000 表二行列Line0Line1Line2Line3Line4Line5Line6Line7Row0100100100Row1000100100Row2000100100Row3000100100Row4000100100Row5000100100Row6000100100Row7000100100表三行列Line0Line1Line2Line3Line4Line5Line6Line

9、7Row0101000010Row1101000010Row2001000010Row3001000010Row4001000010Row5101000010Row6101000010Row7101000010表四行列Line0Line1Line2Line3Line4Line5Line6Line7Row0010000001Row1010000001Row2010000001Row3110000001Row4110000001Row5010000001Row6010000001Row7010000001以上四个表为上升的完整箭头的真值表,由于状态较多,在此不一一列出真值表。2、数码管显示真值表。

10、升降位选段选楼层FlagSs0Ss1Ss2Rl0Rl1Rl2Rl3Rl4Rl5Rl6000100001101001010110112001110011113010011001104010111011015011011111016111100001117111011111016110111011015110011001104101110011113101010110112000100001101第二章 Verilog HDL设计源程序电梯控制的源程序如下:module a(clk0,clk1,clk2,line,row,rl,ss,switch,t);/clk0控制电梯上升时间;input sw

11、itch,clk0,clk1,clk2; /clk1控制各个画面转换时间;output line,row,rl,ss,t; /clk2控制点阵扫描时间; reg7:0 line; /line,row控制点阵的行和列;reg7:0 row; /ss为楼层数;reg6:0 rl; /rl表示七段译码;reg2:0 ss;reg t; /switch为数字开关integer flag;integer p;reg1:0c;always (posedge clk0) if (switch) begin if(flag=0) /上升 begin ss=ss+1; if(ss=3b111) flag=1;

12、end else if(flag=1) /下降 begin ss=ss-1; if(ss=3b001) flag=0; end endelse /暂停 ss=ss; always (posedge clk1)begin if(switch=1) begin t=0; if(p2) p=p+1; else p=0; end else if(switch=0) begin if(p=3) begin t=1; p=p+1; end else begin t=0; p=3; end endendalways (posedge clk2)if(flag=0) /flag=0时,显示上升箭头; begi

13、n if(p=0) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00000000;end 1: begin line=8b00100100;row=8b00000001;end 2: begin line=8b01000010;row=8b11100011;end 3: begin line=8b10000001;row=8b11100111;end endcase end else if(p=1) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b11110000;end 1:

14、begin line=8b00100100;row=8b11110000;end 2: begin line=8b01000010;row=8b11111110;end 3: begin line=8b10000001;row=8b11111110;end endcase end else if(p=2) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00000111;end 1: begin line=8b00100100;row=8b00001111;end 2: begin line=8b01000010;row=8b000111

15、11;end 3: begin line=8b10000001;row=8b00111111;end endcase end else if(p=3) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00000000;end 1: begin line=8b00100100;row=8b00000001;end 2: begin line=8b01000010;row=8b11100011;end 3: begin line=8b10000001;row=8b11100111;end endcase end else if(p=4) be

16、gin line=8b00000000;row=8b11111111; end end else if(flag=1) /flag=1时,显示下降箭头; begin if(p=0) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00000000;end 1: begin line=8b00100100;row=8b10000000;end 2: begin line=8b01000010;row=8b11000111;end 3: begin line=8b10000001;row=8b11100111;end endcase end

17、else if(p=1) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00001111;end 1: begin line=8b00100100;row=8b00001111;end 2: begin line=8b01000010;row=8b01111111;end 3: begin line=8b10000001;row=8b01111111;end endcase end else if(p=2) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b11100000;end

18、1: begin line=8b00100100;row=8b11110000;end 2: begin line=8b01000010;row=8b11111000;end 3: begin line=8b10000001;row=8b11111100;end endcase end else if(p=3) begin c=c+1; case(c) 0: begin line=8b00011000;row=8b00000000;end 1: begin line=8b00100100;row=8b10000000;end 2: begin line=8b01000010;row=8b110

19、00111;end 3: begin line=8b10000001;row=8b11100111;end endcase end else if(p=4) begin line=8b00000000;row=8b11111111; en endalways (ss) begin case(ss) 0: begin rl= 7b0000000;end 1: begin rl= 7b0000110;end 2: begin rl= 7b1011011;end 3: begin rl= 7b1001111;end 4: begin rl= 7b1100110;end 5: begin rl= 7b

20、1101101;end 6: begin rl= 7b1111101;end 7: begin rl= 7b0000111;end endcaseendendmodule第三章 波形仿真图1楼层显示波形图9 2蜂鸣器波形 图103点阵波形图114整体波形图12第四章 管脚锁定及硬件连线1、管脚锁定信号Clk0Clk1Clk2SwitchTSs0Ss1Ss2管脚号7471693938737068信号Row0Row1Row2Row3Row4Row5Row6Row7管脚号198196193191189179176174信号Line0Line1Line2Line3Line4Line5Line6Line

21、7管脚号197195192190187177175173信号Rl 0Rl 1Rl 2Rl 3Rl 4Rl 5R l6管脚号758587899088862硬件连接Pin7471693938737068实验箱CLOCK22CLOOK20CLOCK11/Ss0Ss1Ss2Pin198196193191189179176174实验箱Row1Row2Row2Row4Row5Row6Row7Row8Pin197195192190187177175173实验箱Ra1Ra2Ra3Ra4Ra5Ra6Ra7Ra8Pin75858789908886实验箱ABCDEFG第五章 总结两周的课设很快就结束了,到最后我终于

22、完成了我的任务电梯控制。在一开始我第一次接触了Max+PlusII软件,从一开始的一无所知,到后来慢慢了解,这是一个慢慢摸索,仔细总结,不断犯错,屡次改正的过程。在我拿到任务书的时候,我没有了一开始的好奇感,取而代之的是困惑与不解。一开始我走了许多弯路,但是经过不断地学习和总结,我的课题,从局部的思路设想到具体的程序设计,从程序的编译到对错误的修改,从程序的调试到上箱成功。我得到的不仅是一个比较成功的结果,在这个过程中我学到了很多东西,无论在理论上还是动手实践过程中,我都有了很大提高。经过这两周的实践与摸索,我深刻的体会到,对错误进行修改的过程就是知识积累的过程。每当我们犯错误时,我们必须自己

23、认真检查错误的原因,并找出修改错误的方法。而这个过程才是我们真正提高的过程。因为自己犯的错,自己找出并自己改正,自己的印象会很深。这肯定比同学帮忙,或者老师直接告诉我们更有意义。所以,以后再作课设或其他事情,我们不要畏惧失败,而是要在失败的基础上,得到我们想要的成功。 还有我的课题是电梯设计,这个课题同实际生活联系比较紧密。我设计的程序只是实现了电梯的一小部分功能,离实际的电梯功能还有很大的差距,但我了解了它的基本原理,如果以后有机会我会实现其更多的功能。再有我原来以为我们所学的知识,只是一些生硬的理论,和实际生活没什么联系。可是当我完成任务是,我才发现我们所学的知识和生活联系的是如此紧密。其

24、实我们所学的知识都会在生活中得到应用,只是我们不善于发现与总结。 如果有机会我想我们应该得到更多这样锻炼的机会。 最后感谢各指导老师的悉心指导。参考文献 阎石主编数字电子技术基础.阎石主编.高等教育出版社.郑兆兆等编EDA课程设计A指导书. 王伟编著Verilog HDL程序设计与应用人民邮电出版社燕山大学课程设计评审意见表指导教师评语:该生学习态度 (认真 较认真 不认真) 该生迟到、早退现象 (有 无)该生依赖他人进行设计情况 (有 无)平时成绩: 指导教师签字: 2012 年 月 日图面及其它成绩:答辩小组评语:设计巧妙,实现设计要求,并有所创新。 设计合理,实现设计要求。 实现了大部分设计要求。 没有完成设计要求,或者只实现了一小部分的设计要求。 答辩成绩: 组长签字: 2012 年 月 日课程设计综合成绩:答辩小组成员签字: 2012年 月 日 18 / 17

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1