![数字逻辑课程设计-电梯控制系统_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/ed200e3f-fba1-4cce-b828-0312362e0fdb/ed200e3f-fba1-4cce-b828-0312362e0fdb1.gif)
![数字逻辑课程设计-电梯控制系统_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/ed200e3f-fba1-4cce-b828-0312362e0fdb/ed200e3f-fba1-4cce-b828-0312362e0fdb2.gif)
![数字逻辑课程设计-电梯控制系统_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/ed200e3f-fba1-4cce-b828-0312362e0fdb/ed200e3f-fba1-4cce-b828-0312362e0fdb3.gif)
![数字逻辑课程设计-电梯控制系统_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/ed200e3f-fba1-4cce-b828-0312362e0fdb/ed200e3f-fba1-4cce-b828-0312362e0fdb4.gif)
![数字逻辑课程设计-电梯控制系统_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/23/ed200e3f-fba1-4cce-b828-0312362e0fdb/ed200e3f-fba1-4cce-b828-0312362e0fdb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 华 中 科 技 大 学 课 程 设 计 报 告 数字电路与逻辑设计 课程设计报告 题目:电梯控制器的设计与实现 专 业: 班 级: 学 号: 姓 名: 电 话: 邮 件: 分 组: 完成日期: 指导教师: 团队成员: 姓名 班级 学号 贡献百分比 实验部分完成情况 (亮点、完成、 基本完成、未完成、时间) 总分: 实验部分70% + 报告30%) 检查老师签名: 目 录 1 课程设计概述 . 1.1 课设目的 . 1.2 课设要求 . 1.3 课设任务 . 1.4 实验环境 . 2 基本方案设计 . 2.1 设计需求 . 2.2 总体结构设计 . 2.2.1 电梯状态判断模块 . 2.2.2
2、 电梯上下楼控制模块 . 2.2.3 电梯开关门模块 . 2.2.4 电梯升降模块 . 2.2.5 电梯指示灯模块 . 2.2.6 电梯数码管显示模块 . 2.3 详细设计 . 2.3.1 电梯状态判断模块 . 2.3.2 电梯上下楼控制模块 . 2.3.3 电梯开关门模块 . 2.3.4 电梯升降模块 . 2.3.5 电梯指示灯模块 . 2.3.6 电梯数码管显示模块 . 2.3.7 实验过程与调试 . 2.3.8 真结果 . 2.3.9 主要故障与调试 . 1 课程设计概述 1.1 课设目的 通过硬件描述语言 VHDL 的编程,深入了解并掌握可编程芯片 PLD 的设计技术,加强学生对数字逻
3、辑课程所学知识综合利用的能力。培养学生创造性思维能力和独立解决实际问题的能力。 1.2 课设要求 (1) 能够全面地应用课程中所学的基本理论和基本方法,完成从设计逻辑电路到设计简单数字系统的过渡。 (2) 能力独立思考、独立查阅资料,独立设计规定的系统。 (3) 能够独立地完成实施过程,包括安装、布线、测试和排除故障。 1.3 课设任务 (1) 制定出详细设计方案; (2) 通过 Verilog HDL 完成规定的设计任务,然后进行编译和仿真,保证设计的正确性; (3) 生成容丝图文件,下载到 Basys2 开发板,通过实际线路进行验证; (4) 对复杂系统的设计采取模块化、层次化的设计方法;
4、 (5) 撰写设计报告,并对存在的问题进行分析、提出改进意见。 1.4 实验环境 (1) Basys2 开发板(芯片为 XC3S100E,封装为 CP132)1 套; (2) Xilinx_ISE 设计仿真软件 1 套; (3) 计算机 1 台。 2 基本方案设计 2.1 设计需求 随着科学技术的发展以及城市化建设,越来越多的高楼林立在城市之间,对于电梯的需求也愈发强烈。因此,一部安全可靠的电梯逐渐成为人们热议的话题,而我们要设计的电梯控制系统,能实现各种用户需求,并且安全可靠,足以适应当前社会发展的要求。 2.2 总体结构设计 本电梯控制器系统包含:1) 电梯状态判断模块2) 电梯上下楼控制
5、模块3) 电梯开关门模块4) 电梯升降模块5) 电梯指示灯模块6) 电梯数码管显示模块共六个模块。 电梯分为以下四个状态: 1) 关门等待状态 i. 此时,电梯门关闭且停在某一楼,等待用户请求。 2) 电梯上行状态 i. 电梯此刻处于向上运行状态。 3) 电梯下行状态 i. 电梯此刻处于向下运行状态。 4) 开门状态 i. 此时,电梯门打开,同时进行关门倒计时。 2.2.1 电梯状态判断模块 该模块用于获取电梯此刻的状态,并根据用户请求进行相应状态转变。 输入:openButton电梯开门按键 powerButton电梯电源按键 targetFloor用户请求的目标楼层输出:liftState
6、电梯状态 2.2.2 电梯上下楼控制模块 该模块用于获取用户请求,判断电梯是否到达目标楼层以及进行计时器设置。输入:powerButton电梯电源键 resetButton电梯重置按键 infloorButton1电梯内部 1 楼按键 infloorButton3电梯内部 3 楼按键 infloorButton6电梯内部 6 楼按键 infloorButton8电梯内部 8 楼按键 outfloorButton1电梯外部 1 楼按键 outfloorButton3电梯外部 3 楼按键 outfloorButton6电梯外部 6 楼按键 outfloorButton8电梯外部 8 楼按键 lif
7、tState电梯状态输出:targetFloor目标楼层 clkFloor电梯楼层间运行速率 clkLight电梯运行灯 runTime电梯运行时间 2.2.3 电梯开关门模块 该模块用于处理用户开关门请求并进行关门倒计时 输入: powerButton电梯电源按键 openButton电梯开门按键 closeButton电梯关门按键 liftState电梯状态 输出:doorTime关门时间 doorState电梯门状态 doorLight电梯门灯 2.2.4 电梯升降模块 该模块进行电梯上升、下降处理 输入:liftState电梯状态 输出:currentFloor当前楼层 2.2.5 电
8、梯指示灯模块 该模块用于电梯运行时,控制上行灯、下行灯亮与灭 输入:liftState电梯状态 输出:upLight电梯上行灯 ownLight电梯下行灯 runState电梯运行状态 2.2.6 电梯数码管显示模块 该模块用于显示电梯运行时间、关门时间、当前楼层 输入:currentFloor当前楼层 runTime运行时间 doorTime关门时间 输出:eightDecode八段数码显示管 sevenF、sevenJ、sevenM、sevenK数码扫描管显示2.2.7 总控制模块 电 梯 升 降 模 块电梯状态判断模块结 合 个 子 模 块 ,共 同 实 现 电 梯 功 能总 控 制 模
9、 块电 梯 指 示 灯 模 块电 梯 上 下 楼 模 块数 码 管 显 示 模 块电 梯 开 关 门 模 块2.3 详细设计 顶层模块将各个子模块有机结合起来,以实现各个功能 2.3.1 电梯状态判断模块 本模块用于处理电梯各种运行状态并进行设置 模块开始 电源键开关 开 关 电梯置于关门状态 开门键 开 电梯处于关门状态 是 电梯置于开门状态 关 电梯处于上升状态 否 否 当前楼层与目标楼层是否相等 是 电梯置于关门状态 电梯运行 2.3.2 电梯上下楼判断模块 本模块用于处理用户楼层请求、以及判断是否到达目标楼层 模块开始 电源键是否打开 是 否 电梯目标楼层请求清空 电梯计时器清零 电梯
10、重置按下 楼层请求只为1楼 其他楼层请求清零 未按 根据用户具体楼层按键,设置相应楼层请求 电梯达到指定楼层后,对应楼层请求清空 2.3.3 电梯开关门模块 本模块用于电梯静止时运行状态 否 是 否 是 是 否 是 模块开始 电源键是否打开强制开关打开并且电梯运行状态为开门或静止 开门指示灯亮,开门状态为开,开始5秒倒计时 电梯运动状态为打开强制关门键 开门指示灯灭,倒计时直接置为0 开门指示灯亮, 倒计时5秒 开门指示灯灭,状态为关门状态。关门计时为0 2.3.4 电梯升降模块 否 是 电梯状态为上升 当前楼层+1 电梯状态为下降 模块开始 当前楼层-1 2.3.5 电梯指示灯模块 本模块用
11、于指示电梯上下运行状态 电梯下行状态 否 模块开始 电梯上行状态 否 是 是 上行指示灯灭,下行指示灯亮 上行指示灯亮,下行指示灯灭 上、下下 指 示 灯 均 灭 2.3.6 电梯数码管显示模块 否 是 扫描分频 显示当前楼层 电梯状态为上升或者下降 显示楼层间9秒倒计时 电梯状态为开门 显示5秒开门倒计时 模块开始 2.4 实验过程与调试 2.4.1 模块内部图 1、主模块 输入: clk:时钟端 powerButton:电源开关 resetButton:重置开关openButton:强制开门 closeButton:强制关门 infloorButton1:一楼内部开关 infloorBut
12、ton3:三楼内部开关 infloorButton6:六楼内部开关 infloorButton8:八楼内部开关 outfloorButton1:一楼外部开关 outfloorButton3:三楼外部开关 outfloorButton6:六楼外部开关 outfloorButton8:八楼外部开关 输出: eightDecode:七段显示译码器 flashLight:电梯运行闪烁灯 doorLight:开门显示灯 upLight:上升指示灯 floorLight1:一楼指示灯 floorLight3:三楼指示灯 floorLight6:六楼指示灯 floorLight8:八楼指示灯 sevenF,
13、sevenJ,sevenM,sevenK:数码管扫描指示 2.4.2 仿真结果 1、电梯状态判断模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg openButton; reg closeButton; reg infloorButton1; reg infloorButton3; reg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButton3; reg outfloorButton6; r
14、eg outfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLight1; wire floorLight3; wire floorLight6; wire floorLight8; wire sevenF; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end always begin #5; infloorButto
15、n1 = infloorButton1; end always begin #10; outfloorButton3 = outfloorButton3; end always begin #15; outfloorButton6 = outfloorButton6; end always begin #20; infloorButton8 = infloorButton8; end initial begin / Initialize Inputs clk = 0; powerButton = 1; resetButton = 0; openButton = 0; closeButton =
16、 0; infloorButton1 = 0; infloorButton3 = 0; infloorButton6 = 0; infloorButton8 = 0; outfloorButton1 = 0; outfloorButton3 = 0; outfloorButton6 = 0; outfloorButton8 = 0; end endmodule 仿真结果: 2、电梯上下楼判断模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg openButton; reg closeBut
17、ton; reg infloorButton1; reg infloorButton3; reg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButton3; reg outfloorButton6; reg outfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLight1; wire floorLight3;
18、wire floorLight6; wire floorLight8; wire sevenF; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end always begin #5; infloorButton1 = infloorButton1; end always begin #15; outfloorButton3 = outfloorButton3; end always begin #25; outfloorButton6 = outfloorButton6; end always begin
19、 #35; infloorButton8 = infloorButton8; end initial begin / Initialize Inputs clk = 0; powerButton = 1; resetButton = 0; openButton = 0; closeButton = 0; infloorButton1 = 0; infloorButton3 = 0; infloorButton6 = 0; infloorButton8 = 0; outfloorButton1 = 0; outfloorButton3 = 0; outfloorButton6 = 0; outf
20、loorButton8 = 0; end endmodule 仿真结果: 3、电梯开关门模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg openButton; reg closeButton; reg infloorButton1; reg infloorButton3; reg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButton3; reg outfloorButton6; reg o
21、utfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLight1; wire floorLight3; wire floorLight6; wire floorLight8; wire sevenF; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end always begin #8; openButton = ope
22、nButton; end always #7 closeButton=closeButton; always #50 infloorButton8=infloorButton8; initial begin / Initialize Inputs clk = 0; powerButton = 1; resetButton = 0; openButton = 0; closeButton = 0; infloorButton1 = 0; infloorButton3 = 0; infloorButton6 = 0; infloorButton8 = 0; outfloorButton1 = 0;
23、 outfloorButton3 = 0; outfloorButton6 = 0; outfloorButton8 = 0; / Wait 100 ns for global reset to finish / Add stimulus here end endmodule 仿真结果: 4、电梯升降模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg openButton; reg closeButton; reg infloorButton1; reg infloorButton3; r
24、eg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButton3; reg outfloorButton6; reg outfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLight1; wire floorLight3; wire floorLight6; wire floorLight8; wire seven
25、F; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end always #10 infloorButton8=infloorButton8; always #100 infloorButton3=infloorButton3; initial begin / Initialize Inputs clk = 0; powerButton = 1; resetButton = 0; openButton = 0; closeButton = 0; infloorButton1 = 0; infloorButt
26、on3 = 0; infloorButton6 = 0; infloorButton8 = 0; outfloorButton1 = 0; outfloorButton3 = 0; outfloorButton6 = 0; outfloorButton8 = 0; / Wait 100 ns for global reset to finish / Add stimulus here end endmodule 仿真结果: 5、电梯指示灯模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg
27、openButton; reg closeButton; reg infloorButton1; reg infloorButton3; reg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButton3; reg outfloorButton6; reg outfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLi
28、ght1; wire floorLight3; wire floorLight6; wire floorLight8; wire sevenF; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end always begin #20; infloorButton3 = infloorButton3; end always begin #40; infloorButton6 = infloorButton6; end always begin #80; outfloorButton8 = outfloorBu
29、tton8; end initial begin / Initialize Inputs 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; / Wait 100 ns f
30、or global reset to finish / Add stimulus here end endmodule 仿真结果: 6、电梯数码管显示模块仿真文件如下: module test; / Inputs reg clk; reg powerButton; reg resetButton; reg openButton; reg closeButton; reg infloorButton1; reg infloorButton3; reg infloorButton6; reg infloorButton8; reg outfloorButton1; reg outfloorButt
31、on3; reg outfloorButton6; reg outfloorButton8; / Outputs wire 7:0 eightDecode; wire flashLight; wire doorLight; wire upLight; wire downLight; wire floorLight1; wire floorLight3; wire floorLight6; wire floorLight8; wire sevenF; wire sevenJ; wire sevenM; wire sevenK; always begin #5; clk = clk; end al
32、ways #10 infloorButton6=infloorButton6; initial begin / Initialize Inputs clk = 0; powerButton = 1; resetButton = 0; openButton = 0; closeButton = 0; infloorButton1 = 0; infloorButton3 = 0; infloorButton6 = 0; infloorButton8 = 0; outfloorButton1 = 0; outfloorButton3 = 0; outfloorButton6 = 0; outfloo
33、rButton8 = 0; / Wait 100 ns for global reset to finish / Add stimulus here end endmodule 仿真结果: 2.4.3 主要故障与调试 (1)故障 1 问题描述:3、6两层电梯外按键未设置上下行按键,导致电梯不能完成如(电梯1楼,3楼下,6楼上)这样的问题解决办法:增 加 3楼上 下,6楼上 下 按 键,以 同 向 较 近 优 先,反 向 较 远 优 先2.5 功能测试 2.5.1 电梯初始状态功能测试 图 2.5.1 电梯初始状态模块测试 功能测试:打开电源,显示当前楼层为一楼。打开强制开门开关,开门灯亮,倒计
34、时 5 秒 2.5.2 电梯上升模块功能测试 图 2.5.2 电梯上升模块测试 功能测试:如图,打开电源,按下 6 楼按钮,6 楼指示灯亮,上行指示灯亮,当前楼层为 4 楼,每层楼之间进行 9 秒倒计时,此时倒计时进行至 7 秒。每层楼之间运行指示灯闪烁 9 下。 3.3 仿真与测试 3 总结与心得 4.1 课设总结 为了实现电梯控制器系统的功能要求,作了如下几点工作: 1. 前期对顶层模块和子模块做了划分,确定了顶层模块对子模块的控制 2. 每当完成一个子模块时,便进行仿真测试,查找错漏的地方 3. 后期上开发板调试时,仔细斟酌各模块设计是否合理,并根据实际情况进行修改 4.2 课设心得 本
35、次课程设计,加强了对上学期所学 知 识 的 理 解,意 识 到 理 论 对 实 践 的 重 要 性,也 培 养 了 和 同 学 的 交 流 协 作 能 力。而 设 计 中 所 存 在 的 缺 陷 ,让 自 己 意 识 到 自 己 分 析 设 计 的 不 足。同 时,对verilog语 言 的 学 习 和 运 用,也 让 自 己 意 识 到 在 编 程 能 力 仍 需 要 提 高 。附 录(源程序) .v 文件 module main(input wire clk, / 时钟信号input wire powerButton, / 电源开关 input wire resetButton, /重置开
36、关 input wire openButton, / 强制开门 input wire closeButton, / 强制关门 input wire infloorButton1, / 一楼内部开关 input wire infloorButton3, / 三楼内部开关 input wire infloorButton6, / 六楼内部开关 input wire infloorButton8, / 八楼内部开关 input wire outfloorButton1, / 一楼外部开关input wire outfloorButton3, / 三楼外部开关input wire outfloorBu
37、tton6, / 六楼外部开关input wire outfloorButton8, / 八楼外部开关 output reg7:0 eightDecode, / 七段显示译码器 output wire flashLight, / 电梯运行闪烁灯 output wire doorLight, / 开门显示灯output reg upLight, / 上升指示灯output reg downLight, / 下降指示灯 output wire floorLight1, / 一楼指示灯 output wire floorLight3, / 三楼指示灯 output wire floorLight6,
38、 / 六楼指示灯 output wire floorLight8, / 八楼指示灯 output reg sevenF, output reg sevenJ, output reg sevenM, output reg sevenK ); reg3:0 currentFloor; / 电梯当前楼层 reg3:0 targetFloor; / 目标楼层,1 代表当前楼层有请求 reg1:0 liftState; / 电梯运行状态 0.关门等待状态 1.上升状态 2. 下降状态 3.开门状态 reg mark; / 用于周期滞后 wire doorState; / 电梯门开关状态,0 为关门,1 为开门 reg runState; / 电梯最近运动状态,1 为上升,0 为下降 reg2:0 doorTime; reg clkFloor; / 电梯上下楼层速率reg clkLight; / 电梯运行时指示灯闪烁频率 reg scan; reg3:0 runTime; /电梯运行时间显示 integer q,qLight,qScan,qRun; reg28:0 cTime; / 电梯关门计时器 initial /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村集体土地承包合同范文
- 2024年软件开发外包项目合同
- 智能金融服务平台研发合作合同
- 广播电视节目品牌建设与形象推广考核试卷
- 动漫产业国际标准与规范考核试卷
- 仁果类果树种植园农业政策分析与评估考核试卷
- 人造板企业产品研发与技术创新考核试卷
- 化妆品品牌知识与市场分析考核试卷
- 新一代信息通讯技术产业投资合同
- IP知识产权转让及许可使用合同
- 中医膏方临床应用与制备工艺规范 DB32/T 4870-2024
- JJG(交通) 208-2024 车货外廓尺寸动态现场检测设备
- 苏北四市(徐州、宿迁、淮安、连云港)2025届高三第一次调研考试(一模)英语试卷(含答案)
- 2025年信息系统集成服务公司组织架构和业务流程
- 西藏自治区拉萨市城关区多校2024-2025学年六年级上学期期中英语试题
- 胸外科讲课全套
- 公安法制培训
- 《钢铁是怎样练成的》阅读任务单及答案
- 新人教版高中数学必修第二册第六章平面向量及其应用教案 (一)
- 碳纤维增强复合材料在海洋工程中的应用情况
- 公司市场分析管理制度
评论
0/150
提交评论