|

1.时基产生模块8 n) s! F: O! @6 w% `- z$ G
使用555产生一个周期为一秒的多谐振振荡电路,用来作为整个电路的时基。作为整个系统的时钟信号。电路连接如图所示,4脚接下一个555的3脚输出,好用来实现3个灯之间的转换。其它脚如图所接,其中电阻R=100K,C1=4.8uF。根据公式T=0.7*(R1+2*R2)*C计算,该电路可以产生周期为1S左右的方波信号,刚好给电路提供时基信号。
# a% Z, P" o! h9 V8 P. r 2.控制时间调节9 h* B, Y/ E" z3 Y
使用开关按键送入初值信号,然后通过74LS161,以送初值的方式给计数芯片提供计数的时间。开关按键按下一次,产生一次方波信号,然后连接到74LS161的2脚处。使得每按一次,74LS161的Q0~Q3端就输出加一。Q0~Q3端接计数器的D0~D3端。从而可以通过按键对计数器键入初值,使得整个系统的时间变得可调。
" i, e3 B: v. ^ 3.信号选择模块8 a+ ]9 o E" u, {: f" [( h& P
! L7 ^) f# r8 `" R因为在调节时间时,给得初值可能是任意的。例如,给了47,所以个位就要送初值7。但是当7变为0后,初值没有改变,依然从7开始变化。就会出现47~40,然后又从37开始向下减的情况。针对这个问题,我引入了2选1数据选择器的芯片。当十位的计数到0的时候数据选择器选择用户给定初值,其它情况采用之前设计好从9开始向下减。从而达到了从任意值向下开始计数,并且不断不出错循环的效果。. \* [5 F& U% r2 k# L
4.计数,显示模块% O) E, u, [$ d' C
; p7 w) ?4 U, r 本次计数采用的是74LS161芯片,2脚接时基信号产生模块的3脚信号输出处,从而每隔一秒,Q0~Q3的值加一。Q0~Q3外接反相器然后接CD4511再接数码管。15脚和一个开关电路通过或非门接到芯片的9脚(当计数到零的时候对芯片进行置数功能使得计数其可以循环计数),另外9脚在接到十位74LS161的2脚处,达到进位的效果。其它的7,10,1脚接高电平,确保芯片的功能可以正确的使用。然后CD4511后面接数码管(CD4511,译码器)芯片的其它脚接高电平,确保芯片能够正常的工作。% o/ }2 u. j( a _3 i
5.红绿灯转换模块+ s. x& g" f# Y" n% {2 _" a
& ?7 a9 |) R) A" @$ o& I9 Q5 d
首先将计数器处的两个芯片74LS161的15脚通过与非门再接非门连接作为另一个555的4脚输入端,然后该555产生一个几秒钟的延时效果。最终3脚输出一个周期为用户定义的时间加上延时时间。再通过一个JK触发器,一系列的与非门。将输出信号转换成3路,且符合红绿灯转换规则的信号,从而达到最终所需要的可控制交通灯效果。 |
|