基于数字电路的交通灯(protues8.6)proteus、 1763-基于数字电路的交通灯(protues8.6)proteus、物料清单 资料介绍: 基于数字电路的交通灯(protues8.6) 数字电路交通灯 1、可以设置各方向通行时间和黄灯时间 2、使用2个数码管显示绿灯时间和黄灯时间 设计思路:(1)时钟控制计数器进行倒计时,每一次倒计时到0的时候输出一个控制脉冲A (2)脉冲A通过计数器进行计数,一共计数4次,每次输出一个信号状态,每个信号代表系统状态:东西通行、东西黄灯、南北通行、南北黄灯 (3)根据这4个状态得出交通灯的控制逻辑,从而直接控制LED点亮 (4)每个状态都对应一个装载值,这个装载值可以通过拨码开关设置 每次状态切换的时候就进行一次时间装载 有哪些资料: 1、仿真工程文件 2、元器件清单 3、逻辑计算

在十字路口的红绿灯里,藏着个有趣的数字世界。今天我们用Proteus里的74LS芯片搭建一个会"思考"的交通灯控制器,让它像交警一样指挥交通。不需要写代码,全靠数字电路的真功夫。

核心架构就像个机械钟表(图1:系统框图)

系统的心脏是555定时器产生的秒脉冲,它驱动着74LS190计数器做减法。当倒计时归零的瞬间,会触发两个重要动作:通过74LS123单稳态电路产生装载脉冲,同时用74LS161状态计数器切换红绿灯状态。

// 举个状态切换的栗子(实际用硬件实现)
always @(posedge clk) begin
    case(current_state)
        2'b00: next_state = (timer_done) ? 2'b01 : 2'b00; // 东西绿灯转黄灯
        2'b01: next_state = (timer_done) ? 2'b10 : 2'b01; // 黄灯转南北绿灯
        //...其他状态类似
    endcase
end

时间设置暗藏玄机(图2:拨码开关电路)

用四个拨码开关组成BCD码输入,74LS283加法器负责把开关状态转换成装载值。比如当设置"25秒"时,实际电路会执行(0010 <<4) + 0101的位运算,这里用异或门实现进位修正。

数码管显示有机关(图3:显示驱动电路)

两片74LS48驱动共阴极数码管,这里有个小技巧:当黄灯亮起时,用JK触发器控制显示切换。东西方向的绿灯倒计时结束后,个位数码管会立即显示黄灯设定时间,十位则保持显示0。

状态机才是灵魂所在(图4:逻辑方程推导)

基于数字电路的交通灯(protues8.6)proteus、 1763-基于数字电路的交通灯(protues8.6)proteus、物料清单 资料介绍: 基于数字电路的交通灯(protues8.6) 数字电路交通灯 1、可以设置各方向通行时间和黄灯时间 2、使用2个数码管显示绿灯时间和黄灯时间 设计思路:(1)时钟控制计数器进行倒计时,每一次倒计时到0的时候输出一个控制脉冲A (2)脉冲A通过计数器进行计数,一共计数4次,每次输出一个信号状态,每个信号代表系统状态:东西通行、东西黄灯、南北通行、南北黄灯 (3)根据这4个状态得出交通灯的控制逻辑,从而直接控制LED点亮 (4)每个状态都对应一个装载值,这个装载值可以通过拨码开关设置 每次状态切换的时候就进行一次时间装载 有哪些资料: 1、仿真工程文件 2、元器件清单 3、逻辑计算

根据真值表推导出逻辑方程:

东西绿灯 = Q1'·Q0'

南北黄灯 = Q1·Q0

用74LS00与非门实现时要注意信号相位,这里需要插入反相器修正逻辑极性。实测中发现状态切换时会出现毛刺,后来在反馈回路加入0.1uF电容才稳定下来。

调试时遇到的坑:

  1. 74123单稳态电路的RC参数需要反复调整,最终确定R=10kΩ,C=47μF
  2. 数码管显示出现鬼影,解决方法是在7448输出端串联220Ω电阻
  3. 倒计时归零时出现状态回跳,通过给计数器CLR引脚加滤波电容解决

电路彩蛋:

在测试过程中,意外发现把状态计数器的Q1接到蜂鸣器,能模拟真实的倒计时提示音。后来特意在黄灯阶段加入了这个"滴滴"声效,让仿真更加真实。

(文末彩蛋:在Proteus里把时钟频率调快10倍,你会看到红绿灯像迪厅灯光一样狂闪,实测有效!)

后记:这个设计虽然用基础芯片实现,但包含了状态机、时序控制、人机交互等核心思想。下次可以尝试用PLD器件重构,或者加入紧急车辆优先通行功能,让这个交通大脑更智能。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐