基于51单片机花样流水灯设计与制作_第1页
基于51单片机花样流水灯设计与制作_第2页
基于51单片机花样流水灯设计与制作_第3页
基于51单片机花样流水灯设计与制作_第4页
基于51单片机花样流水灯设计与制作_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1设计思路......................................................1

2系统方案及处理器的选择........................................1

3硬件设计......................................................1

4软件设计......................................................2

5系统组装与调试.................................................3

5.1电路的组装.................................................3

5.2系统调试...................................................4

5.2.1系统软件的调试.........................................4

5.2.2系统硬件的调试........................................5

设计小结.........................................................6

参考文献.........................................................6

附录1源程序........................................................................................................6

附录2实物图......................................................................................................11

附录3元器件清单..............................................................................................13

附录4运行效果图..............................................................................................14

附录5原理图......................................................................................................15

附录6PCB图......................................................................................................15

附录7安装图......................................................................................................16

附录8仿真图......................................................................................................16

湖南商务职业技术学院毕业设计

基于51单片机花样流水灯设计与制作

1设计思路

建立基于单片机的花样流水灯控制器,用它来控制8个发光二极管发光,实

现亮点的循环移动。通过软件编程实现各种各样的亮点平面循环移动。该彩灯

控制器能够实现闪烁模式。通过按键可选择闪烁模式并由数码管显示出是第几

种模式。本设计要求实现单片机控制流水灯显示其流水效果,软件实现思路为当

有外部中断0时,才开始扫描K1~K4四个按键的状态,一旦进入某个按键的亮

灯模式,执行死循环。直到下一个外部中断到来。

本系统设计采用发光二极管实现点亮功能,按键实现各种不同的点亮模式;

有四种不同的流水灯点亮模式:程序的设计用C语言;用仿真软件Proteus进

行仿真调试。

对于此设计,是比较基础的一个产品。它可以使我们充分体会单片机的输

入输出管脚的使用方法,加深对它的认识起到了决定性的作用。同时通过本产

品进一步对于单片机编程有一个更深入的认识,懂得什么是硬件控制,什么是

软件控制,为就业打下坚实的基础。

2系统方案及处理器的选择

本系统主要由处理器模块、显示模块、电源模块及复位电路组成,下面分

别论证这几个模块的选择。

方案一:采取89C51单片机作为处理器,I/O口配置较为方便,芯片价格便

宜,但是运行速度慢,内部资源少,功耗高,性能达到此项目要求。

方案二:采取FPGA作为处理器,运行速度快,组合逻辑能力较强,时序实

现能力强,但是控制和运算能力较弱,价格高,控制和运算能力比较弱。

方案三:采取使用Atmega16单片机作为处理器,内带模拟比较器,I/O口可

作A/D转换用,内部资源丰富,运行速度较快,对于Atmega16的使用较熟悉,

基本功能实现比较容易。对于此项目性价太高。

综合以上三种方案,选择方案一。

3硬件设计

本电路是利用单片机的中断定时来实现LED灯的闪烁。控制器STC89C52与

1

湖南商务职业技术学院毕业设计

我们所学的ATML的单片机AT89C52的内部结构和资源是一样的,内部有8位的

CPU处理器包含(运算部件和控制部件),片内有256B的数据存储器和8KB的程

序存储器,3个定时器/计数器;六个中断源(两个外部中断源INTO和INT1,

两个定时/计数器T0和T1,一个串行口中断)。四个输出口P0口、P1口、P2口、

P3口,LED的八个灯的控制口由P1口来控制,加按键为P20,减按键为P21,

而采用P3口第二功能且可以在线下载程序,硬件复位端9脚在高电平是单片机

复位。由于本次设计未用到其他内部资源所以就不过多的去分析。

此流水灯的硬件电路由三部分组成:单片机模块:单片机AT89C51;输出模

块:8个发光二极管组成的负载电路;输入模块:按钮组成的电路。共用到的元

器件见附录3,原理图如下图1:

图1原理图

4软件设计

此设计主要是采用单片机的延时来完成的,应为设计要求8LED灯循环点

亮,默认的速度是300mS,可通过按键来控制跑动的速度。P20为加按键,P21

为减按键,可以调节速度为0到1000mS。具体软件流程图如图2,程序清单见

附录1。

2

湖南商务职业技术学院毕业设计

开始

系统初始化

P1左循环1位

延时时间

是否循Y

环8次

是否有按键按下

改变时间

结束

图2程序流程图

5系统组装与调试

5.1电路的组装

手工焊接是组装电子产品的时候所必须具备的基本技能,虽然现在大量工

厂焊接基本都采用自动焊接、自动插装元器件的生产工艺,但是普通的产品制

作、测试和修理电子设备不适用于自动焊接,而适用于手工焊接。而且如果焊

接不仔细,那么你的元器件和芯片将无法进行正常使用,而且如果出现元器件

焊接错误,严重的话会导致你的电路板烧坏。所以手工焊接非常适合这个产品

设计。手工焊接的步骤分为四步:

第一步焊接的准备和开始:

首先把焊接环境打扫干净并保持干燥,主要就是铁屑、灰尘、水滴等一切

会影响电路板和器件的东西,并且需要将烙铁头部清洗干净让它可以吃锡,然后

就是安装元器件(注意先把容易安装焊接的先焊,焊接一个安装一个,不推荐

3

湖南商务职业技术学院毕业设计

一次安装多个元器件。),这样会影响焊接速度和外观,比如你先焊接高度比较

高的元器件,那么高度低的就比较难焊,随后将元器件的两个角然后以一个直

角断开。然后将焊锡螺栓固定在待加载元件的底部,并将导线放直。请记住,

铁头不得接触设备的引脚,这样会容易导致与其它器件管脚相连)。

第二步给焊接升温:

第一步完成后,对焊锡丝进行加热,首先对电烙铁加热到合适的温度(最

好400℃),然后将加热好的烙铁放在元器件的管教旁,然后缓慢的将焊锡丝融

化,当焊点圆润后移开烙铁,方向角度大致为45度,这个过程最好控制在2秒,

避免将电路板上的面包板损坏脱落。不同的元器件作具体的区别,当元器件出

现焊错、或者其他问题要对其进行拆卸时,焊接点也必须先填充焊接线加热,

使焊接点变圆,然后用焊接螺栓加热焊接点(这里推荐叫上朋友或者指导老师

一起进行操作),然后在焊锡丝在融化的时候将元器件拆卸下来,这里也要注意

加热时间,避免损坏焊盘。

第三部清理焊接面:

在第二步中,有时会观察到错误或假钎杆,此时应当及时的更正焊接点。

有两个重要的情况,第一个是焊料不够,点不够圆,然后需要重新填充(确保

焊料不再脱落,防止与其他元件连接)。第二是焊料过剩。此时,可将焊接螺栓

轻轻移动到焊接处,以取出多余的焊料,如果还是不能成功的话,就需要采用

专门的设备来将里面多余的焊接材料吸附出来。

第四部检查焊点:

以上三步都完成后,然后对焊好的电路板进行观察,看焊点是否圆润、牢

固。

5.2系统调试

整个系统调试时,先检查系统的焊接功能是否存在着隐藏的问题,如明显

断线、电源正负接等,然后用万用表测试印刷电路板是否短路。最后,确保焊

接是可以正常进行的。

把调试平台搭建成功后,首先对软件程序进行调试,如果调试没有问题,

则对功能进行验证,假如功能有问题,则继续调试程序,直到所有功能都能展

示为止。

5.2.1系统软件的调试

软件调试步骤如下:

4

湖南商务职业技术学院毕业设计

首先,用keil4软件制作项目。单击菜单栏中的“工程”,输入新的工程名

称并保存。选择组件“”目录下的“”。

新用户源文件:将程序的源代码写入新的空文本中,编码完成存储文件和

文件扩展名的设计与制作基于51单片机的便携式红外分级报警器。创建新文件

已完成。

程序编译设置:单击compile,系统编译文件。在输出窗口中可以看到提示

信息。如果提示中有不正确的信息,在被说没有错误之前,必须找错误进行订

正,就像下面的图3所显示的那样。

图3提示信息无错误

如果程序编译正确,使用PL2303串行端口fire程序检查系统功能是否符合

要求。如果功能有问题,那么我们应该继续一次又一次地调试程序,直到完成

所有功能。

5.2.2系统硬件的调试

最后一步是单片硬件测试。玻璃板的单片调试使用万用表、直流电源或示

波器进行。特别是,检查组件是否工作良好。该设备分为动态在线和静态在线

两部分。

(1)静态运行模式,其中静态运行模式分为以下四大类:

从视觉上讲。第一步是检查焊点是否满,装置的零件或笔是否装好,以防

短路。

万用表调试。首先检查馈线是否短路,针脚是否连接良好,接线是否无故

障。

插电检查。以上两步均没问题,就可以通电了,然后观察每个器件是否正

常运行。然后在对功能进行检测。

广泛的检查测试。此测试方法仅适用于用微控制器开发板开发的系统。

5

湖南商务职业技术学院毕业设计

(2)动态调试:

动态调试主要指的是在静态调试之外,必须保证没有问题。最后一步是检

查各设备是否正常工作,是否符合系统开发的功能,防止机器内部损伤及对系

统性能的影响。

设计小结

在设计此电路时主要遇到的是程序的问题,先确定的是硬件通过查资料,

绘制了电路原理图,然后就是软件而在编程的时候很困难而且对单片机了解不

是很精,通过查书和请教老师,慢慢的摸索相互合作最终还是把程序编译出来,

然后就是电路的焊接而焊接是最重要的,而且也相对困难因为是用通用板线路

都是用导线相互连接的布局就困难了,也加大了线路的焊接质量,如果那儿没

有焊好就对后面的调试很有影响。最后就是调试了,因为电路有软件和硬件使

得在调试时排除错误很麻烦不低于前期的设计和编程。总之需要理能加实践才

能完成。

参考文献

[1]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编[M].

北京理工大学出版社.2007.

[2]黄智伟.全国大学生电子设计竞赛电路设计[M].北京:北京航天航空大学出

版社.2006.

[3]童诗白、华成英.模拟电子技术基础[M].北京:高等教育出版设,

2004.10.

附录1源程序

/****************************************************************

功能:流水灯,往左循环

****************************************************************

6

湖南商务职业技术学院毕业设计

**/

#include<reg52.h>

#include<intrins.h>

typedefunsignedcharuchar;//声明定义unsignedchar的别名

typedefunsignedintuint;//声明定义unsignedint的别名

sbitLED1=P1^0;//第一个灯

sbitLED2=P1^1;

sbitLED3=P1^2;

sbitLED4=P1^3;

sbitLED5=P1^4;

sbitLED6=P1^5;

sbitLED7=P1^5;

sbitLED8=P1^5;//第八个灯

sbitKEY2=P2^0;//加按键

sbitKEY1=P2^1;//减按键

inttime=300;//默认跑马灯速度

voidKey_Click();//函数声明

/*******************************************

函数名称:delayMs

功能:延时约N个1ms的时间

参数:无

返回值:无

*******************************************/

voiddelayMs(intms)

{

while(ms--)

7

湖南商务职业技术学院毕业设计

{

uchari;

for(i=0;i<60;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

Key_Click();

}

}

}

/*******************************************

函数名称:Delay5ms

功能:延时约5个1ms的时间

参数:无

返回值:无

*******************************************/

voiddelay5Ms(intms)

{

while(ms--)

{

uchari;

for(i=0;i<250;i++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

/*******************************************

8

湖南商务职业技术学院毕业设计

函数名称:LED_Run

功能:led驱动程序

参数:无

返回值:无

*******************************************/

voidLED_Run()

{

inti;

P1=0xfe;

delayMs(time);

for(i=0;i<8;i++)

{

P1=P1<<1|1;

delayMs(time);

}

}

/*******************************************

函数名称:Key_Click

功能:按键扫描程序

参数:无

返回值:无

*******************************************/

voidKey_Click()

{

if(KEY1==0)//检测按键是否按下

{

delay5Ms(5);//延时5毫秒

if(KEY1==0)//再次检测按键是否真的按下

{

while(!KEY1);//等待按键松开

if(time>500)

{

9

湖南商务职业技术学院毕业设计

time=time+100;//跑马灯速度调节

}

elseif(time<100)

{

time=time+20;//跑马灯速度调节

}

else

{

time=time+50;//跑马灯速度调节

}

time=time+50;//跑马灯速度调节

if(time>1000)

{

time=0;

}

}

}

if(KEY2==0)//检测按键是否按下

{

delay5Ms(5);//延时5毫秒

if(KEY2==0)//再次检测按键是否真的按下

{

while(!KEY2);//等待按键松开

if(time>500)

{

time=time-100;//跑马灯速度调节

}

elseif(time<100)

{

time=time-20;//跑马灯速度调节

}

else

{

10

湖南商务职业技术学院毕业设计

time=time-50;//跑马灯速度调节

}

if(time<0)

{

time=1000;

}

}

}

}

/*******************************************

函数名称:main

功能:主函数

参数:无

返回值:无

*******************************************/

voidmain()

{

while(1)

{

Key_Click();

LED_Run();

}

}

附录2实物图

11

湖南商务职业技术学院毕业设计

12

湖南商务职业技术学院毕业设计

附录3元器件清单

元件清单

序号名称规格标号数量

1轻触开关插件S1,S2,S330.12

212MHZ晶振插件Y110.25

310uf电容插件电解电容C110.03

427pf电容插件瓷片电容C2、C320.01

510k电阻1/4W插件电阻R1410.01

61k电阻1/4W插件电阻R1,R2,R3,R4,R5,R6,R7,R880.1

75mmLED5mm插件ledLED1,LED2,LED3,LED4,LED5,80.5

LED6,LED7,LED8

8SCT89C52插件DIP40U112.8

9万用板7*9万用板10.8

10电源插座3.5-1.3MM电源座P110.1

11开关自锁开关Sw110.1

1240P底座

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论