彩灯控制器
- 格式:doc
- 大小:365.50 KB
- 文档页数:7
燕 山 大 学
EDA课程设计报告书
题目: 彩灯控制器(二 )
姓名:史美萍
班级: 08级光电子2班
学号: 080104040033
成绩:
2 一、设计题目及要求
十、彩灯控制器二
要求:
1.有八只LED,L0……L7
2.显示顺序如下表
3.显示间隔为0.25S,0.5S,1S,2S可调。
序号 L0 L1 L2 L3 L4 L5 L6 L7
0 1 1 1 1 1 1 1 0
1 0 1 1 1 1 1 1 1
2 1 0 1 1 1 1 1 1
3 1 1 0 1 1 1 1 1
4 1 1 1 0 1 1 1 1
5 1 1 1 1 0 1 1 1
6 1 1 1 1 1 0 1 1
7 1 1 1 1 1 1 0 1
8 1 1 1 1 1 1 1 0
9 1 1 1 1 1 1 1 1
10 0 1 1 1 1 1 1 1
11 0 0 1 1 1 1 1 1
12 0 0 0 1 1 1 1 1
13 0 0 0 0 1 1 1 1
14 0 0 0 0 0 1 1 1
15 0 0 0 0 0 0 1 1
16 0 0 0 0 0 0 0 1
17 0 0 0 0 0 0 0 0
18 1 0 0 0 0 0 0 0
19 1 1 0 0 0 0 0 0
20 1 1 1 0 0 0 0 0
21 1 1 1 1 0 0 0 0
22 1 1 1 1 1 0 0 0
23 1 1 1 1 1 1 0 0
24 1 1 1 1 1 1 1 0
25 1 0 0 0 0 0 0 0
26 0 1 0 0 0 0 0 0
27 0 0 1 0 0 0 0 0
28 0 0 0 1 0 0 0 0
29 0 0 0 0 1 0 0 0
30 0 0 0 0 0 1 0 0
31 0 0 0 0 0 0 1 0
32 0 0 0 0 0 0 0 1
3 二、设计过程及内容(包括○1总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;○2主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)
步骤一:
首先根据8只LED有33种状态,把它分成三组,每组有11种状态。
即0-10为第一组,11-21为第二组,22-32为第三组。
然后用利用11进制计数器作出十一个输出端口的译码器。
电路如下图所示
步骤二:
根据译码器的输出原理,可以将每一组中每一个LED的状态用逻辑函数式表示出来,即可用逻辑与或非门连接每一个LED的输出,以下为每一组的逻辑图。
第一组: 4
第二组:
5
第三组:
步骤三:
由于三组都是由同一个CLK输入,即三组会同时工作,为了让程序按第一组、第二组、第三组这个先后顺序输出,就用第三组的进位输出端与一个三进制计数器相连,作为8个四选一的数据选择器的地址输入端,再将每组的L0,L1,L2,L3,L4,L5,L6,L7分别与四选一的数据选择器的Q0,Q1,Q2相连,这样第三组的进位输出由于每十一个脉冲就进位一次,选择器的地址输入端就有00,01,10三个输入状态来控制,即可按顺序输出这三组状态,电路图如下所示: 6 步骤四:
题目要求彩灯的每一种状态的时间间隔可调,可以调为0.25S,0.5S
1S,2S。所以用3片74160做出183进制计数器,再选用732Hz的脉冲即可输出4Hz的脉冲,再利用八进制计数器即可分出频率为2Hz,1Hz,0.5Hz的脉冲,再通过数据选择器即可调节显示时间的间隔。如图所示:
7 最后即可得出总电路图:
三、设计结论(包括设计过程中出现的问题;对EDA课程设计感想、意见和建议)
因为第一次自己设计这样的电路图,刚看到题目时有点不明白,后来看到彩灯变化的真值表具有一定的规律,就想到用译码器和数据选择器进行逻辑组合,但是因为分组不均匀,最后不知道怎么将它们按次序数出,所以思路就中断了,后来就想到将状态均匀分组,做出了电路图,但总是得不出自己想要得波形图,最后在老师和同学的帮助下,找出了原因,计数器的进位不准确,于是在进位输出前面加了个D触发器,就得到了我想要的波形图。经过这次EDA课程设计,让我对数字电路产生了很大的兴趣,同时也巩固了之前在数电方面的一些知识,感觉还是实际操作对学习更有帮助。当然在探索方面,也提高了我的专注力以及耐心,因为在操作中总是会出现一些细小的错误导致最终运行不成功,所以自己需要有很大的耐心去找出错误的原因。
希望以后有更多的机会进行EDA课程设计来提高自己独立思考和操作的能力。