news 2026/5/12 13:57:55

基于74LS190与Multisim的智能交通灯仿真:从倒计时核心到夜间模式实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于74LS190与Multisim的智能交通灯仿真:从倒计时核心到夜间模式实现

1. 从零搭建交通灯仿真系统

第一次用Multisim做交通灯仿真时,我盯着闪烁的LED灯看了足足十分钟——这种亲手实现硬件逻辑的成就感,是纯软件仿真无法比拟的。这次我们要用74LS190这个经典计数器,构建一个带倒计时显示、可调通行时间、支持夜间模式的智能交通灯系统。不同于简单的红绿灯交替,这个设计需要处理三个关键问题:如何实现0-99秒可调的倒计时?如何让黄灯在特定时段闪烁?怎样优雅地切换白天/夜间模式?

74LS190就像个聪明的计时员,它能根据我们的需求进行加减计数。在交通灯场景中,我们需要它实现"置数→倒计时→归零重置"的循环。比如设置通行时间45秒,计数器会从44开始逐秒递减(注意要减1计数),到0时立即重置为44。这个过程中,十位和个位数字需要分开处理,就像我们看电子钟时会区分小时和分钟一样。

2. 倒计时核心电路设计

2.1 芯片选型与级联技巧

选择74LS190有两个重要原因:首先它是十进制计数器,正好匹配我们0-99的计时需求;其次它支持异步置数,能在检测到零值时立即重置。实际连接时,需要将低位芯片的MAX/MIN引脚通过非门接到高位芯片的CTEN端,这种级联方式就像接力赛——当个位计数器跑完一圈(从9到0),十位计数器才接棒减1。

我在调试时发现个坑:直接置数会导致显示异常。比如设置45秒时,如果简单地在归零时置入44,实际会显示54。这是因为74LS190的置数是异步进行的。解决办法很巧妙:给预设值加10(变成54),再用74LS283全加器做减1修正。这就好比先把时钟调快10分钟,再往回拨1分钟,最终得到正确时间。

2.2 动态置数逻辑实现

倒计时的重置时机由MAX/MIN引脚控制,这个引脚在计数器归零时会发出脉冲信号。我们需要用这个信号触发LOAD置数端,同时处理好数据输入端的逻辑。具体操作是:

  1. 将通行时间拨码开关的十位和个位分别接入两片74LS190的DCBA输入端
  2. 通过74LS283将预设值修正为(N-1)
  3. 当检测到MAX/MIN信号时立即置数
// 伪代码示例:置数逻辑 if (counter == 0) { load_value = (initial_value - 1); apply_load_signal(); }

3. 信号灯状态机设计

3.1 红绿灯真值表推导

交通灯的状态转换可以用真值表清晰描述。以东西方向为例:

  • 绿灯亮时:倒计时从A1A0到B1B0(如45秒到5秒)
  • 黄灯亮时:倒计时从B1B0到0(5秒到0)
  • 红灯则在整个南北方向通行期间保持点亮

通过74LS85比较器,我们可以检测特定时间点:

  • 当计数值等于B1B0时,触发黄灯亮起
  • 当计数值归零时,切换红绿灯状态

3.2 JK触发器的妙用

要让灯光状态准确切换,JK触发器是关键。配置成T'模式后,它会在每个时钟脉冲翻转输出。具体连接方式:

  1. 将比较器输出的相等信号(OAEQB)作为CP时钟
  2. Q输出驱动绿灯,Q'驱动黄灯
  3. 红灯则使用另一个触发器,在每次归零时翻转
// 伪代码示例:灯光控制 always @(posedge compare_equal) begin green_light <= ~green_light; yellow_light <= green_light; // 黄灯与绿灯状态相反 end

4. 夜间模式与系统集成

4.1 模式切换电路

夜间模式需要满足两个条件:所有黄灯闪烁,红绿灯熄灭。我用了个巧妙的设计:

  1. 用单刀双掷开关控制模式选择
  2. 白天模式:开关闭合,正常逻辑控制灯光
  3. 夜间模式:开关断开,通过与非门强制黄灯以1Hz频率闪烁

具体实现时,将555定时器产生的1Hz时钟信号与模式开关信号做逻辑与运算,再输出到黄灯驱动电路。这就好比给黄灯装了双模式开关——白天听指挥,晚上自由闪。

4.2 防冲突逻辑设计

调试时发现个严重问题:当模式突然切换时,可能出现红绿灯同时亮起。通过增加互锁逻辑解决了这个问题:

  1. 所有灯光控制信号先经过与门
  2. 红灯信号取反后与绿灯信号相与
  3. 类似地处理黄灯信号

最终的真值表如下:

模式红灯绿灯黄灯
白天正常正常正常
夜间强制灭强制灭闪烁

5. Multisim仿真技巧

5.1 信号观测要点

在Multisim中调试时,我习惯同时打开这些仪器:

  1. 四通道示波器:监控计数器输出波形
  2. 逻辑分析仪:捕捉灯光状态变化
  3. 电压探针:检查关键节点电位

特别要注意74LS190的置数时序,建议将仿真步进设置为10ns,观察LOAD信号是否在归零后立即生效。

5.2 常见问题排查

遇到过最头疼的问题是计数器显示乱跳,后来发现是电源去耦不足。解决方法:

  1. 在每个芯片的VCC和GND间加0.1μF电容
  2. 检查所有接地是否共地
  3. 对长走线增加终端电阻

另一个典型故障是灯光状态不同步,这往往是比较器响应速度不够导致的。可以尝试:

  1. 改用74LS688等高速比较器
  2. 在比较器输出端增加施密特触发器整形

6. 硬件实现注意事项

6.1 PCB布局建议

实际制作电路板时要注意:

  1. 计数器芯片尽量靠近显示数码管
  2. 灯光驱动电路远离时钟信号线
  3. 模式切换开关做好防抖处理(我常用0.1μF电容并联)

6.2 电源管理细节

系统功耗主要集中在LED灯上,建议:

  1. 为每个LED串联220Ω限流电阻
  2. 使用ULN2003等驱动芯片增强带载能力
  3. 总电源最好采用7805稳压,电流预留30%余量

记得第一次通电测试时,最好先断开LED负载,用万用表确认各点电压正常后再接灯。

7. 功能扩展思路

完成基础版本后,可以尝试这些增强功能:

  1. 增加紧急车辆优先通行按钮
  2. 实现自适应时长调整(根据车流量自动延长绿灯)
  3. 添加蜂鸣器提示盲人过街
  4. 用蓝牙模块连接手机APP控制

这些扩展都需要在现有计数器基础上增加状态检测逻辑。比如紧急模式可以通过中断信号直接强制当前方向绿灯常亮。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 13:56:44

终极抢票指南:如何用DamaiHelper轻松获取演唱会门票

终极抢票指南&#xff1a;如何用DamaiHelper轻松获取演唱会门票 【免费下载链接】damaihelper 支持大麦网&#xff0c;淘票票、缤玩岛等多个平台&#xff0c;演唱会演出抢票脚本 项目地址: https://gitcode.com/gh_mirrors/dam/damaihelper 你是否曾为抢不到心仪演唱会门…

作者头像 李华
网站建设 2026/5/12 13:39:21

毫米波ISAC系统设计与FPGA实现关键技术

1. 毫米波ISAC系统设计背景与核心挑战在车联网和自动驾驶场景中&#xff0c;毫米波技术因其大带宽特性同时满足了高精度环境感知与高速数据传输的双重需求。传统方案采用雷达与通信系统独立部署&#xff0c;导致硬件资源浪费和频谱效率低下。我们基于IEEE 802.11ad标准设计的雷…

作者头像 李华
网站建设 2026/5/12 13:38:28

量子电路切割技术:原理、安全风险与防护措施

1. 量子电路切割技术概述量子电路切割&#xff08;Quantum Circuit Cutting&#xff09;是近年来量子计算领域发展出的一项重要技术&#xff0c;它通过将大型量子电路分解为多个可并行处理的小型片段&#xff0c;使现有中等规模&#xff08;NISQ&#xff09;量子计算机能够处理…

作者头像 李华
网站建设 2026/5/12 13:38:11

重庆大学LaTeX毕业论文模板终极指南:3步完成专业论文排版

重庆大学LaTeX毕业论文模板终极指南&#xff1a;3步完成专业论文排版 【免费下载链接】CQUThesis :pencil: 重庆大学毕业论文LaTeX模板---LaTeX Thesis Template for Chongqing University 项目地址: https://gitcode.com/gh_mirrors/cq/CQUThesis 还在为毕业论文格式调…

作者头像 李华
网站建设 2026/5/12 13:35:50

国产能量阀品牌推荐

在国产能量阀品牌中&#xff0c;天津水阀机械有限公司&#xff08;简称“天津水阀”&#xff09;无疑是一颗耀眼的明星。它以卓越的产品品质、先进的技术和广泛的应用案例&#xff0c;在行业内树立了良好的口碑。下面&#xff0c;让我们深入了解一下这个值得推荐的品牌。 一、…

作者头像 李华