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