毕业设计旋转LED显示屏设计_第1页
毕业设计旋转LED显示屏设计_第2页
毕业设计旋转LED显示屏设计_第3页
毕业设计旋转LED显示屏设计_第4页
毕业设计旋转LED显示屏设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 题 目:旋转led显示屏 院 (系):电气电子工程系 专 业: 电子信息 班 级: 11电信 2 姓 名: 陈 然 学 号: 2011010202004 指导老师: 高 倩 2014年3月 摘 要led显示屏已广泛应用于广告、车站、银行、商场等公共场所,它具有功耗小、寿命长、色彩好等优点。现在的 led 显示屏的发光器件主要采用 led 平板模块,这种类型的显示屏主要有两个问题有待改进:首先是整个显示屏全由led 模块组成,器件数量多,成本高;另外,由于显示屏是一个平面,同时 led 象素点有一定视角限制,使显示屏的可视范围被局限到正面某个范围之内,在应用中使显示屏的信息发布受到了一定的空间

2、限制。本文给出了一种新型的柱式旋转led显示屏,以旋转扫描方式代替逐行扫描,可视范围达到了360 度,成本大大降低,克服了led平板显示屏的不足。本文在简要介绍旋转led显示屏工作原理的基础上,详细说明了旋转显示屏的方案选择和系统结构设计,以及具体硬件电路和软件设计流程。在此基础上,本文还讨论了旋转led显示屏设计中需要注意的一些关键问题,给出了相应的解决方案,并提出了一些改进和完善本系统的思路和设想。实际制作的led旋转显示屏技术参数的测试结果,以及实际的运行效果表明,本文设计和制作的旋转显示屏符合设计要求,具有一定的创新性和实际应用价值。led旋转显示屏的意义;目前路灯应用市场已经启动,随

3、着效率的进一步提高和技术的日趋完善,将有很快的发展,市场前景更为看好。面对难得的发展机遇和市场需要,led旋转灯还存在不足之处,如没有统一的标准等问题,但是由于节能环保的特点led旋转灯的发展已经形成一种趋势。 关键字: led; 视觉暂留;直流电机;桥式整流;旋转。目录1引言22 方案论证3 2.1 系统供电方案3 2.2 led驱动芯片选择3 2.2.1 led驱动芯片选取原则3 2.3 单片机其他外围电路4 2.3.1通讯模块选择43系统设计5 3.1系统的设计目标54 led显示技术及系统中的主要芯片7 4.1 led以及旋转led显示屏简介7 4.1.1led 应用简介75 系统硬件

4、设计10 5.1 各功能实现原理10 5.1.1系统供电10 5.1.2重心调节10 5.2 具体硬件电路实现11 5.2.1电源设计11 5.2.2 led旋转同步设计12 1) 中断系统12 2) led驱动电路。13 5.2.3 led驱动芯片接口电路设计146 系统软件设计15 6.1 系统编程语言和编程工具15 6.2 软件总体设计16 6.3 系统各模块程序的设计16 6.3.1 主控机程序模块16 6.3.2 从机程序模块177 系统调试19 7.1 元件的焊接和整板测试19 7.2 系统硬件调试19 7.3 软件测试20 7.4 系统联调208结论23谢 辞24参考文献25附

5、录261引言由于物理学的重大突破,电子技术在20世纪取得了惊人的进步。特别是近40年来,电子技术的发展突飞猛进,无论是工业、农业,还是国防领域都随之发生了重大变革,也为技术创新打下了坚实的理论基础。我们则应当具备开发和创新的能力,本文所介绍的旋转led显示屏就是一个例子。通过单片机的应用和普通直流电机的改装实现这一功能,通良好的视觉效果激发我们对电子科学的兴趣。柱式旋转led显示屏是一种新颖的显示屏,总的来看,成本低是一大优点,另外 360 度的可视角度使之非常适合于像大厅和候车室之类的场合。如果能较好的解决显示亮度问题,可应用于室外,尤其是一些广告塔、楼顶等场合,是led显示屏的一个新品种、

6、发展的新方向。此类显示屏如果更进一步,解决视频数据的传输,则可以做出旋转柱式视频显示屏,视频显示的控制电路较为成熟,显示器件只需换为 rgb 阵列即可,这样应用范围可大大增加。本文所设计的旋转led显示屏以at89s52单片机为核心,最大限度的利用单片机的资源,与led驱动芯片紧密结合,通过无线收发芯片控制,实现显示功能。本文分为六章,详细说明了led旋转屏的原理、设计方法、以及设计流程。第1章主要介绍系统总体设计方案;第2章对系统设计方案作了较详细的论证和介绍。第3章对led旋转显示及系统设计中使用的主要芯片作了简单介绍。其主要是对max公司led驱动芯片max6969作了一下介绍。第4章详

7、细介绍了系统的硬件设计。本章对电路的设计原理、芯片的选择和各功能的实现作了详细的介绍。第5章详细介绍了系统的软件设计方案及系统的开发平台。第6章讲解系统的调试过程和实现的主要功能。对系统软、硬件调试和调试中遇到的问题作了说明,并对各功能进行了测试和分析。2 方案论证2.1 系统供电方案方案1:采用固定电池供电。即在电路板是直接附带一个蓄电池,为系统供电。这种供电方式比较简单。但是,有两个问题难以解决。首先,高亮度led的功耗比较大,而电池的蓄电量有限,这就难以实现系统的长期运作;其二,由于电池的体积和重量比较大,若固定在板子上,电量用完后,难以替换。若不固定,在电机转动的时候可能会甩出去,引起

8、安全隐患。同时,也增加了旋转重心的调节的难度。故不采用此方法。 方案2:采用电刷供电。即在电机的转轴上,手工增加一个电刷,通过电刷为系统供电。此方法能够让系统长期供电,但是由于增加了电刷,电机的摩擦增大,势必会使系统的功耗增加。故不采用此方法。方案3:从电机转子中引出电源线,为系统供电。此方法直接在电机的转子中引出电源线,通过整流滤波后,可以作为系统供电,同时也可以作为系统控制时序的中断源。此方法容易实现,并且一举两得,因此选用。2.2 led驱动芯片选择122.1 led驱动芯片选取原则led驱动芯片关键的指标之一输出功率的大小。led的亮度直接决定了显示屏的可见范围。采用大电流驱动芯片,使

9、得可视距离更远。高功耗,同时意味着芯片的能够良好的散热。led驱动芯片的另一个关键指标是工作频率,即工作的速度。为了能够更清晰的显示字体和图像,芯片的工作速度是不可忽视的。芯片必须能够快速响应和编码输出。max6969串行接口led驱动器提供16个漏极开路、恒流吸收、额定5.5v led 驱动器输出。max6969采用3v至5.5v 电源供电。采用工业标准移位寄存器加锁存器形式的串行接口。数据通过数据输入din和时钟输入clk移入驱动器的16位移位寄存器。采用高效散热的24引脚封装。2.3 单片机其他外围电路2.3.1通讯模块选择方案1:使用采用红外通讯,电路简单,但红外通讯需要大量的编码、译

10、码,程序设计复杂,且由于at89s52速度比较慢,在短时间难以做太多的运算,故不采用此方法。方案2:使用数字载波无线通讯。电路比较简单,使用方法也简单,只需把数据送到串口,就可以立即发送,无需进行初始化,不需要对数据进行曼切斯特编码,具有半双工的通讯功能,并且有两个通讯频道,受外界影响较小。在处理器运算速度相对比较慢的情况下,采用此方法。2.3.2电机选择方案1:采用步进电机。步进电机能够准确的定向,但是图像或者文字的分辨率受到步进电机的步进角度的限制。并且步进电机以及控制电路成本较高,并且需要单片机控制,占用cpu的资源。方案2:采用普通的电机。此方案不占用单片机i/o口,节省单片机资源,使

11、用方便,成本较低,通过简单的改装,可以给系统供电。综合各方面考虑,为了节省成本,简单系统电路,以及更方便的为系统供电,使系统能够长期工作,故采用方案2。3系统设计3.1系统的设计目标 本设计要求进行旋转led显示屏的研究和设计。系统以mcs-51系列单片机作为核心控制器件,通过控制电机保持一定的速度稳定旋转,带动单排led旋转,形成扫描显示屏;单片机根据led旋转的速度,控制led发光或熄灭,在视觉上形成平面图形点阵的显示效果。3.2总体设计旋转led显示屏的系统总框图,如图1.1所示。系统由6个部分组成:系统供电模块、数据处理与控制单元、显示单元、通讯单元和键盘输入单元。其中,led显示由单

12、片机和ma6969大电流led控制器共同控制,键盘则用来实现人机交互的功能,系统供电是通过从电机中心引出,然后通过整流滤波,给系统供电。用户可以通过按键输入命令到主单片机,并将命令通过串口无线传输到从单片机,再由从单片机对命令进行译码由ma6969大电流led控制器控制led的循环显示。系统中,主单片机负责人机界面的交互,从单片机负责对主机命令的翻译,利于系统的改进和更新。 键盘输入微控制器at89s52nrf401无线收发器nrf401无线收发器微控制器at89s52led驱动模块max6969led阵列图3-1 系统总框图 4 led显示技术及系统中的主要芯片4.1 led以及旋转led显

13、示屏简介4.1.1led 应用简介led(light emitting diode)是发光二极管的英文缩写,它是一种电致发光器件。目前,led产业已经走过了它的发展初期和中期,普通led的应用已经成为过去,高亮度led的使用也已无需着力推广。另外,中小功率超高亮lde亦已诞生,并正在以极快的速度走向应用。显示方面,led被广泛应用于电子电器、工业设备等各类产品的状态性能显(指)示,也被越来越多地制作成多媒体平板显示屏、交通信号灯等等。led的应用虽然已经具有了很广的范围、很大的规模,但是,由于led拥有很多社会应用所需的优点、相关技术也有很大的发展空间,因此,led有着更为美好的前景。目前技术

14、条件下,led已经显示出了众多的优点与传统的显示媒介相比,有以下特点:(1)是寿命超长,业内公认的平均值达10万小时,可期望目标将会达到25万小时;(2)是色彩丰富,led已经实现了多个波长的单基色,有红、琥珀黄、黄、绿、蓝等,基本满足了应用领域对led色彩的要求,随着更多新材料的开发,还会实现更多的基色及至全彩色;(3)稳定可靠,在led的寿命期内,led差不多都能稳定的工作,维护工作量极小;(4)电气安全性高,led一般工作在低电压(6-24v)、小电流(10-20ma)情况下,属弱电级工作器件,有较好的电气安全性能;(5)节能环保效率高,在同等亮度下,led的耗电仅为普通白炽灯的1/10

15、,而且不存在有害金属汞污染等问题,符合社会发展趋势;(6)应用灵活性好,led可进行低压供电,也可110v/220v电源供电,加上单粒led的体积小(芯片更小),只用3-5平方毫米,大大方便了工程应(7)受控制能力强,现有的技术已经可以实现led的亮度、灰度、动态显示,分 布控制等,是其它发光装置无可比拟的;(8)抗震性能优越,led的坚固、耐震、耐冲击性能,超过了目前所有其它类型的电光源产品;(9)响应速度快,led的响应速度在毫秒级,可以自如有效地应用于显示屏、汽 车刹车灯、相机闪光灯等;10)显色性能良好,白色led目前的显色指数ra达到了70以上,色温范围从3600k到11000k(随

16、荧光粉不同而变),而且已经获得了实验室提高的方案;另外还有亮度高、无干扰、方向性好等等也是十分有用的优点。当然,led产业内还有不少问题需要从根本加以解决。基色尚不十分丰富,理想的 是可见光波段实现全覆盖,最好能达到自然光的水平;显色性仍显不高,理想水平是黑体相达到ra=100;亮度需要有效地提高,包括发光效率的两个方面(内量子效率和光输出效率)和功率的提高;另外还有体积、成本、专用集成电路、驱动器、“冷光”感等问题。纵观led的发展,我们不难发现,led产业的发展极大地缘于技术的进步,而技术进步的动力则是来自于应用的需求,亮度的提高、基色的丰富、功率的增加等等无不如此。可以推想,未来的led

17、产业,一定会根据应用的要求,在亮度、功率、基色等技术方面进一步突破,使不同类型的led更加广泛地被使用,并且还会逐步地建立起各自相对独立的应用领域,从而步入led细分时代,我们有理由相信,亮饰、照明、显示将会首先独立出来,形成led应用的专门领域。当然,从技术关联角度看,未来的led产业会像一棵树,细分出来的专门领域,其源头仍会统一在芯片材料的生产上,不同领域的led应用会得到不同技术支持。4.1.2旋转led显示屏简介led显示屏已广泛应用于广告、车站、银行、商场等公共场所。它具有功耗小、寿命长、色彩好等优点。现在的 led 显示屏的发光器件主要采用 led 平板模块,室内显示屏主要采用 1

18、6 行循环扫描的方法,即每16 行为一个单元,在每一帧中, 逐次每行亮十六分之一秒的时间,由于帧频一般大于 60hz,我们并不觉察到扫描,而认为是一幅稳定的图像。这种类型的显示屏有两个问题有待改进:第一、显示屏整个面积全由led 模块组成,器件数量多,成本高;第二、由于显示屏是一个平面,而且 led 象素点有一定视角限制,使显示屏的可视范围被局限到正面某个范围之内,在应用中使显示屏的信息发布受到了空间的限制。新型的旋转柱式显示屏,克服了以上两个不足,以机械转动扫描方式代替逐行扫描,成本大大降低,可视范围做到了360 度。本文介绍了它的显示原理,系统组成,指出了设计中要注意的几个核心问题,并提出

19、了一些新的发展方向。旋转扫描的原理:由于人眼具有视觉暂留的特性,当画面以一定速率刷新时,我们看到就是连续的图像,电视机显示采用逐点扫描方式,每秒钟要刷新画面 50 场(25 帧),而在人眼中则是一幅完整的画面,传统 led 显示屏一般采用 1/16 扫描,16 行进行逐行循环点亮,由于刷新速率足够大,看到的也是一幅稳定的画面。它的原理示意如图3. 1 所示,其中(a) (b) (c) (d) (e) 分别是不同时刻的显示状态,(f)为人眼看到的完整画面“3”。在这种led显示屏中,采用的是逐行换位下移点亮器件的扫描方式,每一行都必须有led显示器件,这就使显示屏的成本偏大。图3-1 传统led

20、显示屏的显示原理图旋转扫描方式显示器只有一列,由电机带动它进行旋转,运行到某一位置时就显示该位置的状态,到下一位置后又显示下一位置的状态,即一列显示器件要完成全部图像的显示, 扫描过程由机械转动更换位置来实现.其显示原理如图3.2所示。图中a)b)c)是 图4-2 旋转柱式显示屏的显示原理图不同时刻的显示状态,d)是人眼看到的完整画面“3”。由于旋转扫描成像不是平面,而是一个柱面,所以称之为旋转柱式显示屏,其观看视角是360。5 系统硬件设计51 各功能实现原理5.1.1系统供电(1) 为了使系统能够长期稳定的工作,必须解决系统的供电问题。通过对电机进行改装,引出电源线,并通过整流、滤波、稳压

21、得到系统供电电源。(2) 实现方法:主要通过电机的改装。电机的改装:电路的供电和led的定位是本制作的一个难点。装在电机上的电路始终在高速旋转,无法使用通常的方法来给电路供电。但可以通过对电机的改造来解决。一般的直流电机是线圈作为转子,而永磁体作为定子的。它是通过电刷来实现给线圈供电的,而且直流电机的旋转需要交变的电流,这是由固定在转子轴上的换向器来巧妙的实现直流变为交流的。本设计的电路是固定在电机的转子上的,它和转子是保持相对静止的。因此,可以从电机的转子中取得电源。方法很简单,也就是从电机的换向器上用漆包线把电引到电路板上,经整流、滤波后给单片机电路供电。换向器上的每个电极什么时候变化,是

22、和电机转子的位子有关的,可以使用其中的一路信号来给led显示的起始位置定位。 =pjv08 具体改装过程如下: nr6:/*x 1) 拆开电机,注意拆的时候别弄坏了电机的电刷;2) 小心地从电机换向器上的三个电极引出三条漆包线;3) 取下电机外壳的含油轴承;4) 在轴承的圆片上面钻了几个小孔,把那三条漆包线从小孔里穿出来。从而可以用来保护漆包线在转子和定子结合出的安全。(注意:替代上去的部分是和转子保持固定,和外壳之间是可以旋转的)。 u,pau0:a 5) 组装回整个电机,电机改装至此结束。 k!l;vi 5.1.2重心调节重心调节是最困难的一个技术环节。旋转的重心直接关系到系统的稳定的运行

23、,以及安全性问题。旋转的重心如果不在转轴上的话,在高速的旋转中,会产生剧烈的抖动,在巨大的离心力下,会使整个系统分解,产生安全隐患。所以,重心调节是必须解决的问题。下面介绍重心调节的方法。首先是电路板的外观设置。根据物理质心计算方法,可知道,均匀的圆盘的重心就在圆盘的中心。但是,由于电子器件的封装,重量都是不同的,圆盘电路板的重心是不均匀分布的,比较难调节,故不采用这种方法。 根据杠杆原理,当支点两端的物体的质量与力距乘积相等时,杠杆就处于平衡。因此我采用了长条方型的电路板结构。m1m2l1l2图5-1 杠杆原理示意图如上图4.1所示,只要m1*l1 = m2*l2时,在布pcb的同时,只要通

24、过简单的测量和计算便可以使得杠杆处于平衡。5.2 具体硬件电路实现5.2.1电源设计电机输出由于电源是从电机中引出来的,所以需要通过整流、滤波才能为系统供电。如图4.2所示为具体的设计电路。图5-2 整流电路图图5-3 稳压电路5.2.2 led旋转同步设计该电路分为两个部分:1) 中断系统采用中断是为了更有效的利用单片机内部资源。为了能够连续的显示文字和图象,本文采用了外部中断的方法,即在外部中断的时候,计算和调整显示文字和图象的时间。为了得到可靠的外部中断源,有两种方法。其一,如图4.4所示: 图5-4 采用光感的外部中断电路但是,这种方法功耗相对比较大,而且成本比较高。为了减少制作成本,

25、通过比较,有个更好的方法。因为电机是三相的,带电刷转动的,即每转一周,三个电刷会得到从高到低,又从低到高的逻辑电平状态。因此可以从中引出一条线来作为外部中断源,这个方法简单容易实现,其具体的电路如图4.5:图5-5 简单的外部中断电路图该方法利用电刷在转动过程中的电平变化,通过一个三极管s8050转换成单片机可以识别的数字逻辑电平,解决了外部中断的问题,电路简单,可靠性高。2) led驱动电路。本文采用了maxin公司的max6969大电流led驱动芯片,其外部接口电路非常简单。如下图:(图上的out0到out15通过一个100电阻接到led上)。图5-6 max6969驱动电路 下面简单的计

26、算一下这个电路的功耗。max6969led驱动电流的大小是由一个外部电阻决定的。在本电路中,这个电阻rset取360。 rset = 18000 / iout (4-1)因此 iout = 18000/360 = 50 ma (4-2)其功耗计算如下: pd = (v+ x i+) + (vout x duty x iout x n) (4-3)其中:v+ = 供电电压i+ = n路输出吸收iout led驱动电流时的电源工作电流duty = 加至oe端的pwm信号占空比n = 同时用来驱动led的max6969输出端口数(最大值为16)vout = max6969驱动负载led时端口的输出电

27、压iout = 由rset设定的led驱动电流pd = 功耗,如果电流单位为ma,其单位为mwiout = 50ma,n = 16,duty = 1,vout = 2v pd =(5v*50ma)+(2v*1*50ma*16) = 1.850w (4-4)5 .2.3 led驱动芯片接口电路设计方案1:采用数字信号处理单片机msp430和led驱动芯片接口,由于msp430速度比较快,有较强的运算能力,大大提高了计算调整led显示的时间的模糊算法的时间,并且能够快速的对通讯数据进行crc校验,减少了程序的复杂程度。方案2:采用单片机at89s52与led驱动芯片max6969接口, at89s

28、52逻辑能力较强但速度比较慢,价格相对比较便宜,但工作量要比方案1大的多。综合考虑价格、元件是否容易购买等因素,在此设计中选用方案2。6 系统软件设计6.1 系统编程语言和编程工具在单片机的开发应用系统中,汇编语言作为传统的嵌入式系统的编程语言,己经不能满足实际需要,高级语言被逐渐引入,c语言就是其中之一。c语言是一种通用的计算机程序设计语言,它既有高级语言的各种特征,又能直接操作系统硬件。对于大多数s系列单片机,使用c语言与使用汇编语言相比具有如下优点: (1) 不需要了解处理器的指令集,也不必了解存储器结构。(2) 寄存器分配和寻址方式由编译器进行管理。(3) 指定操作的变量选择组合提高了

29、程序的可读性。(4) 可使用与人的思维更相近的关键字和操作函数。(5) 程序的开发和调试时间大大缩短。(6) c语言中的库文件提供了许多标准的例程。(7) 可实现模块化编程技术,从而可将己编制好的程序加入到新程序中。(8) c语言可移植性好且非常普及。8051系列单片机作为工业标准地位,从80年代开始就有了51单片机的c语言编译器。c语言可以调用汇编语言的子程序或子函数。因本系统界面比较庞大,控制较多且单片机的工作时序没有严格要求,故在本系统中,单片机程序采用c语言编写。6.2 软件总体设计系统监控程序是控制单片机系统按照预定操作方式运转的程序,是整个系统程序的框架。在本系统中,单片机的主要任

30、务是用来显示和操作者按下不同的按键后,执行相应的任务,各个任务执行的先后顺序取决于键码。根据这样的功能和操作方法,程序总体结构采用键码分析作业调度型,即作业调度完全服从操作者的意图,操作者通过键盘发出作业调度命令,监控程序接收到控制命令后,通过分析启动对应的作业。 系统软件设计采用模块化设计的方法,它是把一个功能完整的较大的程序分解为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个大的程序。模块化程序设计的优点是单个功能明确设计和调试比较方便、容易完成。一个模块可以为多个程序所共享。模块化编程的具体体现是把各个功能相对独立的模块作为

31、子函数,主程序是一个不断循环检测结构。当系统上电自检、初始化后,进入信号输出的循环,并自动查询面板按键的状态,以检测用户可能输入的指令,确定程序将要执行的功能。本系统软件由主监控程序模块、命令翻译模块、信号产生模块、人机交互模块构成。其中主监控程序是系统软件的主程序,是整个系统软件的核心,上电复位后系统首先进入监控主程序。它的任务是识别命令、发送命令,起着引导仪器进入正常工作状态,协调各部分软件有条不紊地工作的重要作用。6.3 系统各模块程序的设计6.3.1 主控机程序模块首先,对单片机串口初始化,设置波特率为2400bit/s,以及nrf401初始化设置,因为nrf401是半双工的无线通讯,

32、所以初始设置为发射状态,选择通信频道1。然后,调用键盘函数读取键盘状态,通过读取键盘状态,获得要发送的控制数字指令,通过crc检验转换成数字命令,从串口通过nrf401把命令发送出去。判断按键状态通过串口把数据命令发送出去crc检验码的转换开始nrf401初始化串口初始化判断是否有按键 按下noyes图6-1 主机控制程序流程图6.3.2 从机程序模块 从机的程序开始,对nrf401、串口、max6969以及中断进行初始化,然后进入默认的中文显示模式,等待中断。因为16阵列每个点显示的时间是由定时器确定的,但是,电机的转速,一开始都是不确定的。所以,一开始显示的不怎么正确。等到进入中断以后,通

33、过自适应算法,逐渐对计时器的初始值进行调整,过一定时间后,显示就正常了。进入中断后,通过对接收的数据进行判断,实现文字和数字显示的切换。, 自适应算法的实现过程。首先,把假设旋转一周显示的点阵数为16*128。那就意味着旋转一周需要显示的点数为128个。由于电机旋转一周产生的中断次数为3次。那么每次外部中断发生时,应该扫描的点数为43个。在这里我设计为45个。也就是外部中断产生时,定时器应该产生的中断次数为45次(也就是扫描45个点)。当进入外部中断时,通过判断计时的中断次数来重新调整计时器的值,如果定时器中断次数大于45,表明led显示一个点的时间太短(图象或者文字宽度减少),应该适当的45

34、接收并判断更新命令缓冲区定时器中断次数count=45?延长定时器定时时间中断返回开始nrf401初始化,串口初始化,max6969初始化,中断初始化等待中断t0中断根据主控命令执行操作显示文字显示数字中断返回外部中断45=45增加定时器定时时间计算t0中断的变量count加1图6-2 从机控制程序流程图延长定时器定时时间;若定时器中断次数小于45,表明led显示一个点的时间过长,应该适当减少定时器定时时间。通过对定时器定时时间的不断调整(也就是调整led显示每一个点的时间),从而达到稳定的显示。这种方法只需在软件上进行修改、调试,即使电机的转速发生了改变,也能够正确的显示文字或图象。7 系统

35、调试在前面几章中,我们详细讨论了led旋转显示屏的软件、硬件设计,要系统真正运行起来并达到预期的指标和功能,进行调试是必不可少的。7.1 元件的焊接和整板测试(1) 元件焊接焊接前对电阻、电容的量值要进行测量、筛选,选择与电路中参数值最接近的元件。芯片选择时要注意封装。本系统中元件全部都是直插式的。(2) 整板测试整板测试是在元件焊接完成但未加电前对电路板进行的检查。该过程是系统上电前的检查工作,需要对每个器件逐个引脚进行检查,一方面是检查有没有引脚虚焊或与其他信号线短路,另一方面是对器件引脚功能的再检查,查看设计是否正确。整板测试可以按照先电源和地,再逐个器件引脚的顺序测试。(3) 上电功能

36、测试上电测试是调试的关键部分,按照系统方案设计的模块化思想,应该分模块测试系统。首先还是应该测试电源部分,系统上电以后,测试各个电源端口和器件的电源部分是否工作正常,同时应注意系统中有无器件过热情况,如果有的话,可能是相应的器件损坏或电路中有短路,需要处理之后再加电。如果没有问题,则可以进行功能的检测。7.2 系统硬件调试由于系统硬件较复杂,硬件电路装配、焊接完成后,可能不能正常工作。为了方便调试,采用分块调试的方法。电路由多个模块组成,电源模块、复位电路、输入输出接口电路、下载接口电路等。单片机处理器是系统的灵魂,所以先对单片机进行检测调试。首先,利用下载口检测单片机,如果检测不到,问题一般

37、是单片机的复位电路、下载口、以及晶振。分别对这三个端口进行检测,基本都可以解决问题。其次,对从机的max6969芯片进行检测。检测芯片的电源连接情况,使能控制端的情况。这些问题都解决以后,就可以进行软件测试了。7.3 软件测试硬件测试完成以后,软件测试就非常重要了。系统软件调试时也要分模块来进行调试,这样才能使进程有条不紊的进行下去,而不至于出现混乱。首先,调试max6969led驱动芯片。通过参阅有关资料,详细了解芯片的参数,以及控制方法,调试起来就方便多了。上电后,发现led并没有显示。利用万用表测量输出端口的电压发现,电压几乎为零。通过查阅资料,max6969的使能控制端oe,当oe =

38、 1时,max6969输出为高阻态。通过对oe端的检测,发现oe的电平为高电平,原来有跟跳线没有接上。焊接好跳线后,上电后,max6969可以正常工作了。其次,对通讯模块进行测试。为了方便测试,在布pcb的时候,把主机模块的单片机的端口引出来。接上液晶,把接收到的数据用液晶显示出来。但是,系统上电以后,液晶一直没有显示出接收的结果。通过检测发现,在nrf401没有接上的时候,端口电压正常,但是接上的时候却变为2.5v。通过线路的检测,发现端口的电源线没焊接好。解决电源问题后,再次上电,但是液晶显示的数据也是不正确。通过对软件的程序的仔细分析,以及翻阅相关的书籍,在无线通讯中,往往存在干扰,所以

39、必须要对通讯的数据进行检验。通常检验数据的方法有,奇偶校验、crc校验等。奇偶校验方法比较简单,但是当错误的数据位为偶数个时,检测不出数据有错。crc检验理论上可以检测出任何位的错误,但是计算比较复杂,增加了单片机的工作负担。不过,利用crc检验表可以实现简单的8bit的crc检验(如表6.1)。表7-1 crc校验十六进制数0x000x010x020x030x040x050x060x07crc检验码0x000x0d0x170x1a0x230x2e0x340x39十六进制数0x080x090x0a0x0b0x0c0x0d0x0e0x0fcrc检验码0x460x4b0x510x5c0x650x6

40、80x720x7f其原理是把要发送的命令通过读表的方式,得到crc校验码,发送出去。这种方法简单、快捷,大幅度的减少了单片机的工作量。7.4 系统联调最后,便是系统整体调试了。系统上电后,并没有看到正确的文字显示。文字显示歪歪斜斜的,过了很长一段时间,还是这样。分析可能是定时器的初始值可能太大或太小所至。通过修改程序,从进入中断开始计时到进入下次中断,把时间发送出去。液晶显示的数据和预先设想的数据相差甚远。通过修改定时器的初始值后,上电测试,led能够显示出文字。显示效果如图6.1和图6.2所示。 图7-1 文字显示效果图7-2 文字显示效果分析可能是通讯中干扰太大,从机没有收到信号,或者收到

41、的信号都是错误的。为了解决问题,通过一个测试程序,用液晶把接收到的数据和发送的数据分别显示出来,错误的数据占了约20%。如表6-2所示:表7-2 主机发送的数据与从机接收到的数据比较十六进制数0x020x0a0x070x0b0x080x050x0e0x0d主机发送的数据(crc检验码)0x170x510x390x5c0x460x2e0x720x68从机接收的数据0x170x510x390x5c0x400x200x720x68十六进制数0x070x0a0x030x090x080x0d0x060x05主机发送的数据(crc检验码)0x390x510x1a0x4b0x460x680x340x2e从机

42、接收的数据0x440x510x1a0x4b0x460x680x340x2e最后,通过把主机的命令改为多次的间断发送,即使从机第一次接收到错误命令,不做出响应,但是主机不断的发送命令,即使通讯中有干扰,从机也总能接收到正确的命令,从而解决了这个问题。最后,系统实现了稳定的工作。即能够通过主机控制从机显示文字或者数字,显示效果如上图6-1和图6-2所示。 8结论通过几个月的努力,掌握了旋转led显示屏的工作原理,并且成功的实现了设计的基本要求。同时也提高了利用高级语言编写单片机程序的能力,以及查阅资料和解决问题的能力。系统主要实现的功能有:(1)通过单片机控制led扫描显示的时间,能够稳定的显示数

43、字或文字,轴向分辨率为16位。(2)能够通过无线控制显示数字或文字。(3)通过对电机的改造,解决了系统供电问题,使系统能够长期工作。 不过这次毕业设计仍然存在不足的地方。比如重心偏移,电机旋转时产生抖动,应该在设计时对pcb布局进行科学的分析,调整重心;轴向分辨率只有16位,只能显示简单的图像或文字;数据的传送速度比较慢,没有实现主机到从机的大量的数据的交换,主要使用了半双工通讯芯片nrf401,其收发状态的转换需要13ms,影响了数据通讯的效率。总之,通过这次毕业设计巩固了以前所学的知识,很大程度上提高了分析问题和解决问题的能力。 谢 辞首先,我要感谢我的导师高倩老师对我的悉心指导和关怀。他

44、为我的毕业设计和论文的顺利完成倾注了心血和汗水,他渊博的知识、严谨的治学态度、平易近人的性格以及在设计上敏锐的洞察力,使我受益非浅。在整个毕业设计期间,高倩老师给了我非常大的帮助和支持,从给我定题目,到工作开展,实验进行,直到最后论文的撰写都离不开他的悉心指导。高倩老师给我提出了很多宝贵的建议,让我少走了很多弯路,得以顺利的完成论文。同时,还要感谢实验室的汪涛老师。他们在我进行调试过程中给了许多指导并提供了实验设备,让我的毕业设计能够顺利完成。正是由于他们给我的帮助,让我很快的进入了实际的工作。在这四年的学习生活中,感谢电子电气工程系给了我发挥的机会和展现自我的舞台。在那里我学到了知识,结识了

45、一帮有着共同爱好的朋友,我们大家共同学习,为完成毕业设计打下了坚实的基础,在此我向他们表示诚挚的祝福。最后,我感谢我的家人和朋友,他(她)们对我的支持和付出是我的毕业设计得以顺利进行的保障。谢谢大家! 参考文献1 陈尚松,雷加,郭庆.电子测量与仪器m.北京:电子工业出版社,2005:1081262 徐科军.传感器与检测技术m.北京:电子工业出版社,2004:12333马忠梅.单片机的c语言应用程序设计m.北京:北京航空航天大学出版社,1999:20834 王幸之.at89系列单片机原理与接口技术m.北京:北京航空航天大学出版社,2004:3352 5 何立民.mcs-51系列单片机应用系统设计

46、m.北京:北京航空航天大学出版社,2003:591026 康华光.电子技术基础 模拟部分(第五版) m.北京:高等教育出版社,2006:1011477 樊昌信,徐炳祥,吴成柯等.通信原理(第五版) m.北京:国防工业出版社,2004:1331378 谭浩强.c程序设计(第二版) m.北京:清华大学出版社,2004:87120.9 戴佳,苗龙,陈斌.51单片机应用系统开发典型实例m.北京:中国电力出版社,2005:2585.10 沙占友,王彦朋,孟志永.单片机外围电路设计m.北京:电子工业出版社,2003:102162.附 录附录一 系统原理图图1 从机电路原理图图2 主机电路原理图附录二 系统

47、pcb图图3 从机pcb图4 主机pcb附录三 程序代码主要控制函数程序代码如下:#includemax6969.h#includenrf401driver.hunsigned char temp,count,flage,led_index;unsigned intdis;unsigned char times;unsigned char information,index;void max6969_set(uchar lbit,uchar hbit)/max6969驱动函数uchar i,temp ;temp=0x80 ;for(i=0;i=1;temp=0x80 ;for(i=0;i=1;

48、le=1;_nop_();le= 0;void inittimer(void)/计时器初始化 tmod=0x01; th0=0xff; tl0=0x80;void inituart(void)/串口初始化2400bit/s. tmod|=0x20; scon=0x50; pcon=0x80; th1=0xf3; tl1=0xf3; tr1=1;void timer0(void) interrupt 1/计时起中断函数 count+;/计算计时器0的中断次数 th0=0xff; tl0=times;if(flage=1) if(index=1)/循环显示文字if(dis=128) led_ind

49、ex = 0; flage = 0; max6969_set(0,0); dis +;if(dis=20000)dis = 0;else if(index=2)/显示数字max6969_set(aaled_index,aaled_index+1); /aa为数据点阵led_index+=2; if(led_index=160) led_index = 0; flage = 0; max6969_set(0,0); dis = 0;void int1(void) interrupt 2/外部中断函数,自适应算法实现flage = 1;if(ri=1)information = crc_recei

50、ve();/crc校验if(information!=0)index = information; if(count45)/自适应算法,判断计时器0中断的次 /数,调整计时器的初始值,若count45, if(count50) /表明定时器定时太短,应该增长定时时间 if(count60) times-=4; else times-=2; else times-;if(times100) times = 100; else if(count45)/表明定时器定时太短,应该减少定时时间 if(count40)if(count200)times=200; count = 0; void main()max6969_init();/max6969初始化 receive_init();/nrf401初始化,选择频道1,接收状态flage = 1;index = 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论