尧图精选

基于74系列芯片的电梯控制电路设计:编码、比较与起动控制详解

🕒 发布时间:2026/9/19 9:58:50 📁 来源:尧图网络
简介电梯控制电路设计课程设计是一份面向电子技术及相关专业学生的完整Word文档资源旨在解决简易4层电梯控制电路的设计与课程设计报告撰写问题。文档依据课程设计任务书展开包含成绩评定表、任务书、目录及正文较系统地呈现了从方案确定、单元电路设计到报告撰写的全过程。正文覆盖按键控制模块目标楼层号按钮编码、比较制动、与逻辑起动控制、数码管显示模块显示译码器、CD4510可逆计数器、脉冲发生器模块0.2S与6S脉冲和LED滚动显示模块并阐述了电梯升降一层所需时间设计、内外请求信号记忆与按规则顺序响应等逻辑功能。资源仅有1个Word文档压缩包大小629KB适合需要参考电梯控制电路设计思路、单元电路原理及课程设计报告格式的学生使用。目前已有1122人学习下载具有一定的参考价值。1. 电梯控制电路设计为什么用 74 系列硬搭而不是单片机拿到电梯控制电路设计课程设计任务书第一反应通常是“用单片机写个状态机不就行了吗”。但电子技术课程设计的本意是让你在不用处理器的情况下用 74148、CD4585、CD4510、NE555 这些分立逻辑芯片把电梯控制电路完整搭出来。这个约束反而把问题推向了核心请求信号怎么编码、当前楼层怎么跟踪、目标楼层怎么比较、脉冲怎么产生、显示怎么驱动每一级都有明确的电路对应关系。本文按“编码 → 比较 → 起动控制 → 计数显示 → 排错验证”的顺序拆解这套 4 层电梯控制电路设计适合正在做课程设计、或者想用纯数字电路实现小型状态机的读者。2. 目标楼层编码与比较制动74148 和 CD4585 的搭档关系2.1 74148 的编码输出是反码这一点最容易被忽略目标楼层号按钮编码电路由 74148 八线-三线优先编码器、八个限流电阻和八个按键开关组成。按键一端接对应的 I0~I7 输入另一端接地输入低电平有效。74148 在有输入时输出三位二进制编码但输出的是反码这是第一次做这个电路最容易踩的坑。看 74148 功能表的关键行输入低有效输出 A2 A1 A0GSI7 00000I6 00010I1 01100I0 01110无输入1111按下 7 层按键输出是 000不是 111按下 1 层按键输出是 110。也就是说74148 直接输出的码字和目标楼层号是取反关系。后面接 CD4585 之前必须把 A2、A1、A0 各经过一个反相器还原成原码否则比较器里比较的不是真实楼层号。CD4069 六反相器在这里刚好用上剩下的门还能给起动控制电路用。GS 端在允许编码且有输入时为 0这个信号就是“有请求”的标志。它要参与后面的与逻辑起动控制所以需要引出来经过反相后作为高电平有效的请求标志。2.2 编码取反后接入 CD4585B3 和 A3 都要接地CD4585 是四位数值比较器A 组接当前楼层跟踪计数器的输出B 组接目标楼层编码。连接关系如下CD4585 功能端连接对象A0~A2八进制可逆计数器输出 Q0~Q2A3接地B0~B274148 编码输出经反相后的原码B3接地F(AB)方向控制上行F(AB)方向控制下行F(AB)制动信号经与非门接起动控制A3 和 B3 都接地是因为楼层范围是 0~7只需要三位数据最高位固定为 0这样比较结果才不会被悬空的高位干扰。CD4585 的三个级联输入端也不能悬空AB 级联端接地AB 和 AB 级联端接高电平单独使用时必须这样处理否则输出逻辑会不稳定。2.3 AB 输出就是电梯自动停靠的判决条件当 AB 时F(AB) 输出高电平。这个信号经过与非门后进入起动控制电路作用是一旦当前楼层等于目标楼层立即切断运行允许信号。同时它控制 CD4510 可逆计数器的 CE时钟使能端停止计数并保持脉冲发生器的复位端也被触发停止产生脉冲。这正好满足任务书里“电梯运行至目标楼层时电梯自动停止”的要求。这里有一个容易被忽略的细节任务书写的是 4 层电梯但电路方案天然支持 0~7 层因为 74148 有 8 个输入、比较器是四位、计数器支持 0~9。如果只做 4 层不需要改电路结构只要把 I4~I7 全部接高电平不接按键即可。3. 与逻辑起动控制CD4073 如何把三个条件合成运行允许信号3.1 起动键、GS 有效、A≠B三者缺一不可与逻辑起动控制由 CD4073 三 3 输入与门、CD4069 六反相器、开关和限流电阻组成。起动控制要同时满足三个条件电梯才允许运行起动键按下开关闭合输出高电平74148 的 GS 有效即当前有目标楼层请求当前楼层不等于目标楼层即 F(AB) 为低电平。CD4073 内部有三个三输入与门输入端分别接这三个条件。第三个条件需要把 CD4585 的 F(AB) 先经过 CD4069 取反变成“A≠B”的高电平信号再送进与门。三个条件全部为高时与逻辑起动控制输出高电平这个输出接到 555 定时器的复位端和计数器的清零端。输出高电平时复位端无效脉冲发生器正常工作输出低电平时脉冲发生器停止并保持当前状态计数器也停止。用逻辑表达式表达整个控制部分// 电梯控制核心逻辑的 RTL 表达用于理解硬件连接关系 module lift_control_core ( input wire start_btn, // 起动键按下为高 input wire [2:0] cur_floor, // 当前楼层来自 CD4510 输出 input wire [2:0] target, // 目标楼层来自 74148 取反 output wire run, // 运行允许信号 output wire up_dir, // 上行方向 output wire dn_dir // 下行方向 ); wire a_gt_b, a_lt_b, a_eq_b; // CD4585 四位比较器行为 assign a_gt_b (cur_floor target); assign a_lt_b (cur_floor target); assign a_eq_b (cur_floor target); // 起动条件起动键按下 有请求(GS有效) 当前层不等于目标层 wire gs_active 1b1; // 实际电路中由 74148 GS 反相后提供 assign run start_btn gs_active (~a_eq_b); // 方向信号 assign up_dir a_gt_b; // 目标低于当前层实际为下行加计数方向 assign dn_dir a_lt_b; endmodule这段代码对应的是硬件电路里 CD4073 与门和 CD4585 输出端的连接关系不是让你用 FPGA 实现而是帮助你理清逻辑层级。注意方向信号的命名F(AB) 为高表示 A 组当前楼层大于 B 组目标楼层电梯应该下行所以 F(AB) 接到可逆计数器的减计数方向端F(AB) 接加计数方向端不要搞反。3.2 请求信号怎么保持到执行结束任务书有一条硬性要求“能记忆电梯内、外的所有请求信号并按照电梯运行规则按顺序响应每个信号保留至执行后消失。”仅靠 74148 是做不到记忆的因为它是组合逻辑按键松开后编码输出立即消失。常见做法是在 74148 输出和 CD4585 之间加一组 D 锁存器例如 CD4042 或两个 CD4013。按下楼层键时74148 的 GS 信号作为锁存时钟或使能信号把目标编码锁存住电梯到达目标层后F(AB) 信号去清零锁存器请求信号随之消失。我一般会在课程设计报告里把锁存器和 74148 画在同一张图上因为少了这一步逻辑上会出现电梯到达目标层后无法响应下一次请求的问题。锁存后的目标编码经反相器再接 CD4585和 2.2 节的连接方式一致。3.3 方向信号同时控制两组计数器方向控制信号不止接楼层跟踪的 CD4510还要接 LED 滚动箭头显示电路里的三位二进制可逆计数器。电梯上行时LED 箭头从下往上循环显示下行时方向反过来。两组计数器共用同一个方向信号但时钟不同楼层计数器用 6s 脉冲LED 箭头用 0.2s 脉冲。方向改变时两组计数器的加/减计数模式同步切换保证楼层显示和箭头方向一致。4. 楼层跟踪、显示与脉冲发生CD4510、CD4511 和 NE555 的配合4.1 CD4510 做楼层跟踪计数方向由比较器决定CD4510 是 BCD 可逆计数器这里用作楼层跟踪计数器。它的时钟输入端接 6s 脉冲发生器每来一个上升沿楼层数加 1 或减 1模拟电梯升降一层。U/D 端接方向信号目标楼层大于当前楼层时加计数反之减计数。CE时钟使能端接运行允许信号的反相电梯停止时禁止计数。CD4510 的进位输出 CO/BO 在多片级联时才需要用本设计只有一层保持悬空即可。清零端 CR 接起动控制输出的反相电梯每次起动前把当前楼层初始化为 0 或保持停止前的状态。原文里提到“先接高电平复位再接地”这是上电复位的标准操作实际电路里可以加一个 RC 上电复位电路避免首次上电时计数器进入随机状态。4.2 CD4511 译码驱动共阴极数码管楼层号显示使用 CD4511 BCD-七段锁存译码器驱动共阴极数码管。CD4511 的特性是输出高电平有效、自带锁存和消隐内部有上拉电阻可以直接驱动 LED 数码管。输入 D、C、B、A 接 CD4510 的 Q3~Q0 输出输出 a~g 通过限流电阻接数码管各段。控制端电平作用LE0允许译码输出LE1锁存保持BI0全部消隐LT0测试模式七段全亮LT1正常译码三个控制端在正常工作时这样接LT 接高电平BI 接高电平LE 接地。如果显示出现乱码先检查这三位是不是被悬空了——CMOS 输入端悬空会造成不定电平这是数码管显示异常的第一嫌疑。4.3 两组 NE555 多谐振荡器0.2s 和 6s 的参数计算NE555 在这里构成多谐振荡器一组周期 0.2s 驱动 LED 滚动箭头另一组周期 6s 模拟电梯位移传感器脉冲驱动楼层计数器。周期公式为 T (R1 2R2) × C / 1.43其中 1.43 是 0.693 的倒数近似。脉冲用途R1R2C计算周期LED 箭头10kΩ10kΩ10μF≈ 0.21s楼层跟踪82kΩ390kΩ10μF≈ 6.03s可以用一段小脚本校验这个计算结果# 校验 NE555 多谐振荡器周期 python3 - EOF def ne555_period(r1, r2, c): return (r1 2 * r2) * c / 1.43 for name, r1_k, r2_k, c_uf in [ (0.2s LED箭头, 10, 10, 10), (6s 楼层跟踪, 82, 390, 10), ]: t ne555_period(r1_k * 1e3, r2_k * 1e3, c_uf * 1e-6) print(f{name}: T {t:.3f}s) EOF运行结果 0.21s 和 6.03s与设计目标接近。电容的容差、电阻的温漂都会影响实际频率搭焊前最好用示波器或万用表频率挡实测必要时微调 R2。5 脚通过 0.015μF 电容接地这是抗干扰电容不能省略否则 555 的阈值电压受电源纹波干扰输出会抖动。LED 箭头显示电路的核心是一个三位二进制可逆计数器加译码器8 个状态每个显示 0.2s正好构成 1.6s 一个循环对应任务书里的 1.6s 循环周期要求。5. 上电前的检查与调试用逐级定位法找问题5.1 先查电源和悬空输入再查脉冲整套电路全是 CMOS 器件最怕输入端悬空。上电前我一般先用万用表过一遍74148 未使用的 I4~I7 必须接高电平CD4585 的级联输入端 AB 接地、AB 和 AB 接高电平CD4511 的 LT、BI 接高电平LE 接地。这些管脚如果不处理芯片内部 MOS 管栅极悬空会拾取噪声导致逻辑乱跳故障现象表现为电梯乱停、数码管乱码、偶尔自己起动。然后用逻辑笔或示波器测 NE555 输出先测有无波形再测周期是否接近 0.2s 和 6s。如果 6s 脉冲没出来优先检查 82kΩ 和 390kΩ 电阻是否焊对位置两个电阻互换后周期会变成约 10s完全偏离设计值。5.2 用一段小脚本验证比较逻辑整个控制系统的核心是“当前楼层和目标楼层的比较”。上电调试前可以先用 Python 把比较逻辑单独模拟一遍确认方向信号和制动信号的组合是对的# 模拟 CD4585 比较逻辑验证楼层到达判定与方向信号 def compare(cur, tgt): gt cur tgt # 当前大于目标应减计数 lt cur tgt # 当前小于目标应加计数 eq cur tgt # 到站制动 return gt, lt, eq # 以 3 层为起始依次呼叫 5、2、3 层 cur 3 for target in [5, 2, 3]: gt, lt, eq compare(cur, target) print(f当前 {cur} 层 - 目标 {target} 层: f加计数{lt}, 减计数{gt}, 制动{eq}) if eq: print( 已到站请求信号清除) cur target这段代码模拟的是 CD4585 三个输出端的真实逻辑关系。输出应该看到3→5 时加计数为 True3→2 时减计数为 True3→3 时制动为 True。如果这个逻辑想清楚了接硬件的时候就不会把 F(AB) 和 F(AB) 接到相反的计数方向端。5.3 到达目标层后请求信号无法清除的排查思路电梯正常停靠目标层后如果再次按起动键无效问题多半在请求锁存电路。用万用表测 CD4585 的 F(AB) 输出到站瞬间它应该输出高电平。这个信号一方面停止脉冲发生器另一方面要去清零请求锁存器让 GS 信号复位。如果锁存器清零端没接到 F(AB)或者中间的反相器接反了请求信号会一直保持系统停在原地不再响应。还有一种情况是锁存器用的是边沿触发按键弹跳产生多个边沿编码器输出还没稳定就被锁存成错误楼层。5.4 从 4 层扩到 8 层的验证技巧前面的方案天然支持 0~7 层。验证时可以直接用 74148 的全部 8 个输入把当前楼层计数器预置到 4依次请求 0、7、1、6观察 CD4510 是逐层加计数还是减计数CD4511 是否按 0~7 正确显示。若只做任务书要求的 4 层I4~I7 全部接高电平其他电路不用动这个方案在课程设计答辩时还能作为“可扩展性”的加分点。调试完成后记得把每个按键对应的楼层和 74148 输出真值表做成一张表方便答辩时对照讲解。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联 返回资讯列表 →