课设多花样循环彩灯控制器设计报告.docx
《课设多花样循环彩灯控制器设计报告.docx》由会员分享,可在线阅读,更多相关《课设多花样循环彩灯控制器设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
课设多花样循环彩灯控制器设计报告
1.设计意义及要求
1.1设计意义
通过对《数字电子技术基础》必修部分的学习,我们掌握一些关于数字电子技术的基础知识和基本技能,具备了在日常生活与学习中应用数字技术解决问题的基本态度与基本能力但是对于各种门电路、元器件芯片的结构及其工作原理等知识,我们的理解依然比较肤浅。
通过为期两周的课程设计,可以让我们对课堂上的知识有更深入的理解,同时做到理论与实际相结合。
此外,课程设计能够最直接有效的训练我们的创新思维,提高分析问题、解决问题的能力。
1.2设计要求
1.使16只彩灯从右到左逐一循环点亮
2.使16只彩灯按照1111111011111110左移循环点亮,即最开始为第8只和第16只彩灯亮,紧接着熄灭,同时第7只和第15只彩灯亮....依此循环点亮。
3.使16只彩灯交替闪烁。
4.使中间两个彩灯发亮,然后从两边再增加两个发亮,一直下去,直到16个彩灯全亮。
5.接着重复以上动作,这样一直循环下去。
时间间隔为1秒。
2.方案设计
2.1设计思路
首先需要个脉冲源信号刺激,之后对于流水灯的移位功能可以采取寄存器来实现,本实验采用的是74LS198芯片。
总体方案共分为6大块。
第一块实现实现左移循环,第二块实现两两左移循环点亮,第三块实现交替闪烁,第四块实现向外扩散,第五块实现时钟信号的产生,第六块实现计数器。
2.2方案设计
2.2.1设计方案一电路图
图2-1方案一方框图
2.2.2.设计方案二电路图
MCU控制电路
LED灯显示电路
本方案实现的核心是MCU控制电路,以AVRmega16单片机为控制核心,用C语言编程,控制彩灯实现多花样循环功能。
AVR单片机最小系统AVRmega16单片机和复位电路,还有晶振电路(16Mhz)。
AVR单片机具有高性能、低功耗的特点使用AVR的时钟源(晶振、内部RC等)不经过分频直接提供给CPU使用,而51的CPU主频等于晶振的12分频此最小系统实现对系统的控制等功能。
系统框图如下:
图2-2方案二框图
图2-3方案2电路
2.3方案比较
方案一是采用数电模块,元器件较多,接线较为复杂,但功能明确,容易看懂
方案二采用单片机制作,电路简单,但对于没学过单片机的同学有理解
鉴于本次课程设计主要是数字电路课程设计,所以我选择了第一组方案。
3.部分电路设计
3.1左移循环电路
3-1花样一左移电路图
第一块:
第一片和第二片74ls198的输入端分别为1111111011111111,在第一个脉冲上升沿到来时,s0=s1=1两个芯片同时置数,并且第16只彩灯点亮,当第二个脉冲上升沿到来时,s0=0,s1=1,两个芯片开始左移,由于第一片的Q0端与第二片的DSL端相连接,而DSL的信号直接输出给Q7端,因此当第九个灯点亮时,在下一个脉冲信号的作用下,第八个灯被点亮,最终达到左移循环的目的。
3.2两两左移循环电路
图3-2花样二两两左移电路图
第二块:
第一片和第二片74ls198的输入端分别为1111111011111110,在第17个脉冲上升沿到来时,s0=s1=1两个芯片同时置数,并且第8只和第16只灯被点亮,当第18个脉冲上升沿到来时,s0=0,s1=1,两个芯片开始左移,其中第一片DSL的信号输出给第一片的Q7端,第一片的Q0端与第二片的DSL相连接。
在脉冲信号的作用下,两个芯片的输出端信号不断左移,,直到第一个灯和第九个等同时被点亮。
3.3交替闪烁电路
图3-3花样三交替闪烁电路图
第三块:
第一片和第二片74ls198的输入端分别为1010101010101010,在第25个脉冲上升沿到来时,s0=s1=1两个芯片同时置数,并且标号为偶数的彩灯被点亮,当第26个脉冲上升沿到来时,s0=0,s1=1,两个芯片开始左移,其中第一片DSL的信号输出给第一片的Q7端,第一片的Q0端与第二片的DSL相连接,因此在下一脉冲信号的作用下,标号为奇数的灯被点亮,而偶数的灯熄灭,此循环一共执行两次。
3.4向外扩散电路
图3-4花样四向外扩散电路图
第四块:
第一片和第二片74ls198的输入端分别为1111111001111111,在第29个脉冲上升沿到来时,s0=s1=1两个芯片同时置数,并且第8个和第9个彩灯被点亮,在第30个脉冲上升沿到来时第一片的s0=1,s=0,第二片s0=0,s1=1,即第一片实现右移,第二片实现左移,此时第一片的DSR=0,保证了它的Q0端始终被点亮,而第一片的Q0端与第二片的DSL相连接,也就保证了第二片的Q0端始终被点亮,因此在脉冲信号的作用下,16只彩灯从中间向外扩散,依次被点亮
3.5时钟信号产生电路
图3-5555定时器
555定时器是一种模拟和数字功能相结合的中规模集成器件。
一般用双极性工艺制作的称为555,用CMOS工艺制作的称为7555,除单定时器外,还有对应的双定时器556/7556。
555定时器的电源电压范围宽,可在4.5V~16V工作,7555可在3~18V工作,输出驱动电流约为200mA,因而其输出可与TTL、CMOS或者模拟电路电平兼容。
555定时器成本低,性能可靠,只需要外接几个电阻、电容,就可以实荡器、
单稳态触发器及施密特触发器等脉冲产生与变换电路。
它也常作为定时器泛
应用于仪器仪表、家用电器、电子测量及自动控制等方面。
555定时器的内
部电路框图和外引脚排列图分别如图2.9.1和图2.9.2所示。
它内部包括
两个电压比较器,三个等值串联电阻,一个RS触发器,一个放电管T及
功率输出级。
它提供两个基准电压VCC/3和2VCC/3
555定时器的功能主要由两个比较器决定。
两个比较器的输出电压控制RS触发器和放电管的状态。
在电源与地之间加上电压,当5脚悬空时,则电压比较器C1的同相输入端的电压为2VCC/3,C2的反相输入端的电压为VCC/3。
若触发输入端TR的电压小于VCC/3,则比较器C2的输出为0,可使RS触发器置1,使输出端OUT=1。
如果阈值输入端TH的电压大于2VCC/3,同时TR端的电压大于VCC/3,则C1的输出为0,C2的输出为1,可将RS触发器置0,使输出为0电平。
3.6计数器产生电路
图3-674LS197芯片做计数器
第六块:
用两片74LS197实现三十六进制,其中以第二片的Q2、Q5端控制清零信号。
3.7各芯片引脚及结构
3.7.1移位寄存器
图3-774LS198芯片引脚图
输入
动作
CLEAR
S1
S0
CK
H
L
H
⊥
右移
H
H
L
左移
H
H
H
载入
H
L
L
x
HOLD
L
x
x
x
清除
表3-174LS198芯片真值表
3.7.2计数器
CLK
CLR
ENP
ENT
Load
Function
X
L
X
X
X
Clear
X
H
H
L
H
Count&RCDisabled
X
H
L
H
H
CountDisabled
X
H
L
L
H
Count&RCDisabled
↑
H
X
X
L
Load
↑
H
H
H
H
IncrementCounter
表3-274LS161芯片真值表
图3-874LS161芯片引脚图
3.7.3脉冲输出电路
图3-9555定时器引脚图
4.调试与检测
4.1调试中故障及解决办法
调试中我们首先遇到的困难是缺乏对各芯片引脚和具体功能的了解,但这一点通过上网搜寻资料和询问同学很快得到了解答。
然后是接线鹅蛋问题,由于采用数电接法,元器件众多线路也多,容易在疏忽中出现遗漏,但是经过多次调试与检验,这一点也得到了解决。
最后是时序问题,对于电路中的冒险竞争现象我们一度束手无策,最终通过大家一起的讨论和对参考书籍的翻阅,我们找到了加入与非门的方法来解决
4.2调试与运行结果(组装调试的方法和技巧、仿真)
打开protues仿真电路图,进行了仿真,部分结果截图如下:
图4-1花样一左移效果截图
图4-2花样二两两左移效果截图
图4-3花样三交替闪烁效果截图
图4-4花样四向外扩散效果截图
5仿真操作步骤及使用说明
一.各部件说明
D0—D15十六个LED灯为显示。
二.操作说明:
点击仿真运行按键后,16个灯将会按照下面的顺序进行亮灭:
0为亮,1为暗)
花样一:
1111111111111110
1111111111111101
1111111111111011
………….
1011111111111111
0111111111111111
花样二:
1111111011111110
1111110111111101
………
1011111110111111
0111111101111111
重复一遍
花样三:
1010101010101010
0101010101010101
循环8次
花样四:
1111111001111111
1111110000111111
1111100000011111
1111000000001111
……
0000000000000000
1111111111111111
0000000000000000
1111111111111111
闪烁4次
最后循环到第一个花样。
结束语
通过近两个星期对本课设项目的制作,我充分锻炼了做自己的数电构建能力和操作能力,同时也清楚地看到了自己的知识薄弱的方面,各个知识点没有联会贯穿,有些芯片的掌握不够准确。
为了理解各个芯片以及自己项目的功能我又特意重新看了遍教材,并且在网上搜寻了许多参考资料,这些都帮助我加深了对数电的理解。
在做此项目的过程中,我有充分体会到了实际操作以及与同学沟通的重要性。
如果没有同学的指点和交流,可能自己会在一些地方打转弯,浪费掉很多时间。
同学间的协作以及在各自方案上的互通有无对自己思路的发散,自己项目的借鉴都起到了极大地作用。
通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助。
最后,感谢指导老师及各位同学在方案设计时提供的各种帮助。
参考文献
【1】祁存荣,陈伟.电子技术基础实验(数字部分)武汉理工大学教材中心
【2】伍时和,吴友宇,凌玲,数字电子技术基础清华大学出版社
【3】钟谊.电子线路实战,科学出版社
【4】何绪芃,曾发柞.脉冲与数字电路.成都:
电子科技大学出版社
附录1
个人方案
附录2
小组方案
附录3
小组程序代码
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
voidLED1(void)
{
PORTC=0X00;
PORTD=0X00;
DDRC=0XFF;
DDRD=0XFF;
uchari,a,b;
a=0x01;b=0x01;
for(i=0;i<8;i++)
{
PORTC=a;
_delay_ms(50000);
a<<=1;
}
if(PORTC=0X80)
{
PORTC=0X00;
}
for(i=0;i<8;i++)
{
PORTD=b;
_delay_ms(50000);
b<<=1;
}
}
voidLED2(void)
{
PORTC=0X00;
PORTD=0X00;
DDRC=0XFF;
DDRD=0XFF;
uchari,a0,b0;
a0=0xfe;b0=0xfe;
for(i=0;i<7;i++)
{
PORTD=a0;
PORTC=b0;
_delay_ms(50000);
a0=a0<<1|0x01;
b0=b0<<1|0x01;
}
}
voidLED3(void)
{
PORTC=0X00;
PORTD=0X00;
DDRC=0XFF;
DDRD=0XFF;
uchari;
PORTC=0X55;PORTD=0X55;
for(i=0;i<4;i++)
{
_delay_ms(50000);
PORTC=~PORTC;
PORTD=~PORTD;
}
}
voidLED4(void)
{
PORTC=0X00;
PORTD=0X00;
DDRC=0XFF;
DDRD=0XFF;
uchari,a0,a1,b0,b1;
a0=0x80;b0=0x01;
a1=0x80;b1=0x01;
for(i=0;i<8;i++)
{
PORTC=a0;PORTD=b0;
_delay_ms(50000);
a1>>=1;b1<<=1;
a0=a0+a1;b0=b0+b1;
}
PORTC=~PORTC;
PORTD=~PORTD;
_delay_ms(1000);
PORTC=~PORTC;PORTD=~PORTD;
_delay_ms(1000);
PORTC=~PORTC;PORTD=~PORTD;
}
voidmain()
{
uchari;
while
(1)
{
LED1();
_delay_ms(10000);
LED2();
_delay_ms(10000);
LED3();
_delay_ms(10000);
LED4();
_delay_ms(10000);
}
}
本科生课程设计成绩评定表
姓名
性别
专业、班级
课程设计题目:
课程设计答辩或质疑记录:
成绩评定依据:
设计方案
与内容
(30分)
制作与调试
(20分)
说明书内容与规范程度
(30分)
答辩
(10分)
学习态度
与考勤
(10分)
总分
(100分)
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
2010年7月12日