10路彩灯分别用10个发光二极管L0、L1…..L9模拟,发光二极管L0、L1…..L9从左到右排列。编码
1) 10路彩灯按照L0、L1…..L9的顺序依次点亮至全亮,再按照L9、L8…..L0的顺序依次熄灭至全灭。spa
2) 10路彩灯按照L0L1亮、L1 L2亮、L2L3亮、…L8L9亮、L9L0亮的顺序轮流点亮。翻译
3) 10路彩灯按照L0L9、L1L8、L2L7、L3L6、L4L5的顺序依次点亮,而后按相反的顺序依次灭掉。设计
按下启动按钮,进入花型(1)并反复循环运行。按下切换按钮,进入花型(2)并反复循环运行;再次按下切换按钮,进入花型(3)并反复循环运行;再次按下切换按钮,则三个花型顺序运行并反复循环;若再次按下切换按钮,则又进入花型(1)并反复循环;不断按下切换按钮,则按上面顺序进行花型切换。任什么时候候按下复位按钮,所有灯灭。3d
该电路单元用74192计数器来实现。74192是双时钟十进制计数器。本电路用74192来实现0000—1001的十进制计数,同时用另一个74192的来对第一片芯片进位进行计数,第二个芯片计数到2时同时对两个计数器进行清0操做。其电路图以下图所示blog
编码电路全局如图:ci
因为我最后灯泡的输出电路前面接了一个反相器,因此这里用0来表示灯泡亮。table
该序列对应了20种状态,这个序列的状态如表所示:原理
A2循环 |
D1C1B1A1 |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0 |
0000 |
0 1 1 1 1 1 1 1 1 1 |
0 |
0001 |
0 0 1 1 1 1 1 1 1 1 |
0 |
0010 |
0 0 0 1 1 1 1 1 1 1 |
0 |
0011 |
0 0 0 0 1 1 1 1 1 1 |
0 |
0100 |
0 0 0 0 0 1 1 1 1 1 |
0 |
0101 |
0 0 0 0 0 0 1 1 1 1 |
0 |
0110 |
0 0 0 0 0 0 0 1 1 1 |
0 |
0111 |
0 0 0 0 0 0 0 0 1 1 |
0 |
1000 |
0 0 0 0 0 0 0 0 0 1 |
0 |
1001 |
0 0 0 0 0 0 0 0 0 0 |
1 |
0000 |
0 0 0 0 0 0 0 0 0 1 |
1 |
0001 |
0 0 0 0 0 0 0 0 1 1 |
1 |
0010 |
0 0 0 0 0 0 0 1 1 1 |
1 |
0011 |
0 0 0 0 0 0 1 1 1 1 |
1 |
0100 |
0 0 0 0 0 1 1 1 1 1 |
1 |
0101 |
0 0 0 0 1 1 1 1 1 1 |
1 |
0110 |
0 0 0 1 1 1 1 1 1 1 |
1 |
0111 |
0 0 1 1 1 1 1 1 1 1 |
1 |
1000 |
0 1 1 1 1 1 1 1 1 1 |
1 |
1001 |
1 1 1 1 1 1 1 1 1 1 |
根据表格可知,编号数较低的灯泡在编号数较高的灯泡亮时也必须亮,故可用与门将较低灯泡的电路与较高灯泡的输出电路相关联起来。
为了实现三个花型的顺序输出,该天然序列显示电路仍是要通过7442译码器和74153多路选择器。7442译码器的做用在于将4位BCD码的10组代码翻译成10个与十进制数字符号对应的输出信号,图中输入端ABCD为8421码,输出端O0N—O9N分别表明十进制数字0—9。74153是个双4路选择器,其功能是选择输出四个编码单元电路的值。本电路中用了5个74153来对应10个灯泡。74153的器件上用1C0和2C0来链接对应的输出端O0N—O9N。当74153器件的A和B为00时,顺序输出天然序列的值。最后通过指示灯和数码管显示出来。
与门实现电路截图:
1)前10种状态:
2)后10种状态
为了使灯泡按照顺序01,12,23,34,45,56,67,78,89,90的输出,可使用与门同时关联译码器对应的两种状态,好比L0要在计数器为0和9的时候亮。
序列的状态如表:
DCBA |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0000 |
0 0 1 1 1 1 1 1 1 1 |
0001 |
1 0 0 1 1 1 1 1 1 1 |
0010 |
1 1 0 0 1 1 1 1 1 1 |
0011 |
1 1 1 0 0 1 1 1 1 1 |
0100 |
1 1 1 1 0 0 1 1 1 1 |
0101 |
1 1 1 1 1 0 0 1 1 1 |
0110 |
1 1 1 1 1 1 0 0 1 1 |
0111 |
1 1 1 1 1 1 1 0 0 1 |
1000 |
1 1 1 1 1 1 1 1 0 0 |
1001 |
0 1 1 1 1 1 1 1 1 0 |
电路截图:
为了使按照L0L九、L1L八、L2L七、L3L六、L4L5的顺序依次点亮,而后按相反的顺序依次灭掉,要使用与门相关联。
序列的状态如表:
DCBA |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0000 |
0 1 1 1 1 1 1 1 1 0 |
0001 |
0 0 1 1 1 1 1 1 0 0 |
0010 |
0 0 0 1 1 1 1 0 0 0 |
0011 |
0 0 0 0 1 1 0 0 0 0 |
0100 |
0 0 0 0 0 0 0 0 0 0 |
0101 |
0 0 0 0 1 1 0 0 0 0 |
0110 |
0 0 0 1 1 1 1 0 0 0 |
0111 |
0 0 1 1 1 1 1 1 0 0 |
1000 |
0 1 1 1 1 1 1 1 1 0 |
1001 |
1 1 1 1 1 1 1 1 1 1 |
电路与门实现截图:
主要由加法器和一些基本门电路组成。AB从00-11计数,分别对应三个花型和三个花型循环播放,再结合前面计数电路单元中的第二个芯片A端输出0/1以及循环播放时控制花型的计数器芯片,能够画出对应的真值表:
QA(计数电路) QB QA (U3) QB QA (U63) |
A B (多路选择器) |
0 0 0 0 0 |
0 0 |
1 0 0 0 0 |
1 1 |
d 0 1 0 0 |
0 1 |
d 1 0 0 0 |
1 0 |
0 1 1 0 1 |
0 0 |
1 1 1 0 1 |
1 1 |
0 1 1 1 0 |
0 1 |
1 1 1 1 1 |
1 0 |
其余 |
d d |
能够画出对应的卡诺图:(这里为了便于区分将输入三个值设为D0 D1 D2,输出仍为A B)
根据上图中AB的式子,在电路中用基本门链接到多路选择器的AB端。
经过链接对应多路选择器的输出端口,再加一个非门,便可获得灯泡的亮灭状况。
经过控制计数电路单元两片计数器的清零来控制启动。
切换开关一次或点击空格,就至关于输出一次电平,可以使计数器进行计数操做。
当到达三个花型循环切换以后,再按一次,三种花型自动循环播放,经过另一片74192来控制。
当U3计数到3时,U63进1,当记录状态的芯片计数到20时且U63为1时,U63进2,当记录状态计数到10时且U63为2或3时,U63计数。这几个经过基本逻辑门电路来实现。
每一个灯泡前面链接着一个与门,只有当复位按钮链接高电平一端时灯泡才能正常显示,当复位按钮链接低电平一端时灯泡所有都熄灭。
根据老师给出的设计要求,彩灯循环控制器主要是完成10个灯泡的亮灭。由此可想到用74192计数器从0-9计数,能够分别对应每一种花型不一样时刻下对应灯泡的亮灭状况。其中花型1较为特殊,须要计数两轮才能完成花型的展现。因为74192芯片的输出对应的是8421编码,能够用7442译码器将计数值输出。因为一共有三种花型,能够经过74153多路选择器来控制花型的切换。
彩灯循环控制器的结构框图:
该彩灯循环控制器的原理是:由方波信号发生器产生稳定的高频脉冲信号,做为计时基准。用两个计数器来实现电路计数,第一个花型须要20个状态来展现彩灯,故须要两片计数器,而另外两种花型只须要10个状态来实现花型,不考虑第二片计数器的位数。计数器的实时状态同时输出到数码管。接下来由译码器输出对应状态,经过不一样的编码电路(主要由与门实现)接到对应的多路选择器。多路选择器的控制端由花型控制电路来控制,花型控制电路主要由两个计数器的低两位实现0-4计数和0-3计数,再结合前面计数电路的第二个芯片的输出值进行逻辑电路的设计完成选择器控制端相对应的值。因为74153有两个输出值,故本次一共须要5个多路选择器输出到对应的彩灯显示电路。
总电路如图所示: