数电交通信号灯_proteus


设计任务
1)控制器采用1Hz信号信号作为时钟信号;
2)控制器具有异步复位端,复位时系统复位到00;
3)十字路口在SN方向和EW方向各有红、绿、黄三盏灯。
设SN方向、EW方向红、绿、黄三盏灯按序亮一个周期需要40s。
SN直行方向:绿灯亮(17秒)→黄灯亮(3秒)→红灯亮20秒,
EW方向:红灯亮(20秒)→绿灯亮(17秒)→黄灯亮(3秒),
4)当通行灯、禁行灯亮的最后9秒,采用一位数码管倒计时显示时间
5)黄灯闪烁亮3秒。
1. ne555方波起振1hz

电阻 R1 44kΩ 配合 R2 控制电容充电速度
电阻 R2 50kΩ 配合 R1 控制电容充放电速度,共同决定振荡频率
电容 C1 10μF(电解电容) 核心定时电容,充放电过程决定方波周期
电容 C2 0.01μF 接 NE555 控制电压引脚,过滤干扰信号


2.40进制计数器
四十进制减法计数器

| 引脚 | 功能 | 说明 |
|---|---|---|
| D0~D3 | 并行置数端 | 加载初始计数值(BCD 码) |
| Q0~Q3 | 计数输出端 | 显示当前计数值(BCD 码) |
| UP | 加计数端 | 这里不用(接高电平) |
| DN | 减计数端 | 上升沿触发减 1 |
| TCU | 进位输出 | 加法溢出时有效(这里不用) |
| TCD | 借位输出 | 减法下溢(0→9)时输出低电平 |
| PL | 置数端 | 低电平有效,加载 D0~D3 的值 |
| MR | 清零端 | 高电平有效(这里接低电平) |
两片的 MR(清零端)接GND(禁用清零);
两片的 UP(加计数端)接VCC(禁用加法功能)。
个位D3D0全接5v,1001表初始9,十位D1D0接5v,0011表初始3,初始39。
当pl=0时(当十位的减法下溢(0-3)的时候,输出低电平给两个pl),无视时钟状态,直接将D0-D3的值加载到Q0-Q3,设定为计数器的初始值39

39-38-37-36-----02-01-00-39-38
| 秒数 | 秒数十位二进制 | 秒数个位二进制 | SN方向 | EW方向 | SN_RGY | EW_RGY |
|---|---|---|---|---|---|---|
| 39 | 11 | 1001 | 绿 | 红 | 010 | 100 |
| 38 | 11 | 1000 | 绿 | 红 | 010 | 100 |
| 37 | 11 | 0111 | 绿 | 红 | 010 | 100 |
| 36 | 11 | 0110 | 绿 | 红 | 010 | 100 |
| 35 | 11 | 0101 | 绿 | 红 | 010 | 100 |
| 34 | 11 | 0100 | 绿 | 红 | 010 | 100 |
| 33 | 11 | 0011 | 绿 | 红 | 010 | 100 |
| 32 | 11 | 0010 | 绿 | 红 | 010 | 100 |
| 31 | 11 | 0001 | 绿 | 红 | 010 | 100 |
| 30 | 11 | 0000 | 绿 | 红 | 010 | 100 |
| 29 | 10 | 1001 | 绿 | 红 | 010 | 100 |
| 28 | 10 | 1000 | 绿 | 红 | 010 | 100 |
| 27 | 10 | 0111 | 绿 | 红 | 010 | 100 |
| 26 | 10 | 0110 | 绿 | 红 | 010 | 100 |
| 25 | 10 | 0101 | 绿 | 红 | 010 | 100 |
| 24 | 10 | 0100 | 绿 | 红 | 010 | 100 |
| 23 | 10 | 0011 | 绿 | 红 | 010 | 100 |
| 22 | 10 | 0010 | 黄 | 红 | 001 | 100 |
| 21 | 10 | 0001 | 黄 | 红 | 001 | 100 |
| 20 | 10 | 0000 | 黄 | 红 | 001 | 100 |
| 19 | 01 | 1001 | 红 | 绿 | 100 | 010 |
| 18 | 01 | 1000 | 红 | 绿 | 100 | 010 |
| 17 | 01 | 0111 | 红 | 绿 | 100 | 010 |
| 16 | 01 | 0110 | 红 | 绿 | 100 | 010 |
| 15 | 01 | 0101 | 红 | 绿 | 100 | 010 |
| 14 | 01 | 0100 | 红 | 绿 | 100 | 010 |
| 13 | 01 | 0011 | 红 | 绿 | 100 | 010 |
| 12 | 01 | 0010 | 红 | 绿 | 100 | 010 |
| 11 | 01 | 0001 | 红 | 绿 | 100 | 010 |
| 10 | 01 | 0000 | 红 | 绿 | 100 | 010 |
| 09 | 00 | 1001 | 红 | 绿 | 100 | 010 |
| 08 | 00 | 1000 | 红 | 绿 | 100 | 010 |
| 07 | 00 | 0111 | 红 | 绿 | 100 | 010 |
| 06 | 00 | 0110 | 红 | 绿 | 100 | 010 |
| 05 | 00 | 0101 | 红 | 绿 | 100 | 010 |
| 04 | 00 | 0100 | 红 | 绿 | 100 | 010 |
| 03 | 00 | 0011 | 红 | 绿 | 100 | 010 |
| 02 | 00 | 0010 | 红 | 黄 | 100 | 001 |
| 01 | 00 | 0001 | 红 | 黄 | 100 | 001 |
| 00 | 00 | 0000 | 红 | 黄 | 100 | 001 |
设 40 秒减法计数器的输出为两位十位二进制(B1B0)和四位个位二进制(A3A2A1A0)
SN_R=~B1
SN_G=B1(B0+A3+A2+A1A0)
SN_Y=(A0+A1) *~A2 *~A3 *~B0 *B1
EW_R=B1
EW_G=~B1(B0+A3+A2+A1A0)
EW_Y=(A0+A1) *~A2 *~A3 *~B0 *~B1
3.显示一位数码管
在29-21显示一个
在09-01显示一个

BI/RBO是灭零端,输入低电平时候强制数码管灭零
也就是BI/RBO输入高电平时数码管可以正常显示
对于29-21
输入X1=B1 *~B0 *(A0+A1+A2+A3)
对于09-01
输入X2=~B1 * ~B0 *(A0+A1+A2+A3)


4. 改进黄灯,让它闪烁
首先得到一个频率更高的方波脉冲,然后让他与现在的SN_Y、EW_Y进行与运算

拿了现成的方波测了下,10hz闪烁效果可以
再造一个NE555电路,取R1=4.4K,R2=5K



效果还行
5. 改进,增加异步复位按键

6. 修图,美化




浙公网安备 33010602011771号