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