数子电路课程设计.docx
- 文档编号:12550499
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:14
- 大小:110.76KB
数子电路课程设计.docx
《数子电路课程设计.docx》由会员分享,可在线阅读,更多相关《数子电路课程设计.docx(14页珍藏版)》请在冰点文库上搜索。
数子电路课程设计
西安邮电学院
数字电路课程设计报告书
——多路彩灯控制器
学院名称
:
电子工程学院
学生姓名
:
李超鹏(15)
专业名称
:
光电信息工程
班级
:
0901
实习时间
:
2011年12月19日——2011年12月30日
1.引言
彩灯控制器可以自动控制多路彩灯按不同的节拍循环显示各种灯光变换花型。
彩灯控制器是以高低电平来控制彩灯的亮灭。
实现彩灯控制可以采用EPROM编程、RAM编程、可编程逻辑器件、单片机等实现。
在彩灯路数较少,花型变换比较简单时,也可以移位寄存器实现。
在实际应用场合彩灯可能是功率较大的发光器件,需要加以一定的驱动电路。
本课题用发光二极管LED模拟彩灯,可以不用驱动。
2.系统设计
2.1设计要求
任务要求设计一个至少8路移存型彩灯控制器。
彩灯用发光二极管LED模拟。
具体要求如下:
1、能演示三种花型,花型自拟。
2、选做:
彩灯明暗变换节拍为1.0s和2s,两种节拍交替运行。
3、选做:
用单片机实现彩灯控制器,要求同上。
用可编程逻辑器件实现彩灯控制器,要求同上。
2.2数学建模
接到的任务是设计一个彩灯控制器,要求实现三种或三种以上花型。
对工作时钟的要求是,能在两种时钟(1S和2S)下交替循环工作。
由此,我将整个设计分为三个模块:
时钟产生模块、状态产生模块、彩灯控制模块。
其中最核心的为状态产生模块。
这个模块负责产生3种不同的花型控制信号,传送给下一个单元来实现彩灯的控制。
另外,它还需要检测是否一个周期完成,把控制信息反馈给上个单元,来控制时钟的交替变换。
时钟产生模块用来产生CP时钟脉冲,包括1S和2S两种,交替切换,具体切换点由状态产生模块的反馈信息决定。
彩灯控制用来将数字信号转变为彩灯的亮灭花型。
设计变换的花型有3种分别为:
00000000
00000000
00000000
10000000
10001000
00011000
11000000
11001100
00111100
11100000
11101110
01111110
11110000
11111111
11111111
11111000
01110111
01111110
11111100
00110011
00111100
11111110
00010001
00011000
11111111
00000000
00000000
11111110
11111100
11111000
11110000
11100000
11000000
10000000
00000000
先从左至右依次点亮先各自从左向右亮从中间至两边依次渐亮
再从右向左依次渐灭在从左到右依次渐灭再从两边向中间渐灭
2.3系统框图
3.单元电路设计
在确定好大体的模块功能后,就进入了具体的模块设计阶段。
共分为三个单元:
彩灯控制信号产生电路单元、状态产生电路设计单元、彩灯显示控制单元。
每个单元单独设计,三个单元通过信号线、反馈线连接在一起,最后经过汇总,就得到整体电路设计电路图。
3.1彩灯控制信号产生电路
彩灯控制信号产生电路使用组合电路可以实现。
整个设计的应用电路中共需要两种频率的时钟脉冲,1秒和2秒。
经过查阅相关资料,NE555芯片再加上外围一些电路,就可以产生周期为1秒的脉冲,这可作为一种频率脉冲输出,另外,将此脉冲通过一路D触发器的转换,就可以变为周期为2秒的脉冲,又可作为另一种时钟脉冲输出。
两种频率的脉冲有了,此时只需设计一个选频电路,使这两种频率的脉冲在彩灯花型一个周期后,自动切换。
我选用了数据选择器来进行选频输出。
3.1.1基于NE555芯片CP脉冲产生
设计电路图:
如图所示,用555定时器构成多谐振荡器的电路。
电路接通电源后,电容C1与电阻R1、R2产生振荡,多次充放电,产生多谐振荡。
其中时钟周期为:
T=tw1+tw2=0.7(R1+2R2)C=1.002463s
这样就成功产生了周期为1秒的脉冲。
波形如下:
3.1.2分频电路设计
设计电路图:
如果所示,我用74LS74芯片中的一路D触发器来实现电路的分频。
D触发器有使输出状态进行翻转的功能,将D触发器的D和~Q端接在一起,将NE555产生的1S定时脉冲送给CLK端,Q端为输出。
在一个时钟下降沿时,D触发器进行一次翻转,假定由高变为低;在第二个时钟下降沿时,D触发器又进行一次翻转,由低变为高;由此,1S定时脉冲就可分频变为2S。
这样就成功产生了周期为2秒的脉冲。
波形如下:
3.1.3选频电路设计
电路图:
在课内我们学习过74LS151数据选择器,它的功能就是通过A、B、C三个输入端来选择输出端Y输出从D0到D7任意一路的信号。
C、B、A分别为000时,Y输出D0端的信号,当C、B、A分别为001时,Y输出D1端的信号。
由此,我将NE555输出端1S的时钟信号接在D0端,由D触发器分频后Q端输出的2S的时钟信号接在D1端,将B、C和使能端接地,A端接另一路D触发器的输出端Q,D触发器信号输入D端和~Q连接在一起。
在这里的第二组D触发器用来接收下个状态产生单元反馈回来的变频指令。
当3个花型都亮过一遍后,后端的单元会返回一个下降沿,D触发器进行一次翻转,也就使151数据选择器的输入端A在1和0之间跳变,从而使输出端Y输出的信号在D0和D1之间变化,也就达到了分频的预定目标。
3.2状态产生电路设计
彩灯的各种花型变化,就是在这个单元里设计实现的。
我用了两片74LS161芯片产生模24的计数器。
将产生的状态和要输出的移位信号、数据信号用卡诺图的方式表示出来,再经过化简,可以得到我的电路状态方程。
然后在仿真及硬件电路里实现。
3.2.1基于计数器设计状态产生电路
考虑到设计要求产生3种花型,所以需要分为3组。
每组一个花型需要8次变换,一共需要24个状态变换。
这里我选用两片161级联。
需要的状态从00000000到00010111,当计数到00011000时,芯片清零,从00000000开始计数。
电路图:
3.2.2状态周期过后的反馈电路设计
电路图:
当显示最后一种花型的最后一个状态时,模32计数器的状态为00010111;显示完这个花型后,系统需要在状态为00011000时给前一单元反馈一个信号,同时需要给两片161清零,进行新一轮的状态产生循环。
为此,将第一片161的QD端和第二片161的QA端通过了一个74LS00与非门,然后将与非门接在两个161的清零端。
此时,当状态为00011000时,经过与非门,得到了一个低电平,送入两个低电平使能的清零端后,就可以完成清零动作。
同时,与非后的信号再经过一个74LS04非门,接到上个单元第二片D触发器的CLK端口,来实现下降沿输出。
用以发出变频的控制信号。
3.3彩灯显示控制设计
在一切信号准备完毕,现在需要设计最后一个模块单元——彩灯显示控制单元。
其中彩灯用发光二极管来代替。
在这个模块中,用两个74LS194双向一位寄存器,来实现彩灯的信号输出。
将彩灯的一端全部通过电阻接地,另一端接在两片194的8个输出端。
这样一来,当输出端输出0时,因为二极管两端无压降,所以显示为熄灭状态;当输出端输出1时,二极管两端产生适当压降发光,显示为点亮状态。
3.3.1基于移位寄存器的现实状态电路
电路图:
S0、S1为控制端,控制信号为:
S1端
S0端
状态变化
0
0
保持
0
1
右移
1
0
左移
1
1
保持
两片的SL、SR输入数据都相同,所以我将4个端口串联在一起,标记为D。
3.4整体电路设计结果
整体电路图:
4.用单片机实现彩灯控制器,要求同上
用单片机来实现彩灯控制,比组合电路容易许多。
因为我不需要过于关注中间的状态方程及与或非门的连接步骤。
我只需要想好一种思路,用C语言编写出来,通过一个8位输出端P0口,输出数据即可。
4.1编写程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
uchartemp,num,num1;
sbitbeep=P2^3;
voiddelay(uint);
voidmain()
{
temp=0xfe;
while
(1)
{
for(num1=0;num1<3;num1++)
{
for(num=0;num<8;num++)
{
P1=temp;
beep=0;
delay(100);
temp=_crol_(temp,1);
P1=0xff;
beep=1;
delay(100);
}
}
for(num1=0;num1<3;num1++)
{
for(num=0;num<8;num++)
{
P1=temp;
beep=0;
delay(100);
temp=_cror_(temp,1);
P1=0xff;
beep=1;
delay(100);
}
}
while
(1);
}
}
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
4.2下载调试
以上程序编写完成后,用烧录软件烧录到STC89C52RC芯片中,放入单片机的最小系统,并将P0口的8个输出端接到8个LED灯上,经过上拉电阻接电源5V。
通电后观察变化的花型。
5.设计总结
设计电路关键在于对设计要求的理解分析以及对基本电路相关知识的熟练掌握。
设计电路时,将总体的功能分成若干个部分来实现,是简化电路设计思路的很好方法;且搞清各个模块的功能与实现要求操作的具体方法,对电路故障的检查也是很有帮助。
通过这次设计,学到了很多东西,如查找资料,设计比较,从各种图中提取所需。
本次课程实习我虽然用了一个星期的时间就全部做完,但整个过程我都认真的完成了,而且从中收获很多。
可以总结为以下的几点:
1,对数字电路知识的巩固与提高
这次课程设计主要是运用数字电路逻辑设计的一些相关知识,在整个实习过程中,都离不开对数字电路课程知识的再学习。
我在最开始,就先将实习用到的知识通过翻阅数电书回顾了一遍(这也是对这门课的复习,给以后的备考减少了很多负担),这样的回顾让我对知识的理解更加透彻,对后来的快速设计起了很好的铺垫作用。
2,学会了理论联系实际
课程设计,通过选择的题目,根据要求,运用所学知识将其付诸实践来完成。
这并不是在课堂上的单纯听懂,或者课后看书过程中的深入理解,这需要的是一种理论联系实践的能力。
理论知识往往都是在一些理想状态下的假设论,而实际的动手操作则完全不同,需要考虑实际中的很多问题。
有些知识在理论上可能完全没错但到了实际中则不然。
比如在动笔做题时我们是不用考虑导线的电阻的,但在实际中,导线电阻有时是会带来时延造成花型变化的错乱,所以我们应尽量在连接电路时选择最短路径。
3.课程实习设计是开端,连接是关键,测试是必须。
所以实现过程中不仅要求对知识的掌握要足够准确与精通,更要有绝对的耐心与细心。
连接电路时一定按照自己的设计图仔细连接这会对后面的测试起到很好的铺垫作用。
在后面查错时就不用花费精力在查线上,可以给减少很多后续工作。
我在这次的实习中其实也有连错线的时候,但我很快检查出来调整了那根线的连接,结果测试电路后花型显示完全正确。
没有费太多的功夫在检查电路上。
6.参考文献
王毓银主编《数字电路与逻辑设计》
唐小华、杨怿菲主编《数字电路与EDA实践教程》
以及网络上的芯片资料
西安邮电学院数字电路课程设计成绩鉴定表
学生姓名
李超鹏
班级/学号
15
承担任务实验室(单位)
电路与电子技术基础教学部
所在部门
电子工程学院
实施时间
2011年12月19日——2011年12月30日
具体内容
第一周
讲授数字电路的设计方法及需要注意的问题;选定题目,并设计电路,完成电路设计;电路仿真;领取元器件,开始组装电路;
第二周
组装电路;老师验收电路;写实验报告;实验总结;
成绩鉴定
学习内容
(40分)
基本功能完成情况(25分)
扩展功能完成情况(10分)
其它(5分)
接受单位评价
(20分)
实践能力(10分)
学习态度(6分)
学习纪律(4分)
报告鉴定
(40分)
报告内容与实践过程紧密结合(20分)
报告质量(主题、结构、观点、逻辑、资料、字数20分)
评阅教师姓名
张春茗
职称
讲师
成绩
评语
评阅教师签字
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电路 课程设计