《[精选]单片机实训报告_广告灯》由会员分享,可在线阅读,更多相关《[精选]单片机实训报告_广告灯(13页珍藏版)》请在金锄头文库上搜索。
1、 单片机原理及应用综合实训报告题 目: 广仁驾校LED广告灯 院 别: 机电学院 专 业: 09机电本 姓 名: 杨海鹏 学 号: 2009094243011 同组人员: 宋宝聪 庄志鑫 指导教师: 杨永 答辩日期: 2011-12-16 摘 要随着人们生活环境的不断改善和美化,在许多场合可以看到彩色霓虹灯。广告灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用。用彩灯来装饰街道和城市建筑物已经成为一种时尚。本设计提出了一种基于AT89C51单片机控制LED广告灯的方案,来实现对广告灯的控制。本方案以AT89C51单片机作为主控核心,由显示、驱动和电源模块组成核心主控制模块
2、。其中电源模块采用全桥整流和稳压芯片7805为系统提供稳定的+5V电压。在主控模块上设有24个广告灯,根据用户需要可以编写各种亮灯模式。根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮灭。 本次试验旨在提高我们单片机的实际应用能力,如程序的编写以及硬件模拟调试,仿真实验等,同时丰富教学内容,让学生在实践中掌握知识,在实践中提高自己的编程能力和熟练的掌握单片计数等。 关键词:LED广告灯,AT89C51目录摘 要2第一章 程序设计方案41硬件电路设计42软件设计53软件调试7第二章键盘扫描及显示主要模块的组成72.1 C做控制模块82.2 电源模块. . .
3、 . . . . . . . . . . . . . . . . . . . . 8第三章硬件电路图及仿真显示93.1电路总图及仿真显示图10心得体会11参考文献12附录131试验程序13第一章 程序设计方案1硬件电路设计(1)AT89C51是一种带4K字节可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器。AT89C51采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL
4、的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案.主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 图1 AT89C51引脚功能图(2)管脚功能说明,如图1所示(3)振荡器电路:XTAL1和XTAL2分别为反向放大器的输 入和输出。该反向放大器可以配置为片内振荡器,和片外振荡器两种。本系统采用的是内部振荡方式
5、,其外接晶振采用12MHz,电容C1、C2采用30pF,此时的机器周期的1us2软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理
6、地安排监控软件和各执行模块之间地调度关系。(1)主程序方案主程序调用了3个子程序,分别是流水等状态子程序、串口发送子程序、延时子程序。主程序结构组成首先对主程序设置中断入口地址,设置好以后调用流水灯状态子程序,调用成功以后进行发送信息,用于显示模块显示,延时子程序。将各个功能程序以子程序的形式写好,当写主程序的时候,只需要调用子程序,然后在寄存器的分配上作一下调整,消除寄存器冲突和I/O冲突即可。程序应该尽可能多的使用调用指令代替跳转指令。因为跳转指令使得程序难以看懂各程序段之间的结构关系。而调用指令则不同,调用指令使得程序结构清晰,无论是修改还是维护都比较方便。将功能程序段写成子程序的形式,
7、除了方便调用之外,还有一个好处那就是以后写程序的时候如果要用到,就可以直接调用这个单元功能模块。其主程序流程图如图3.1所示,串口发送子程序如图3.2所示。系统程序见附录一开始系统初始化调用串口发送子程序返回图2 主程序流程图串口发送子程序发送 三字节发送延时返回 图3串口发送子程序3软件调试在完成了硬件和软件设计后,可借助单片机仿真开发装置进行软、硬件调试工作,调试时根据系统功能仔细检验是否实现所预期的功能,反复调试,直到满足要求。第二章主要模块的组成2.1 C做控制模块AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Era
8、sable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示电路连接如下图所示:2.2 电源模块及稳压电源因为单片机工作
9、电源为+5V,且底层电路功耗很小。采用7805三端稳压片即可满足要求。220V交流电通过变压为155的变压器变成为4.1V的交流电,通过全桥整流变为3.6V的半波电源,最后通过滤波电容输出有波动的+5V的电压,最后通过W7805对电压进行稳压输出稳定的+5V电压,为整个单片机系统供电。其中在电源前端用一个光敏二极管控制个继电器继而控制整个电源电路,当有光的时候光敏二极管不导通,继电器不吸合电源电路不工作,当无光的时候光敏二极管导通,继电器吸合电源电路工作。其电路如图4所示图4 电源电路第三章硬件电路图及仿真显示3.1电路总图及仿真显示设计总结对于本次课题的心得体会,我们觉得有以下几点:1、不管
10、做什么事,计划是很重要的。没有一个完好的计划,做事情就会没有一个好的顺序,做事情会比较乱,很难成功。而有一个好的计划,不管做什么事都会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。这样才能提高成功率。2、做事要多动脑,选出最好的方法。一件事往往有多种解决方法,一个好的方法,不仅能使事情事半功倍,而且往往决定最后的成与败,所以做事时一定要多动一下脑筋,想出最好的方法。3、要注意细节。细节决定成败,这句话在这次课题中不仅一次得到了印证,特别是在软件的编程过程中,一点点的错误就会使你整个程序不能运行。因此我们不仅仅要有整体意识,也要注意细节,不要因一个关键地方的一个细节而导致满盘皆输。4、团队
11、合作很重要。团队做一件事时,要发挥出门一个人的长处。人无完 人,但一个团队可以互相帮助,互相补充,只要互相合作,个人完成各自专长的,离成功就只有一步之遥。人人总是有疏漏的方面,但是只要互相合作,互相交流, 就会考虑问题更全面化,在本次课题中,我们组团结合作不仅事半功倍,而且发现了一些好的有趣的构想,是我们对单片机有了更浓的兴趣。在这次的学习中,进一步掌握了51系列的模拟串口模拟操作,并且通过Keil软件的debug功能观察,内部存储器的数据的变化,验证程序的实现过程。经过老师讲解和同学的帮助,基本掌握了数码管的原理,知道了数码管的段代码,数码管分为共阴和共阳接法。在调试过程中也遇到了一些问题,
12、但是在杨老师的耐心指导以及其他同学的帮助下,得以顺利解决。本设计能够顺利的完成得到了杨老师的大力支持与帮助,在百忙之中抽出宝贵的休息时间,仔细耐心为我指导。设计过程中,杨老师一并帮我分析遇到的种种困难。一直支持,鼓励我要有解决问题的信心,使设计得以顺利的完成。在开发的同时,和同学们之间的相互探讨也使我获益匪浅。在此,对他们表示由衷的感谢!电子信息技术日新月异地飞速发展,人们总是处在不断学习阶段,再加上我们水平有限,所以本设计肯定存在许多不尽如人意的地方,欢迎广大老师和同学批评指正。参考文献1 单片机中级教程原理与应用 张俊谟 北京航空航天大学出版社附录1试验程序ORG 0000HAJMP MA
13、INORG 0100HMAIN:CLR P0.0ACALL DELAYCLR P0.1ACALL DELAYCLR P0.2ACALL DELAYCLR P0.3ACALL DELAYCLR P0.4ACALL DELAYCLR P0.5ACALL DELAYCLR P0.6ACALL DELAYCLR P0.7ACALL DELAYCLR P1.0ACALL DELAYCLR P1.1ACALL DELAYCLR P1.2ACALL DELAYCLR P1.3ACALL DELAYCLR P1.4ACALL DELAYCLR P1.5ACALL DELAYCLR P1.6ACALL DELA
14、YCLR P1.7ACALL DELAYCLR P2.0ACALL DELAYCLR P2.1ACALL DELAYCLR P2.2ACALL DELAYCLR P2.3ACALL DELAYCLR P2.4ACALL DELAYCLR P2.5ACALL DELAYCLR P2.6ACALL DELAYCLR P2.7ACALL DELAYCLR P3.0ACALL DELAYCLR P3.1ACALL DELAYCLR P3.2ACALL DELAYCLR P3.3ACALL DELAYCLR P3.4ACALL DELAYCLR P3.5ACALL DELAYCLR P3.6ACALL DELAYCLR P3.7ACALL DELAYMOV A,#0FFHMOV P0,AMOV P1,AMOV P2,AMOV P3,AACALL DELAYACALL DELAYLJMP MAINDELAY:MOV R3,#05H