四路彩灯控制系统的设计.docx

上传人:b****8 文档编号:9699465 上传时间:2023-02-05 格式:DOCX 页数:12 大小:94.87KB
下载 相关 举报
四路彩灯控制系统的设计.docx_第1页
第1页 / 共12页
四路彩灯控制系统的设计.docx_第2页
第2页 / 共12页
四路彩灯控制系统的设计.docx_第3页
第3页 / 共12页
四路彩灯控制系统的设计.docx_第4页
第4页 / 共12页
四路彩灯控制系统的设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

四路彩灯控制系统的设计.docx

《四路彩灯控制系统的设计.docx》由会员分享,可在线阅读,更多相关《四路彩灯控制系统的设计.docx(12页珍藏版)》请在冰豆网上搜索。

四路彩灯控制系统的设计.docx

四路彩灯控制系统的设计

 

四路彩灯控制系统的设计

许山沈阳航空航天大学自动化学院

摘要:

彩灯是我国普遍流行的传统的民间的综合性的工艺品。

彩灯艺术也就是灯的综合性的装饰艺术。

LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

这里我们所设计的四路彩灯控制系统是8051单片机作为控制核心,电源开关等较少的辅助硬件电路相结合,利用软件实现对彩灯的控制。

本系统具有硬件少、体积小、电路结构简单等优点,而且方便调节亮灯模式,只需要修改软件程序,无需修改硬件电路等。

关键词:

单片机;四路彩灯;控制

0.前言

近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。

尤其是单片机在最小系统的应用越来越多,也越是成熟。

LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰已经成为一种时尚。

但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。

这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。

此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响亮灯效果。

因此需要我们改进,该为单片机作为控制核心的最小系统。

1.总体方案的设计

设计一个四路彩灯控制系统,系统功能如下:

(1)、采用单片机作为控制核心电路。

(2)、彩灯的控制由三节拍组成:

第一拍时从第一路到第四路每间隔1s逐次点亮,第二拍时从第四路到第一路每间隔1s逐次熄灭,第三拍时第一路到第四路同时0.5s点亮,0.5s熄灭,20次后重复前面的过程。

该系统由89C51、BUTTON、LED彩灯等构成,采用晶振电路作为驱动电路,利用单片机的P1端口作为输出口,这样就无需再外接上拉电阻。

四路彩灯采用共阳极接电源,阴极分别接P1.0到P1.3。

通过控制P1端口的输出高低电平来实现点亮和熄灭彩灯,系统中软件部分比较简单,由一个入口函数和四个子函数构成。

 

图1系统结构框图

从系统框图可以看出本次设计的核心就是单片机,可以说是单片机的简单应用。

通过软件来控制单片机的输出,高低电平的输出决定彩灯亮灭。

2.硬件电路的设计

2.1时钟电路设计

单片机利用外部12MHZ晶振构成振荡电路作为时钟源,时钟电路的原理如下图:

图2时钟电路

2.2单片机

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

外形及引脚排列如下图:

图3单片机

1)四个I/O口

P0口有三个功能:

 1、外部扩展存储器时,当作数据总线(如图1中的D0~D7为数据总线接口)

 2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)

 3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。

P1口:

只做I/O口使用:

其内部有上拉电阻。

P2口有两个功能:

1、扩展外部存储器时,当作地址总线使用;

2、做一般I/O口使用,其内部有上拉电阻;

P3口有两个功能:

除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。

有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:

编程脉冲:

30脚(ALE/PROG)编程电压(25V):

31脚(EA/Vpp)

接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?

这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。

2)汇编指令

指令由于操作码和操作数。

分为单字节指令,双字节指令,三字节指令。

3)寻址方式:

立即寻址:

操作数包含在指令字节中,指令操作码后面字节的内容就是操作数本身。

直接寻址:

1内部数据存储器的低128个字节单元(00H-7FH)2位地址空间;3专用功能寄存器

寄存器寻址:

由指令指出某一个寄存器中的内容作为操作数,这种寻址方式称为寄存器寻址。

寄存器间接寻址:

由指令指出某一个寄存器的内容作为操作数的地址。

基址寄存器加变址寄存器间接寻址:

用于访问程序存储器中的数据表格。

相对寻址:

以PC的内容作为基地址,加上指令中给定的偏移量所得结果作为转移地址,只适用于双字节转移指令。

2.3LED彩灯

单片机的P1.0到P1.3分别外接彩灯D3到D0的阴极,彩灯共阳极接电源。

图4彩灯的设计

3.软件设计

软件主要由一个主程序和四个子程序构成:

入口程序、延时子程序、第一节拍子程序、第二节拍子程序和第三节拍子程序。

系统流程图如下:

图5软件系统流程图

设计思路:

根据系统设计要求,很容易看出系统由三大模块组成,即三个节拍。

要求用单片机作为控制核心,那么只需要选取其中一个端口来控制四路彩灯。

考虑系统的性价比,这里我们就不选P0端口,选取P1端口作为控制端(P1到P4端口的输出级都接有内部的上拉电阻)。

单片机的P1.0到P1.3分别外接彩灯D3到D0的阴极,彩灯共阳极接电源,根据“共阳极,阴极谁低谁导通”来实现LED的亮灭。

4.调试分析及说明

4.1第一节拍的调试

图6第一节拍运行结果图

4.2第二节拍的调试

图7第二节拍运行结果图

4.3第三节拍的调试

图8第三节拍运行结果图

5.结论

本次课程设计顺利完成,任务要求的三个节拍(第一拍时从第一路到第四路每间隔1s逐次点亮,第二拍时从第四路到第一路每间隔1s逐次熄灭,第三拍时第一路到第四路同时0.5s点亮,0.5s熄灭,20次后重复前面的过程。

)全都完美的实现了。

硬件的运行也很完美的完成了,所有要求功能都实现了,虽然实物做的不美观。

参考文献

[1]李建忠《单片机原理及应用》西安:

西安电子科技大学出版社2001

[2]高峰《单片微型计算机原理与接口技术》北京:

电子工业出版社1998

[3]邹逢兴《单片机应用新技术教程》北京:

高等教育出版社1997

[4]朱宇光《16位微型计算机原理接口及其应用》北京:

电子工业出版社2003

[5]吴秀清《微型计算机原理与接口技术》北京:

中国科学技术出版社2001

[6]邓亚平《微型计算机接口技术》北京:

清华大学出版社2000

[7]王迎旭《单片机原理及及应用》北京:

机械工业出版社2003

 

课设体会

两周的时间就这么的过去了,课程设计也就这样的结束。

本次课设非常的顺利,不仅很好的完成设计,更是做出了实物,虽然实物做的不是完美。

通过本次课设让我又重新的学习了一遍单片机等相关知识,更是提高了我的动手能力,完成彩灯的设计制作,为明年的毕业设计打下了一定的基础和信心。

本次课设中在动手制作这一环节发现了很多问题,也学了很多,动手做一做还是非常有必要和益处的。

学再多的理论知识,如果不能做出东西来,那么就和没有学的人几乎一样。

此次动手环节,由于自己的粗心大意,烧坏了两个LED灯和一个单片机。

没有接限流电阻,烧了灯,单片机也插反了。

由于焊接技术不行,直接浪费了一块板。

没有做之前,个人认为如此简单的最小系统一个小时就能完成,结果确实整整半天时间才完成。

虽然过程是痛苦的,但通过这个痛苦的环节我学到了很多,比如排版布局的技巧、开关等器件的焊接法、简单系统检查错误和错误分析。

软件的设计让我对C语言看法改变了不少,让我认识到它的重要性,同时也发现了我对汇编语言的一片茫然。

汇编语言一点不会,在以后的日子里需要加紧恶补一下汇编语言了。

即将毕业走向社会,我相信多会一个语言,而且是如此重要的语言,肯定能给我带来不一样的竞争力。

最后感谢老师的指导!

 

 

[2013年1月9日完成]

附录1电路原理

 

 

附录2程序清单

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitled1=P1^0;

sbitled2=P1^1;

sbitled3=P1^2;

sbitled4=P1^3;

voidDelay_ms(uintxms)

{

uchari;

while(xms--)

{

for(i=110;i>0;i--);

}

}

voidDis_1()

{

Delay_ms(1000);

led1=0;

Delay_ms(1000);

led2=0;

Delay_ms(1000);

led3=0;

Delay_ms(1000);

led4=0;

Delay_ms(1000);

}

voidDis_2()

{

Delay_ms(1000);

led4=1;

Delay_ms(1000);

led3=1;

Delay_ms(1000);

led2=1;

Delay_ms(1000);

led1=1;

Delay_ms(1000);

}

voidDis_3()

{

inti=20;

while(i--)

{

Delay_ms(500);

P1=0xf0;

Delay_ms(500);

P1=0xff;

Delay_ms(500);

//continue;

}

}

voidmain()

{

P1=0xff;

while

(1)

{

Dis_1();

Dis_2();

Dis_3();

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1