彩灯控制器

  • 格式: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课程设计来提高自己独立思考和操作的能力。