基于单片机的广告灯课程设计Word格式文档下载.docx

上传人:b****0 文档编号:13283737 上传时间:2022-10-09 格式:DOCX 页数:12 大小:369.44KB
下载 相关 举报
基于单片机的广告灯课程设计Word格式文档下载.docx_第1页
第1页 / 共12页
基于单片机的广告灯课程设计Word格式文档下载.docx_第2页
第2页 / 共12页
基于单片机的广告灯课程设计Word格式文档下载.docx_第3页
第3页 / 共12页
基于单片机的广告灯课程设计Word格式文档下载.docx_第4页
第4页 / 共12页
基于单片机的广告灯课程设计Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

基于单片机的广告灯课程设计Word格式文档下载.docx

《基于单片机的广告灯课程设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的广告灯课程设计Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

基于单片机的广告灯课程设计Word格式文档下载.docx

2011年6月16日

三、成绩

验收盖章

2011年6月16日

1、设计目的

本设计以AT89S51单片机为核心并用它来控制发光二极管双灯点亮循环的实验装置,用AT89S51单片机控制16个发光二极管发光,实现亮点从高到低位,从左到右,从单到双的循环移动。

通过PROTEL软件设计、仿真,并能从中掌握通过软件控制发光二极管的思路和技巧。

这次设计重点就在于利用单片机的知识去控制系统的运行。

2、设计要求

1)广告流水灯具有控制的功能。

2)设置一个系统使广告流水灯能够规律性和周期性的闪烁功能。

3)能够使其制动化和中断的功能。

3、设计总框图与方案

图3.1系统框图

本次课程设计是用流水灯的变化来表示不同的效果。

主体选用AT89S51单片机使用多个发光二极管,通过编程来实现“流水灯”的花样变化。

4、硬件电路的设计

4.1系统电路图

图4.1广告灯的硬件原理电路图

这个电路图中都为低电位亮,高电位灭即‘0’亮‘1’灭,就这样通过查表控制‘0’与‘1’的变化来控制发光二极管的亮灭。

中断中也是如此,通过取反的手段来控制灯的亮灭。

按照图4.1进行仿真,通过编程来实现“流水灯”的花样变化。

AT89S51的P1、P3口分别接一组发光二极管,发光二极管另一端接电源输出,故为高电平。

P1、P3口输出电平的变化控制二极管的发光情况。

当P1、P3口的输出电平为低时,LED灯亮;

反之,不亮。

5、软件设计

5.1流程图与程序

图5.1程序总流程图

本实验流程中,用AT89S51单片机控制16个发光二极管发光。

其中二极管一端接高电平,另一端接AT89S51芯片输出端口,通过控制各输出端口高低电平的变化决定二极管是否发光,从而使广告流水灯能够规律性和周期性地分别实现一个亮灯的左右移动、一个不亮灯的左右移动、灯的从两边到中间及单双等交替闪烁等花样变化。

6、系统仿真

在Proteus的ISIS7.1sp2软件环境下画出电路原理图,接下来就是将设计的程序在KeilC51μVision2开发集成环境上编译成机器语言,进入Proteus的ISIS,鼠标左键点击菜单“Debug”,选中“useromotedebugermonitor”,便可实现KeilC与Proteus连接调试。

首先在Proteus中双击单片机AT89C51,将KeilC下编程生成的.HEX文件导入到AT89C51中,可在Proteus中单击全速仿真运行按钮

,进行现象的查看,能清楚地观察到芯片上每一个引脚的电平变化,红色代表高电平,蓝色代表低电平;

如果现象不正确,则在KeilC中单步调试程序,并在Proteus观察现象,那一步不正确则对该段的程序进行修改,调试直到仿真完全成功为止。

图6.1Proteus软件环境下画出电路原理图

图6.2效果一

实现一个灯的左右移同时通过中断控制下面8个发光二极管的单双亮灭。

图6.3效果二

实现一个不亮的灯左右移同时通过中断控制下面8个发光二极管的单双亮灭。

图6.4效果三

实现灯从两边到中间,从中间到两边的点亮同时通过中断控制下面8个发光二极管的单双亮灭。

图6.5效果四

实现单位到双位,从双位到单位的点亮同时通过中断控制下面8个发光二极管的单双亮灭。

7、使用说明

按照图6-1进行仿真,主体选用AT89S51单片机使用多个发光二极管,通过编程来实现“流水灯”的花样变化。

8、设计总结

在这次单片机课程设计过程中,我用了两周时间去学习软件和电路设计,进一步巩固了以前所学,培养了自己独立设计电子电路的能力,更加懂得了只有实践才能进一步提高能力,当然在这过程中遇到了很多困难,但通过自己不断的查找资料,和同学讨论,逐渐的形成了自己的思路,通过本次实习,收获了很多。

通过本次课程设计进一步掌握和理解以前所学的基础课程和基本原理。

本次课程设计提高了我分析问题解决问题和独立进行思考设计的能力。

熟悉了单片机AT89S51模块的功能。

在老师与同学们的帮助下这次课程设计让我受益匪浅,也拉近了同学与老师之间的距离。

参考文献

[1]徐益民,范红刚,苏凤武.零基础学AVR单片机—基于ATmega16、汇编及C语言[M].北京:

机械工业出版社,2011:

138-157

[2]彭伟.单片机C语言程序设计实训100例—基于AVR+Proteus仿真[M].北京:

北京航空航天大学出版社,2010:

213-221

3]秦志强,彭建盛,谭立新.AVR单片机与小型机器人制作[M].北京:

电子工业出版社,2009:

72-93

[4]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:

电子工业出版社,2005:

348-371

[5]顾德英,张健,马淑华.计算机控制技术[M].北京:

北京邮电大学出版社,2006:

64--70

[6]夏扬.计算机控制技术[M].北京:

机械工业出版社,2004:

11--92

[7]刘国钧,陈绍业,王凤翥.图书馆目录[M].北京:

高等教育出版社,1957:

15-18.

[8]张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:

哈尔滨工业大学出版社,1997:

53-61.

[9]李建忠.单片机原理及应用[M].西安:

西安电子科技大学出版,2002:

63-78.

[10]张俊谟.单片机中级教程[M].北京:

北京航空航天大学出版,2000:

36-45.

附录A程序清单

ORG00H

LjmpSTART1

Org0bh

LjmpTIME0;

跳至TIME0中断

START1:

MOVSP,#70H

MOVP3,#01010101B

MOVTMOD,#00000001B

MOVTH0,#HIGH(65536-10000)

MOVTL0,#LOW(65536-10000)

SETBTR0

MOVIE,#10000010

MOVR7,#100;

设中断100次即1秒

START:

MOVA,#0FEH

MOVR2,#07H

LOOP:

RLA;

亮灯左移

MOVP1,A

LCALLDELAY

DJNZR2,LOOP

LOOP1:

RRA;

亮灯右移

MOVP1,A

DJNZR2,LOOP1

MOVA,#01H

MOVR0,#07H

LOOP2:

不亮灯左移

MOVP1,A

DJNZR0,LOOP2

LOOP3:

RRA;

不亮灯右移

DJNZR0,LOOP3

LOOP4:

MOVDPTR,#TABLE

LOOP5:

CLRA

MOVCA,@A+DPTR;

查表

CJNEA,#01H,LOOP6

LJMPSTART

LOOP6:

INCDPTR

JMPLOOP5

DELAY:

MOVR3,#20

D1:

MOVR4,#20

D2:

MOVR5,#248

DJNZR5,$

DJNZR4,D2

DJNZR3,D1

Ret

TIME0:

PUSHACC

PUSHPSW

MOVTL0,#LOW(65536-10000)

DJNZR7,LOOP7;

中断100次?

足则到LOOP7

MOVR7,#100;

CPLP3.0

CPLP3.1

CPLP3.2

CPLP3.3

CPLP3.4

CPLP3.5

CPLP3.6

CPLP3.7

LOOP7:

POPACC

POPPSW

RETI

TABLE:

DB01111110B,10111101B,11011011B,11100111B

DB11011011B,10111101B,01111110B,10101010B

DB01010101B

DB01H

END

以上程序实现亮灯左右移,不亮灯左右移,从两边到中间、从中间到两边亮,从单位灯到双位灯、从双位到单位亮;

在进行这些花样同时伴随中断控制的8个灯从单位灯到双位灯、从双位到单位亮。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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