




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连东软信息学院 本科毕业设计(论文)论文题目论文题目:基于单片机的旋转LED钟表设计与实现系所:电子工程系专业:电子信息工程(嵌入式系统工程方向)学生姓名:学生学号:指导教师:导师职称:教授完成日期:2014年5月2日大连东软信息学院Dalian大连东软信息学院毕业设计(论文)摘要V基于单片机的旋转LED钟表设计与实现摘要点阵LED应用十分广泛,相较于传统的LCD显示方式有亮度大,寿命长,工作电压低,功耗偏小,可靠性高等优点。但是由于其是纯粹的由点构面的原理,生产成本相对比较高,维修需要专业人员参与,因此成本较高。本文论述的基于单片机的POVLED则具有更节能、高效、小型化、成本低的特点,相较传统的点阵LED有着更加广阔的市场前景。基于51系列单片机的流水灯加以改进,使显示内容以某种方式运动起来,结合人眼的视觉暂留效应(Persistenceofvision),可形成神奇的悬浮在空中的各类文字和图案,效果绚丽,在单片机开发领域具有一定的实践意义。本系统基于时下流行的新一代51系列单片机STC12C5A60S2系列的贴片封装STC12C5A32S2-LQPF48设计制作。系统基础供电为5V直流,电路设计上使用了低压直流转交流电路,基于4148的全波整流稳压电路,以及无线供电技术。系统不仅具有旋转显示的功能,还增加了红外遥控接收模块和DS1302时钟芯片模块,最终完成了一个外观良好的多功能旋转LED钟表。本文主要论述了基于单片机的POVLED的设计理念,硬件以及硬件模块的选用,硬件的综合设计,电路图以及PCB版图的设计,软件的设计,实现的技术细节,关键代码,系统的调试与测试。深入浅出地介绍了一个POVLED系统从构思到实现的应用原理以及关键技术细节。关键词:嵌入式系统,单片机,视觉暂留大连东软信息学院毕业设计(论文)AbstractDesignandImplementationofLEDPOVClockBasedonMCUAbstractTraditionalLEDdotmatrixiswidelyused,traditionalLCDdisplayhasabrightnesscomparedtolarge,longlife,lowvoltage,powerconsumptionissmall,andhighreliability.However,becauseitisthesheerdimensionsfromthepointofprinciple,theproductioncostisrelativelyhigh,theneedforprofessionalsinvolvedinthemaintenance,sothehigherthecost.Thisarticlediscussesthemicrocontroller-basedPOVLEDisamoreenergyefficient,compact,lowcost,comparedwithmoretraditionalLEDdotmatrixbroadmarketprospects.Willbeimprovedbasedon51seriesoflightwater,soinsomewayinmotion,combinedwiththehumaneye'spersistenceofvision(Persistenceofvision),canformamagicalsuspendedintheairallkindsoftextandgraphics,brillianteffectsodeeplylovedandsoughtaftersingle-chiplovers.Thisarticleusestheintegratedembeddedsoftwareandhardwaredesign,system-widebasedonthenewgenerationofthepopular51seriesSTC12C5A60S2seriesSMDpackageSTC12C5A32S2-LQPF48design.5VDCpowersupplyforthesysteminfrastructure,circuitdesignusingalowvoltageDCtoACcircuits,basedonfull-waverectifierregulatorcircuit4148,andthewirelesspowertechnology.Jointhefunctioninfraredremotecontrolreceivermodule,addDS1302clockchipmodules,combinedwithanumberoflight-emittingdiodes,integrateddesigntoformthefinalcompletionofthephysical.ThispaperdiscussesthedesignconceptbasedonSCM'sPOVLED,adjustandimprovethecomprehensivedesignandimplementationofthetechnicaldetails,choiceofhardwareandhardwaremodules,hardwareschematicsandPCBlayoutdesign,softwaredesignandtesting,thesystem,aswellassomekeyschematics,PCBlayout,thekeycode.DescribesinsimpletermsaPOVLEDsystemandthekeyprinciplesofrealtechnicaldetailsfromconception.Keywords:EmbeddedSystem,Microcontroller,PersistenceofVision大连东软信息学院毕业设计(论文)目录目录TOC\o"1-3"\u摘要 IAbstract II目录 III第1章绪论 11.1课题研究背景 11.2课题研究目的、意义 11.3课题研究现状 11.4课题研究内容与方法 1第2章关键技术介绍 32.1STC12C5A60S2单片机 32.2自激振荡 42.3桥式整流 52.4红外/遥控接收头 52.5DS1302时钟芯片 62.6微型有刷直流电机 6第3章系统需求分析 73.1系统设计目标 73.2系统功能需求 73.2.1主供电电路 73.2.2旋转板供电电路 73.2.3旋转动力提供装置 73.2.4单片机核心电路 73.2.5旋转起点检测功能 73.2.6红外遥控功能 73.2.7时间修改和掉电保持功能 83.2.8串口在线编程EEPROM和时间设置功能 83.2.9单片机存储和显示流水字功能 83.2.10基于C51的STC12C5A32S2程序综合设计 83.3系统非功能需求 83.3.1性能 83.3.2成本 83.3.3接口 83.3.4显示模式 83.3.5功耗 83.3.6指示灯 83.3.7安全性 83.4系统开发环境 93.5系统可行性分析 93.5.1技术可行性 93.5.2经济可行性 9第4章系统设计 104.1系统设计指导原则 104.1.1先进性 104.1.2可靠性及安全性 104.2体系结构设计 104.3硬件设计 114.3.1基础供电电路 114.3.2旋转板供电电路 124.3.3旋转动力提供装置 124.3.4起点检测功能电路部分 124.3.5红外遥控功能电路部分 134.3.6时间修改和掉电保持功能电路部分 134.3.7STC12C5A32S2单片机核心电路 144.4软件设计 164.4.1控制流程设计 164.4.2功能模块设计 16第5章系统实现 185.1环境配置 185.1.1单片机选型 185.1.2USB-ISP功能配置 185.1.3Keil环境配置 185.2功能模块实现 195.2.1主程序功能模块的实现 195.2.2红外遥控接收功能的实现 205.2.3串口读写EEPROM功能的实现 22第6章系统测试 246.1测试概述 246.2测试用例 246.2.1电路的设计以及焊接效果的测试 246.2.2红外对管测试 246.3.3DS1302时钟芯片测试 246.3.4红外遥控功能测试 256.3.5串口在线下载以及系统运行测试 256.3测试结论 28第7章结论 29参考文献 30致谢 32大连东软信息学院毕业设计(论文)-第1章绪论1.1课题研究背景POVLED(PersistenceofVisionLED,视觉暂留LED)是目前国内外比较流行的一种低成本高技术含量的LED显示技术,它利用人眼的视觉暂留原理,用少数(绝大多数情况为一列)LED加上一个电动机来代替点阵进行字符显示,对电机转速和LED点亮与熄灭的时间进行高精度的控制就能稳定地显示出预先设定的字符或者图案。1.2课题研究目的、意义现在常见的传统LED显示屏都是由成排的点阵块拼接而成的,成本高,功耗大,以及需要占比较大的空间,整个组成比较复杂,一个点的LED损坏就会因失去整体结构而造成不同程度的显示故障,维修成本也较高。所以要克服现在常用的LED的缺点,就要使用较少的LED灯,但是显示的字符不能少,所以选用旋转LED。这样如果使用16*16的LED就可以只使用16个LED,如果旋转半径足够大,那么将会显示出来更多的汉字。POVLED技术是一种新奇且实用的技术,利用此种技术所制作的电子产品,可以是一个小型风扇,也可以是自行车轮,非常适用于作新奇的小礼物,或者商用的广告。实际产品效果非常绚丽,一眼就能给人非常深刻的印象。1.3课题研究现状目前国内外有很多关于POVLED的个人或者团体DIY项目,而国外有些大学则将其作为一个实训项目给相关专业学生进行实践,在中国很多电子爱好者也在自己动手制作并互助分享这方面的成果,但是具体制作还是需要个人或者团体从绘制电路图开始一步步完成属于自己的DIY成果。1.4课题研究内容与方法本课题选用51系列单片机的时下流行的产品STC12C5A60S2来进行制作,核心原理为基于51单片机最小系统的流水灯。基于最小系统,绘制一款典型的“嵌入式”的开发电路板,并基于此添加功能模块。该系统输入5V直流到供电板,供电板通过一个基于B772三极管的自激震荡电路将5V直流转换成5V交流,供电板供一个旋转起点标志的红外发光二极管以及一个有刷直流电动机5V直流电,供无线供电初级线圈5V交流。而在转动部分通过特制的机械结构构成典型类似变压器内部结构的互感电路,互感电路的初级线圈固定在电动机外,而次级线圈则通过特制固定装置固定在旋转电路板上,次级线圈接一个4148整流稳压电路给旋转电路板提供稳定的5V直流电。单片机在电路板本身旋转的同时,上电运行已经烧录好的程序,使LED高频率的按程序要求亮灭,结合电路板被带动旋转的同时产生的位移逐行扫描,最终效果为“一面被一排LED逐行扫描出来的点阵”。实质上是电机带动的这些LED灯的机械运动实现了和整块点阵板相同甚至于更加绚丽且有立体感的视觉效果。同时在转动电路板上有起点定位红外接收端,DS1302时钟芯片模块,红外遥控信号接收模块,USB-ISP下载引脚等功能模块。本课题拟基于单片机、红外通讯、LED、电机等技术,进行系统的软硬件综合设计与实现,包括,完成PCB版图的绘制与制作,编写51系列单片机的程序,系统集成、调试与测试等,大连东软信息学院毕业设计(论文)第2章关键技术介绍2.1STC12C5A60S2单片机STC12C5A60S2是STC(宏晶科技)开发的一块51指令集的新一代STC单片机,效率比普通的8051系列单片机提升8~12倍,是时下较为流行的单片机之一。本系统选用的STC12C5A32S2是其Flash大小为32KB版本,选用的封装为48引脚贴片封装。图2.1是由官方数据手册给出的一个典型的流水灯以及在线编程电路的电路原理图。图2.2是本系统选用封装的引脚功能图。表2.1是该单片机的中断列表(以中断优先级排序)。在使用C语言编程时,表2.1中的中断查询序号就是中断号。图2.1STC112C5A60S2的流水灯官方参考电路原理图图2.2选用的48脚贴片封装引脚功能图表2.1STC12C5系列单片机中断表2.2自激振荡如果在放大器的输入端不加输入信号,输出端仍有一定的幅值和频率的输出信号,这种现象叫做自激振荡。产生自激振荡必须同时满足两个条件:①幅度平衡条件|AF|=1②相位平衡条件φA+φF=2nπ(n=0,1,2,3···)其中,A指基本放大电路的增益(开环增益),F指反馈网络的反馈系数。同时起振必须满足|AF|略大于1的起振条件。2.3桥式整流桥式整流器是利用二极管的单向导通性进行整流的最常用的电路,常用来将交流电转变为直流电。桥式整流是交流电转换成直流电的第一个步骤。如图2.3是一个典型的5V交流转直流桥式整流电路(带稳压)。图2.35V交流转直流桥式整流电路2.4红外/遥控接收头红外接收电路通常由红外接收二极管与放大电路组成,放大电路通常又由一个集成块及若干电阻电容等元件组成,并且需要封装在一个金属屏蔽盒里,因而电路比较复杂,体积却很小。内置接收管将红外发射管发射出来的光信号转换为微弱的电信号,此信号经由IC内部放大器进行放大,然后通过自动增益控制、带通滤波、解调变、波形整形后还原为遥控器发射出的原始编码,经由接收头的信号输出脚输入到电器上的编码识别电路。接收头一般有三种脚位:一般的红外接收头脚位:从左至右:1.Vout(信号输出)2.GND(电压负极)3.Vcc(电压正极);另一种脚位顺序,从左至右:1.GND(电压负极)2.Vcc(电压正极)3.Vout(信号输出);还有一种脚位顺序,从左至右:1.Vout(信号输出)2.Vcc(电压正极)3.GND(电压负极)。2.5DS1302时钟芯片DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。图2.4是一个典型的DS1302时钟芯片的应用电路图,本系统中选用DS1302主要作用是在MCU掉电后保存当前时间信息,再次上电时保证时间准确。图2.4DS1302时钟电路2.6微型有刷直流电机有刷直流电机,又称直流有刷电机,有刷电机的定子上安装有固定的主磁极和电刷,转子上安装有电枢绕组和换向器。直流电源的电能通过电刷和换向器进入电枢绕组,产生电枢电流,电枢电流产生的磁场与主磁场相互作用产生电磁转矩,使电机旋转带动负载。选用的RF370微型电动机通常被用作血压计的气泵,也用于某品牌光驱,具有工作电压宽,功率小,转速快且稳的特点,适合用作本项目电动机。供电电压:DC3-12V。其中,电机在供电5V时,转速:2500-3100rpm,电流20MA。第3章系统需求分析3.1系统设计目标拟设计出一款可用于广告,娱乐等的设备,该设备通过电机带动一块电路板旋转,电路板上的一些LED灯按预先设置的程序亮灭,显示指定图案或文字,要求整体效果稳定清晰。3.2系统功能需求根据需求调研结果确定本系统主要包括以下功能模块。3.2.1主供电电路基础供电电路可以给电动机和起点标志红外发光二极管电路供应稳定的5V直流电,同时将5V直流电转换成5V交流电供给初级线圈。用户从供电端子接入5V直流电后,供电电路开始供电。3.2.2旋转板供电电路旋转板供电电路可以在旋转电路板物理上只连接电机转动轴的情况下,给旋转中的电路板上的单片机电路供给稳定的5V直流电,使单片机正常上电工作。用户将旋转板放置到电机轴上时开始给单片机以及外围功能电路供电。3.2.3旋转动力提供装置旋转动力由电动机提供,该部分使电路板匀速旋转,要求转速稳定且振动小。由基础供电电路供电,用户放置旋转板到电机轴上并固定后开始提供稳定的转动。3.2.4单片机核心电路存储关键程序,接收起点信号,接收红外遥控电路部分接收到并解码输入的红外遥控信号,控制LED部分电路亮灭,最终由用户遥控控制,显示预设的字或者时间日期等信息,并且显示效果稳定,所显示(字或者表盘等)可读。3.2.5旋转起点检测功能起点检测电路由一个红外发射二极管和一个红外接收二极管组成,单片机能通过该部分电路检测一周旋转的起点,显示更加稳定,要求可靠,误差小。配合程序以及单片机内部定时器进行起点检测,此部分电路已经集成在设计内不需要用户操作。3.2.6红外遥控功能红外遥控接收电路能接收红外遥控器的红外信号并转换成单片机可读的信号。用户使用手持红外遥控器通过遥控器不同按键来控制当前显示模式(如显示数字时钟,字幕显示预设的文字,显示当前时间的时钟表盘等)。3.2.7时间修改和掉电保持功能DS1302时钟芯片部分电路能够提供掉电不丢失的当前时间日期的数据。在用户断开一段时间的电源后再给系统上电时显示的时间为当前时间。在系统运行时能通过遥控器修改当前时间。时钟显示需要一种以上的模式,例如数字显示,表盘显示等。3.2.8串口在线编程EEPROM和时间设置功能用户能通过串口对旋转板上串口插针发送数据执行对单片机内部EEPROM数据以及DS1302时钟芯片的在线擦写,更改当前时间,修改显示字数据等功能。3.2.9单片机存储和显示流水字功能单片机EEPROM存储显示字字模数据,在系统上电运行后用户通过遥控器选择进入相应模式后读EEPROM内数据并显示流水字。3.2.10基于C51的STC12C5A32S2程序综合设计设计程序,通过硬件连接的单片机引脚接收起点检测电路、DS1302时钟芯片电路的相关I/O信号,接收用户遥控信号,并通过控制I/O口电平来控制外部LED等,最终达到输出用户设置的文字、图案等的目的。3.3系统非功能需求3.3.1性能旋转稳定,形成的字能逐字辨识阅读,所显示时间准确,旋转噪音小,遥控无误差,在2米距离、按键3次内识别并更改显示模式。3.3.2成本不包括PCB打样在内的所有元器件成本之和不高于100元。3.3.3接口预留USB-ISP在线编程下载接口,便于调试。3.3.4显示模式至少有2种显示模式,且有表盘显示模式,通过遥控器遥控实现模式转换。3.3.5功耗使用5V电源供电,同时需要2块纽扣电池。3.3.6指示灯旋转板上预留电源指示灯,方便告知工作状态。3.3.7安全性电源部分安全。系统在以下情况下应避免肢体接触旋转部分:①系统上电稳定旋转时;②系统断电后完全停止旋转之前。3.4系统开发环境硬件环境:STC12C5A32S2单片机最小系统,功能性外围电路,USB-ISP下载模块,达到KeiluVision3软件推荐硬件配置的电脑。软件环境:Windows7x86旗舰版,KeiluVision3软件,STC_ISP_V486软件。3.5系统可行性分析3.5.1技术可行性本系统基于STC12C5A32S2单片机最小系统开发,编程语法和C51相同,原理等同于基于51单片机的流水灯设计,电机转速1000~5000rpm时,一圈需要时间为12~60ms,远高于单片机在使用11.0592M及其以上频率外部晶振时的机器周期,因此,通过程序,能精确的显示文字,图像等。3.5.2经济可行性本系统结构简单,功能多样,能用作广告、礼物等,成本在大众可接受范围内。第4章系统设计4.1系统设计指导原则4.1.1先进性本系统利用AltiumDesigner专业工具设计集成电路板图,最大化的优化了系统布局,节约资源,增强了稳定性,并为未来可能的商业化用途打好了基础。4.1.2可靠性及安全性系统高度集成化,有效规避了走线失误导致的器件损坏、系统短路等潜在的风险;电机选用光驱驱动电机,转速稳定且可靠性强;电源电路选用B772中功率稳压管并搭配散热片,使供电电路稳定且安全,不会因过热引起系统失效甚至火灾等。4.2体系结构设计系统体系结构设计图如图4.1所示。图4.1体系结构设计图4.3硬件设计4.3.1基础供电电路基础供电电路原理图如图4.2所示。5V直流输入后,分别给以下支路供电(470uF电容滤波):通过一个4148限流二极管给电机供电,限制并稳定电机转速;通过一个470Ω限流电阻给起点红外二极管供电;通过一个由B772中功率NPN三极管和一个8050PNP三极管形成的自激振荡电路给无线供电初级线圈供5V交流电。图4.2基础供电电路电路图设计4.3.2旋转板供电电路旋转板供电电路原理图如图4.3所示。次级线圈切割磁感线运动产生感应电流,经过4个4148桥式整流,5V稳压二极管稳压,最终产生稳定5V直流电。整个电路板正负极之间加一个220uF电容滤波。图4.3旋转板供电电路设计4.3.3旋转动力提供装置旋转动力提供装置的电路原理图如“图4.2基础供电电路电路图设计”所示,电机转速通过4148限流二极管的限流而降低且稳定,结合物理连接固定,为旋转电路板提供旋转所需动力。4.3.4起点检测功能电路部分起点检测功能电路原理图如“图4.2基础供电电路电路图设计”以及图4.4所示。系统利用红外对管进行起点检测。红外接收二极管在接收到基础供电电路中的红外发射二极管发射的红外线时反向导通,P3.2为低电平,在没有红外信号时,P3.2为高电平。图4.4红外起点检测拾取端电路设计4.3.5红外遥控功能电路部分红外遥控功能电路原理图如图4.5所示。红外遥控电路接收并解码红外遥控器发射的遥控数据并且将数据发送到单片机P3.3口。红外一体化接收头直接进行了红外遥控数据的拾取、放大和解调,接收到的遥控数据被转换成串行数据输入单片机。图4.5红外遥控电路设计4.3.6时间修改和掉电保持功能电路部分时间修改和掉电保持功能电路原理图如图4.6所示。DS1302时钟芯片电路提供时钟信息。电池和VCC共同给芯片给(芯片由VCC1VCC2中较大者供电),电池作为后备电源,也能在主电源VCC接入情况下通过涓流电流给电池充电。读写时间数据的操作通过CPU的P3.5,P3.6,P3.7三个IO口进行,其中P3.6接收传输,P3.5提供读写时钟,P3.7提供控制逻辑。图4.6DS1302时钟芯片电路设计4.3.7STC12C5A32S2单片机核心电路STC12C5A32S2单片机核心电路原理图如图4.7,图4.8,图4.9,图4.10所示。图4.7是一个数据手册给出的该款单片机的最小系统,除了下载口和其他功能模块需要用到的I/O口外,其他引脚全部通过560Ω的限流电阻接一个蓝色LED灯。图4.8是平面设计的LED灯面。图4.9是一个立体电路板垂直于平面板焊接,设计立体板目的是最终形成立体显示。图4.10为单片机USB-ISP在线编程功能接口。注:限流电阻阻值计算:所选用蓝色LED厂商给出的压降值为2.5V-3.2V,电路板供电电压为5V,电流4~5mA,则限流电阻阻值为R=360Ω~625Ω,最终选560Ω电阻做限流电阻。图4.7STC12C5A32S2单片机电路单片机最小系统电路设计图4.8STC12C5A32S2单片机电路平面LED灯电路设计图4.9STC12C5A32S2单片机电路立体LED灯电路设计图4.10单片机USB-ISP在线编程功能接口4.4软件设计4.4.1控制流程设计系统控制流程设计图如图4.11所示。系统上电后先执行初始化操作开启所需用到的中断并设置各中断优先级,之后读EEPROM初始化几个显示参数,初始化I/O口,然后进入主循环程序,程序开始,主要思想是通过中断修改变量,主循环内完成显示,而这些显示内容及显示的模式则由这些变量经过系列判定语句来确定。图4.11控制流程设计4.4.2功能模块设计系统设计有以下功能模块:(1)主显示功能模块即主函数,单片机上电后开始运行,首先进行单片机中断、变量以及I/O口的初始化,之后为一个死循环,通过对若干变量的一系列判定来确定执行哪一种显示模式的语句。设计有四种显示模式,分别为立体流水字显示,立体流水字+立体时间显示,平面日期时间显示,平面表盘显示。(2)红外遥控功能模块红外遥控功能模块软件部分设计通过单片机内部的一个外部中断和一个定时器中断来实现,外部中断读红外的低电平跳变脉冲,定时器计时,同时利用该定时器的超时中断约束每次遥控接收时间以防止接收失败导致系统崩溃。(3)串口在线编程功能模块设计设计通过单片机厂商提供的STC-ISP软件直接进行串口通讯功能的实现。单片机通过串口中断响应并执行上位机命令。(4)EEPROM读写模块设计设计通过STC官方提供的EEPROM读写代码实现。根据上位机通过串口发送的命令进行擦除和字节编程,在系统上电初始化和显示字的过程中读EEPROM内部数据用于显示。(5)时间修改和掉电保持(DS1302通讯模块)模块设计设计完整的DS1302涓细电流充电时钟芯片电路,通过其与单片机的通讯来保持系统显示时间的准确,掉电保持功能,同时实现时间的串口修改和系统实时修改功能。系统软件功能框图如图4.12所示。图4.12系统软件功能框图大连东软信息学院毕业设计(论文)第5章系统实现5.1环境配置5.1.1单片机选型选用单片机类型为STC12C5A60AD/S2系列单片机,该系列为新一代的8051单片机,有30种子型号。由表5.1分析,本系统需要存储显示字的字模数据因此需要大空间的EEPROM。同时用作以后功能扩展需要尽量多的集成功能,因此选择STC12C5A32S2片形,封装选择贴片48脚的封装LQFP-48。表5.1STC12系列单片机EEPROM选型表5.1.2USB-ISP功能配置USB-ISP选用STC官方推荐的硬件板,通过4根杜邦线连接至板上,下载软件为官方网站下载的最新版本的STC-ISP下载软件(V6.67B),USBtoSerial,波特率9600。5.1.3Keil环境配置主操作系统:MicrosoftWindows7x86旗舰版Keil软件版本:KeiluVision3(v3.51)片形配置:使用STC-ISP的“自动添加型号头文件到Keil中”的功能进行片形的添加和设置。5.2功能模块实现5.2.1主程序功能模块的实现主显示程序功能的实现流程图如图5.1所示。起点检测通过外部中断0实现,红外发射二极管和红外接收二极管对管产生低电平跳变信号,触发外部中断0,部分代码如下:IT0=1;//外部中断0为边沿触发EX0=1;//开外部中断0…voidint0()interrupt0//中断编号0优先级0引脚3.2{BIT_timeout=1;//起点标志位在主函数判定其后被置零…}图5.1主函数流程图5.2.2红外遥控接收功能的实现红外遥控信号接收功能的实现流程图如图5.2所示。图5.2红外遥控接收功能流程图由红外接收头厂商提供的使用数据手册得知,编码的格式为脉冲宽度编码,0和1的TTL电平表示如图5.3所示。图5.3遥控码的“0”和“1”通过外部中断1和定时器1超时中断响应结合起来读TTL电平及其持续时间,读红外一体化接收头接收到的遥控数据。根据厂家数据,遥控器发射和红外接收的数据编码为标准红外通讯编码格式,长4个字节:第一第二个字节为地址码用于识别遥控器本身是否正确,第三字节为数据码包含遥控按键信息,第四字节为数据反码用于校验数据,设计如下结构体:staticstructIR_data//红外接收的数据结构{unsignedcharaddr1;//地址1(客户码1)unsignedcharaddr2;//地址2(客户码2)unsignedchardata1;//数据1(数据码)unsignedchardata2;//数据2(数据码反码)}IR_DATA;5.2.3串口读写EEPROM功能的实现通过串口中断响应对显示字的修改。对EEPROM的读写擦除操作使用的是STC官方提供的标准代码,单片机特殊功能寄存器中IAP_DATA为8位的数据寄存器,用于存储准备放入或者已经读出的EEPROM内数据,IAP_ADDRH和IAP_ADDRL分别为高八位和第八位地址寄存器,将寄存器IAP_TRIG先写0x5A然后写0xA5,单片机开始执行命令寄存器IAP_CMD中命令。对EEPROM的操作代码主要涉及到16位长地址转高低各8位,部分代码如下:INT8Ubyte(INT16Uadd){…IAP_CMD=0x01;//IAP/ISP/EEPROM字节读命令写命令则是0x02my_unTemp16.un_temp16=add; //16位传入地址转高8+低8IAP_ADDRH=my_unTemp16.un_temp8[0];//设置目标单元地址的高8位地址IAP_ADDRL=my_unTemp16.un_temp8[1];//设置目标单元地址的低8位地址//写入数据在此处放入IAP_DATA中IAP_TRIG=0x5A; IAP_TRIG=0xA5;…return(IAP_DATA);}串口接收EEPROM的格式为0x5A+C+L+DATA+CS+0xA5,开始码为0x5A,其中C为控制码,L为长度,DATA为长度为L的数据,CS为C、L、DATA的和取模的值,最后发送结束码0xA5。接收成功返回1字节:0x06。串口中断响应流程如图5.4所示。图5.4串口中断响应流程图大连东软信息学院毕业设计(论文)第6章系统测试基于单片机的旋转LED基于STC12C5A32S2单片机,结合DS1302芯片,红外一体化接收头和36个LED灯构成,系统需要多方面的测试以证明系统设计的功能已经被实现且功能完整、一体化、稳定。6.1测试概述首先进行对系统焊接组装可靠性的测试,包括系统供电板供电情况的测试,无线供电模块工作情况的测试,旋转LED板焊接测试。再通过默认的流水灯程序进行单片机供电以及LED焊接情况的测试。最后通过系统实现中不同模块的代码分块进行DS1302功能模块,红外一体化接收头功能模块,红外对管有效性的测试。6.2测试用例6.2.1电路的设计以及焊接效果的测试用万用表通断测试档测电源板正负极以及旋转板VCC和GND排针,断路,正常。给系统上电。万用表直流电压档测电机电路两端电压,结果为4.9V,正常。万用表直流电压档测红外发射二极管电路两端电压,结果为4.9V,正常。万用表交流电压档测初级线圈两端电压,结果为5.0V,正常。万用表交流电压档测旋转板上线圈L1两端电压,结果为4.8V,正常。万用表直流电压档测ISP排针VCC和GND两端电压,结果为4.7V,正常。给系统断电,接USB-ISP下载器,按VCC(5V)-VCC,TX-RX,RX-TX,GND-GND的顺序连接杜邦线,将下载器插入电脑USB接口,系统正常上电,通过ISP下载器下载STC官方的流水灯“test.HEX”文件。下载正常,流水灯程序运行正常。通过流水灯程序,检查LED焊接是否有短路,结果为所有LED均正常亮灭,无短路或者断路现象。拔出USB-ISP排线。测试结束,电源和单片机部分电路正常,功能正常。6.2.2红外对管测试重写外部中断0的响应函数,使P1=0X00,上电运行系统,可见平面P1口全亮,可见外部中断0被触发,红外对管正常。6.3.3DS1302时钟芯片测试重写DS1302功能模块,main函数死循环读时间的值,若时间改变了则通过串口输出,结果如图6.1所示。DS1302功能模块正常。图6.1DS1302测试结果图6.3.4红外遥控功能测试重写红外接收功能模块,通过串口输出读出的按键键值,然后上电运行按下遥控器上不同按键,结果如图6.2所示。红外一体化接收功能正常。图6.2红外一体化接收头功能测试结果图6.3.5串口在线下载以及系统运行测试利用汉字取模软件取一段文字的字模,以通过串口以5A+03+L+DATA+CS+A5的编码格式发给单片机,单片机返回值0x06,发送正常。图6.3立体流水字显示测试图给系统上电,转动稳定后运行情况如图6.3所示。系统处于立体显示流水字模式,当前模式下系统工作正常,EEPROM写入正常。图6.4立体显示时间+流水字显示测试图按下遥控器数字0,系统运行情况如图6.4所示。系统处于立体流水字+时间显示模式,当前模式下系统工作正常,单片机与DS1302芯片的通讯模块功能正常。图6.5平面显示日期时间+立体显示流水字显示测试按下遥控器数字2,系统运行情况如图6.5所示。系统处于平面显示日期时间+立体显示流水字模式,当前模式为系统电流极限模式,系统稳定运行了5分钟以上。当前模式系统工作正常,主供电电路功能正常。图6.6平面显示表盘模式显示测试按下遥控器数字3,系统运行情况如图6.6所示。系统处于平面显示表盘模式。当前模式系统工作正常。6.3测试结论系统设计功能均能正常实现。硬件焊接无虚焊,无短路,软件功能无明显BUG。
第7章结论POVLED是目前单片机趣味开发项目里面比较热门的选题,利用51系列单片机的实现效果可以非常完美,同时具有结构和功能的稳定性,能耗低,功能模块化可裁剪的特点。显示效果绚丽,同时充分利用了单片机本身的内部EEPROM存储,定时器,外部中断功能等,代码部分设计充分体现了嵌入式工程开发的特点。结合了DS1302时钟芯片功能模块,使本系统成为了一个真正能应用在生活中的功能物件,和生活需求结合也使本系统具有了一定的潜在的商业化价值。本系统开发的选题基于国内的电子爱好者论坛的热门讨论项目。在众多嵌入式领域的前辈的对于POVLED开发的辩论的基础上,结合了“红外对管检测起点”替代传统的定时器、霍尔感应模块,使起点检测功能高效简单实现,减轻了板上的负重,也优化了代码本身;结合了“平面+立体”创意,使得系统显示效果更加绚丽神奇,只需要不同的延时和显示参数,利用同样的显示代码就能实现,这一个小工作量的设计却为系统本身添色不少,看起来也更加成熟;添加了“利用外部中断的红外一体化接收头数据的接收”,利用简单的定时器能接收一个字长的数据而不是简单的检测高低电平信号,这一功能的纳入参考以及最终实现都很大程度上提高了本人的算法能力,增强了作为嵌入式程序员的核心竞争力;添加“1302时钟芯片模块”,片间通讯一直是嵌入式开发中的重点同时也是难点,在学习的过程中我也收获颇多,对于片间通讯的时钟设计有了很深层次的逻辑构建能力;加入基于官方的串口通讯并写入EEPROM功能模块,这一功能的实现很大程度上来自于STC官方对于这一功能的实现提供的官方接口和代码,这一功能的实现让我对代码书写的规范有了更进一步的认识,但是,这个功能目前还不够完美,上位机的串口通讯目前只能通过STC官方的STC-ISP软件来实现,自行设计的基于QT的串口下载程序由于侧重点在项目代码本身加之时间有限还有待完善。目前本系统的功能依然还有很大的可完善性,例如加入动态图片,加入流水以外的字显方式,系统的B772中功率三极管的发热问题,噪音问题,配重平衡问题,以及系统电机寿命和系统本身大小限制等,要商业化本系统仍然需要很大工作量的重新设计,但是在此作为总结,结合最终设计成本以及系统的最终实现效果,个人认为本系统还是具有很大的潜在性的商业价值,不失为一个合适的广告物件和家居摆设。参考文献[1]李京清等.电路基础[M],清华大学出版社,2009[2]华成英.模拟电子技术基本教程[M],清华大学出版社,2006[3]闫石.数字电子技术基本教程[M],清华大学出版社,2007[4]谷树忠等.AltiumDesigner教程[M],电子工业出版社,2010[5]李建忠.单片机原理及应用[M],西安电子科技大学出版社,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论