LED课程设计.docx
《LED课程设计.docx》由会员分享,可在线阅读,更多相关《LED课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
LED课程设计
《LED课程设计》
——LED警车灯模型设计
目录
第一章设计题目3
第二章设计要求与实现功能3
第三章设计电路图及原理说明3
3.1单片机的基本组成3
3.2单片机简介4
3.3设计电路图及功能介绍5
第四章元件选择与计算6
第五章制作安装7
5.1制作安装主要元器件清单列表7
5.2安装效果图7
第六章分工情况8
第七章实验内容与过程8
7.1结构框图9
7.2软件程序9
7.2.1程序框图9
7.2.2软件编程9
7.3单片机9
7.4电路10
7.5实验结果10
第八章驱动程序10
第九章课程设计总结13
第一章设计题目
LED警车灯模型设计
第二章设计要求与实现功能
以AT89C51为核心,设计一种警车红蓝LED灯,要求红蓝灯在单片机的控制下以流水灯的形式相互亮灭并同步蜂鸣器的报警声。
同时,我们也学会如何在软件与硬件之间形成很好的链接,设计要安全可靠。
通过单片机课程设计,熟练掌握C语言的编程方法。
第三章设计电路图及原理说明
3.1单片机的基本组成
1.中央处理器(CPU)。
2.内部数据存储器(RAM),用以存放可以读写的数据。
3.内部程序存储器(ROM),用以存放程序亦可以存放一些原始数据及表格。
4.4个8位的并行输入/输出端口,每个端口可以做输入,也可以用作输出。
5.2个或者3个定时/计数器,可以用来对外部事物进行计数,也可以设置成定时器,并可以根据计数或定时的结果对计算机进行控制。
6.内部中断控制系统。
7.一个串行接口电路,使得数据可以一位一位串行地在计算机和外设之间传送。
8.内部始终产生电路,但晶体和微调电容需要外接,最高的允许振荡频率为12MHz。
3.2单片机简介
单片机是指芯片本身,而单片机系统是为实现某一个控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统,这是单片机应用系统。
单片机开发系统是指单片机开发调试的工具。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,正在逐步取代现有的多片微机应用系统。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。
为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。
存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。
3.3设计电路图及功能介绍
本组使用STC89C52单片机,要让接在P0口和P1口的LED灯亮起来,需将LED灯与合适的上拉电阻串联并给P0口和P1口接高电平就可以了;相反,如果要使LED灯熄灭,只要把高电平变为低电平即可。
众所周知,警车灯红蓝光交替闪烁。
因此,要实现警车灯的功能,我们要将发光二极管LED1~LED8红灯与LED9~LED16蓝灯分组交替点亮、熄灭。
同时由于警车灯是流畅得闪烁,所以我们分别将LED1~LED8红灯与LED9~LED16蓝灯设计成流水灯闪烁形式,形成更真实的效果。
指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
红色和黄色的发光二极管的工作电压是2伏的,其他颜色的工作电压都是3伏的一般的发光二极管的工作电流是20毫安,如果接在五伏的单片机电源上,电源电压减二极管的工作电压就是分压电阻要分掉的电压,再用这个电压除以二极管工作的电流就能计算出这个电阻的阻值。
比如说3伏的二极管(5-3)/0.02=100欧,2伏的二极管(5-2)/0.02=150欧,但是不是所有的发光二极管的工作电流都是20毫安,稍小一点以保护二极管的寿命。
通时蜂鸣器的原理是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音,我们给蜂鸣器加上合适的时钟信号让其响应节奏与LED灯同步。
第四章元件选择与计算
红色LED的压降为2.0--2.2V
黄色LED的压降为1.8—2.0V
蓝色LED的压降为3.0—3.2V
绿色LED的压降为3.0—3.2V
普通二极管正向工作电流为4~20mA
单片机输出电压5V
蜂鸣器工作电压5V
电阻的计算公式:
R=(E-U)/I;式中E为电源电压,U为LED的正向压降,I为LED的一般工作电流。
R(红)=(5-2)/0.01=300Ω
R(蓝)=(5-3)/0.01=200Ω
这是理论数值,经后期试验证明,上拉电阻过小,反复计算实验后,最终确定红灯的上拉电阻为680Ω,蓝灯的上拉电阻为1.8kΩ。
第五章制作安装
5.1制作安装主要元器件清单列表
红色LED灯
8个
蓝色LED灯
8个
5V蜂鸣器
1个
杜邦线
若干
ATMEL89C52单片机
1个
数据线
1根
排针
若干
680Ω电阻
8个
1.8KΩ电阻
8个
5.2安装效果图
第六章分工情况
共同任务:
熟悉单片机的结构与功能,熟练掌握单片机的C语言的编程设计,学会在出错的情况下寻找问题、分析问题、解决问题。
学会电路图的设计与原理说明以及在面包板上制作出实物电路,通过单片机下载程序驱动电路正常工作。
对整个设计过程的回顾与细节完善,充分发挥每个人的能力。
具体分工:
——负责整理完善程序的设计;
——负责整理驱动电路及结构框图的绘制;
——负责整理整体设计的论文撰写。
第七章实验内容与过程
7.1结构框图
7.2软件程序
7.2.1程序框图
7.2.2软件编程
经查找资料和后期不断分析完善,最终确定如下程序。
(遇到的问题:
初始时欲将蜂鸣器程序部分置于循环外,但发现效果不佳,后决定放于循环内。
)
7.3单片机部分
(1)程序仿真
(2)下载
(3)运行(此部分较简易,不予赘述)
7.4电路部分
(1)运用ProtelDXP2004绘制电路图
(2)电路仿真
7.5实验结果
根据软硬件连接后,实际观察到的实验结果,再次调整程序及元器件参数。
包括,蜂鸣器程序的确定,上拉电阻的阻值确定等,最后让8红8蓝的两排LED灯按顺序依次闪烁,并配合了蜂鸣器的响应频率。
实验过程中,蜂鸣器的响度一直不理想,可能与直接利用单片机的上的蜂鸣器而没用外接的蜂鸣器。
对于模拟警灯的效果来看,并没有警灯那种起伏交错的感觉,由于在单片机程序中没有编入音乐程序,后期我们做了改进,并换了蜂鸣器提高了声音的响度。
第八章驱动程序
#include
sbitbuzzer=P3^7;
voiddelayms(unsignedintms)//定义延时函数delayms
{
unsignedchari;
while(ms--)
{
for(i=0;i<60;i++);
}
}
voidmain()
{
while
(1)
{
unsignedintLED,j;
LED=0xff;//LED初始全亮
P1=0X00;//P1端口LED蓝灯全灭
P0=0x00;//P0端口LED红灯全灭
for(j=0;j<=8;j++)
{
buzzer=1;
delayms(10);
buzzer=0;
delayms(10);//蜂鸣器低电平时鸣叫,延时10ms使蜂鸣器为低电平
P0=~LED;
delayms(100);
LED=LED<<1;//P0口LED红灯循环闪烁
}
P0=0X00;//P0端口LED红灯全灭
/*if(LED==0x00)
{
LED=0xff;
P0=LED;
}
}*/
delayms(500);
LED=0xff;//LED全亮
for(j=0;j<=8;j++)
{
buzzer=1;
delayms(10);
buzzer=0;
delayms(10);//蜂鸣器低电平时鸣叫,延时10ms使蜂鸣器为低电平
P1=~LED;
delayms(100);
LED=LED<<1;//P1口LED蓝灯循环闪烁,
/*if(LED==0x00)
{
LED=0x00;
P1=LED;
}*/
}
delayms(500);
}
}
第九章课程设计总结
通过这次LED课程设计的学习,总体感觉是对大学这三年来所学理论知识的综合利用。
但是理论转化为实践与实物的确需要一番过程,开始时的确无从下手,通过三四天摸索,结合LED设计实例,我们大概了解了设计的过程与整个思路,先着手从小而简单的东西开始制作,如怎样先点亮一个LED灯,如何使LED灯闪烁,再到复杂一点的怎样使闪烁的LED灯流动起来。
在整个过程中,我们不仅仅学会课程设计的制作,同时也锻炼了个人的动手能力与团队合作能力,分析问题与解决问题的能力,以及如何用理论去指导实践操作从而做到步步有头绪。
我们知道,程序的设计是不容半点马虎的,如果仅仅是一处符号的错误都会导致整个程序不能正常运行,不光在做这次的课程设计,在以后的做事中,一丝不苟是我们必须要坚持的准则。
感谢老师给予一次真正锻炼的机会并提供了很大的帮助。