基于ATmega48的交通灯系统
最近做的课设,就是用ATmega48来做一个交通灯系统
画图软件:protues;
编程软件:ICCV7 for AVR
主要功能:
1、普通的交通灯功能(白天、夜间、紧急模式);
2、红绿灯时间可通过按键修改;
这是用protues画完的最终效果图
下面是对各个模块的逐个解释
1.数码管模块
由于这里用的是ATmega48,IO口相对来说会比较少,所以这里用了一个BCD译码器来扩展IO口,这里特别要讲的是我的数码管用的是共阴极的,在三极管的输出极上接一个电阻再接地。
2、白天黑夜模块(由于总的图画得比较乱,故单独的模块单独画出来逐个解释);
这里主要就是运用了电压比较器(lm324),当光敏电阻变化到一定的程度之后在1口会实现一个电平变化。
3、LED灯模块;
这里要根据自己身边的实际情况而设计了,在本人所在的城市里,就比方说,在一个十字路口的东西边为红灯的时候,南北边一定为绿灯或者黄灯;反过来也一样,所以在正常的情况下东西边为红灯,南北边一定不能是红灯;紧急模式下就是随意地改变红灯和绿灯的方向;夜间模式就是全部等灯都是编变成闪烁的黄灯
这里用的是二-十进制译码器和与门来实现上述的灯光变换。(真值表可在自行查询)假设74hc42的0口为低电平,下边的绿灯和 右边的红灯都亮,当2口为低电平时,下边的黄灯亮而右边的红灯由于与门的作用跟着亮。
4、复位模块和按键模块比较简单,可自行设计