基于单片机的广告灯课程设计.docx
- 文档编号:10297812
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:13
- 大小:369.41KB
基于单片机的广告灯课程设计.docx
《基于单片机的广告灯课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的广告灯课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
基于单片机的广告灯课程设计
单片机课程设计报告书
课题名称
基于单片机的广告灯课程设计
姓名
学号
院系
专业
指导教师
2011年6月10日
设计任务及要求:
1)利用proteus软件的仿真原理图及keil2保存的程序文档进行仿真
2)了解AT89C51的原理及应用。
3)利用proteus软件的仿真原理图及keil2保存的程序文档进行仿真
4)设置一个系统使广告流水灯能够规律性和周期性的闪烁功能,能够使其制动化和中断的功能。
指导教师签名:
2011年04月22日
二、指导教师评语:
指导教师签名:
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单片机使用多个发光二极管,通过编程来实现“流水灯”的花样变化。
AT89S51的P1、P3口分别接一组发光二极管,发光二极管另一端接电源输出,故为高电平。
P1、P3口输出电平的变化控制二极管的发光情况。
当P1、P3口的输出电平为低时,LED灯亮;反之,不亮。
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
MOVR2,#07H
LOOP1:
RRA;亮灯右移
MOVP1,A
LCALLDELAY
DJNZR2,LOOP1
MOVA,#01H
MOVR0,#07H
LOOP2:
RLA;不亮灯左移
MOVP1,A
LCALLDELAY
DJNZR0,LOOP2
MOVR0,#07H
LOOP3:
RRA;不亮灯右移
MOVP1,A
LCALLDELAY
DJNZR0,LOOP3
LOOP4:
MOVDPTR,#TABLE
LOOP5:
CLRA
MOVCA,@A+DPTR;查表
CJNEA,#01H,LOOP6
LJMPSTART
LOOP6:
MOVP1,A
LCALLDELAY
INCDPTR
JMPLOOP5
DELAY:
MOVR3,#20
D1:
MOVR4,#20
D2:
MOVR5,#248
DJNZR5,$
DJNZR4,D2
DJNZR3,D1
Ret
TIME0:
PUSHACC
PUSHPSW
MOVTH0,#HIGH(65536-10000)
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个灯从单位灯到双位灯、从双位到单位亮。
这个电路图中都为低电位亮,高电位灭即‘0’亮‘1’灭,就这样通过查表控制‘0’与‘1’的变化来控制发光二极管的亮灭。
中断中也是如此,通过取反的手段来控制灯的亮灭。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 广告 课程设计