《旋转LED显示屏.doc》由会员分享,可在线阅读,更多相关《旋转LED显示屏.doc(33页珍藏版)》请在三一办公上搜索。
1、 编号 毕业设计说明书题 目: 旋转LED显示屏 院 (系): 电子工程学院 专 业: 电子信息科学与技术 学生姓名: 学 号: 指导教师: 职 称: 讲 师 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发 2008年 6 月 6日摘 要LED显示屏已广泛应用于广告、车站、银行、商场等公共场所,它具有功耗小、寿命长、色彩好等优点。现在的 LED 显示屏的发光器件主要采用 LED 平板模块,这种类型的显示屏主要有两个问题有待改进:首先是整个显示屏全由LED 模块组成,器件数量多,成本高;另外,由于显示屏是一个平面,同时 LED 象素点有一定视角限制,使显示屏的可视范围被局限到正
2、面某个范围之内,在应用中使显示屏的信息发布受到了一定的空间限制。本文给出了一种新型的柱式旋转LED显示屏,以旋转扫描方式代替逐行扫描,可视范围达到了360 度,成本大大降低,克服了LED平板显示屏的不足。本文在简要介绍旋转LED显示屏工作原理的基础上,详细说明了旋转显示屏的方案选择和系统结构设计,以及具体硬件电路和软件设计流程。在此基础上,本文还讨论了旋转LED显示屏设计中需要注意的一些关键问题,给出了相应的解决方案,并提出了一些改进和完善本系统的思路和设想。实际制作的LED旋转显示屏技术参数的测试结果,以及实际的运行效果表明,本文设计和制作的旋转显示屏符合设计要求,具有一定的创新性和实际应用
3、价值。关键词:LED显示屏;旋转;重心调节;nRF401AbstractLED display has been used widely in advertising, stations, banks, shopping malls and other public locations. It has a lot of advantages, such as low power, long life and nice multicolor. LED flat-panel module is used mainly in the LED display devices, which has so
4、me issues to be improved. First, the entire LED display area makes up of a number of LED modules, which results in high cost; Secondly, the LED display is flat, and then the information promulgated on the LED display is restricted by the visual angle of display self.A novel column revolving LED disp
5、lay is introduced in this article, which using revolving scan mode replacing progressive scan, then advances the visual angle to 360 degrees, and reduce the cost greatly. On the base of introducing the working principle briefly, the project choice and system configuration of the revolving LED displa
6、y are shown in this paper, and the hardware and software of the system are introduced in detail. Otherwise, some of the design keys of the novel LED display are discussed, and some improved steps are given in the paper.The performance and the technical parameters measured by metrical instrument show
7、 that the system meets the design requirements. Therefore, the novel LED display has some creative design and applied value by all means.Key words:LED Display, Revolving, Focus adjusting, nRF401目 录引言11 系统设计21.1系统的设计目标21.2 总体设计22 方案论证22.1系统供电方案22.2 LED驱动芯片选择32.2.1 LED驱动芯片选取原则32.2.2 LED驱动芯片接口电路设计32.3单
8、片机其他外围电路32.3.1通讯模块选择32.3.2电机选择33 LED显示技术及系统中的主要芯片43.1 LED以及旋转LED显示屏简介43.1.1 LED 应用简介43.1.2旋转LED显示屏简介53.2 MAXIM6969 LED驱动芯片63.3 AT89S52、nrf401无线收发芯片简介83.3.1 AT89S52芯片介绍83.3.2 nRF401无线收发芯片84 系统硬件设计94.1 各功能实现原理94.1.1系统供电94.1.2重心调节94.2 具体硬件电路实现104.2.1电源设计104.2.2 LED旋转同步设计105 系统软件设计115.1 系统编程语言和编程工具125.2
9、 软件总体设计135.3 系统各模块程序的设计135.3.1主控机程序模块135.3.2从机程序模块146 系统调试156.1元件的焊接和整板测试156.2系统硬件调试166.3软件测试166.4系统联调177 结论18谢辞19参考文献20附录21引言由于物理学的重大突破,电子技术在20世纪取得了惊人的进步。特别是近40年来,电子技术的发展突飞猛进,无论是工业、农业,还是国防领域都随之发生了重大变革,也为技术创新打下了坚实的理论基础。我们则应当具备开发和创新的能力,本文所介绍的旋转LED显示屏就是一个例子。通过单片机的应用和普通直流电机的改装实现这一功能,通过良好的视觉效果激发我们对电子科学的
10、兴趣。柱式旋转LED显示屏是一种新颖的显示屏,总的来看,成本低是一大优点,另外 360 度的可视角度使之非常适合于像大厅和候车室之类的场合。如果能较好的解决显示亮度问题,可应用于室外,尤其是一些广告塔、楼顶等场合,是LED显示屏的一个新品种、发展的新方向。此类显示屏如果更进一步,解决视频数据的传输,则可以做出旋转柱式视频显示屏,视频显示的控制电路较为成熟,显示器件只需换为 RGB 阵列即可,这样应用范围可大大增加。本文所设计的旋转LED显示屏以AT89S52单片机为核心,最大限度的利用单片机的资源,与LED驱动芯片紧密结合,通过无线收发芯片控制,实现显示功能。本文分为六章,详细说明了LED旋转
11、屏的原理、设计方法、以及设计流程。第1章主要介绍系统总体设计方案;第2章对系统设计方案作了较详细的论证和介绍。第3章对LED旋转显示及系统设计中使用的主要芯片作了简单介绍。其主要是对MAX公司LED驱动芯片MAX6969作了一下介绍。第4章详细介绍了系统的硬件设计。本章对电路的设计原理、芯片的选择和各功能的实现作了详细的介绍。第5章详细介绍了系统的软件设计方案及系统的开发平台。第6章讲解系统的调试过程和实现的主要功能。对系统软、硬件调试和调试中遇到的问题作了说明,并对各功能进行了测试和分析。1 系统设计1.1系统的设计目标本设计要求进行旋转LED显示屏的研究和设计。系统以MCS-51系列单片机
12、作为核心控制器件,通过控制电机保持一定的速度稳定旋转,带动单排LED旋转,形成扫描显示屏;单片机根据LED旋转的速度,控制LED发光或熄灭,在视觉上形成平面图形点阵的显示效果。1.2总体设计旋转LED显示屏的系统总框图,如图1.1所示。系统由6个部分组成:系统供电模块、数据处理与控制单元、显示单元、通讯单元和键盘输入单元。其中,LED显示由单片机和MA6969大电流LED控制器共同控制,键盘则用来实现人机交互的功能,系统供电是通过从电机中心引出,然后通过整流滤波,给系统供电。用户可以通过按键输入命令到主单片机,并将命令通过串口无线传输到从单片机,再由从单片机对命令进行译码由MA6969大电流L
13、ED控制器控制LED的循环显示。系统中,主单片机负责人机界面的交互,从单片机负责对主机命令的翻译,利于系统的改进和更新。LED驱动模块MAX6969微控制器AT89S52键盘输入微控制器AT89S52LED阵列nRF401无线收发器nRF401无线收发器图1.1 系统总框图2 方案论证2.1 系统供电方案方案1:采用固定电池供电。即在电路板是直接附带一个蓄电池,为系统供电。这种供电方式比较简单。但是,有两个问题难以解决。首先,高亮度LED的功耗比较大,而电池的蓄电量有限,这就难以实现系统的长期运作;其二,由于电池的体积和重量比较大,若固定在板子上,电量用完后,难以替换。若不固定,在电机转动的时
14、候可能会甩出去,引起安全隐患。同时,也增加了旋转重心的调节的难度。故不采用此方法。 方案2:采用电刷供电。即在电机的转轴上,手工增加一个电刷,通过电刷为系统供电。此方法能够让系统长期供电,但是由于增加了电刷,电机的摩擦增大,势必会使系统的功耗增加。故不采用此方法。方案3:从电机转子中引出电源线,为系统供电。此方法直接在电机的转子中引出电源线,通过整流滤波后,可以作为系统供电,同时也可以作为系统控制时序的中断源。此方法容易实现,并且一举两得,因此选用。2.2 LED驱动芯片选择2.2.1 LED驱动芯片选取原则LED驱动芯片关键的指标之一输出功率的大小。LED的亮度直接决定了显示屏的可见范围。采
15、用大电流驱动芯片,使得可视距离更远。高功耗,同时意味着芯片的能够良好的散热。LED驱动芯片的另一个关键指标是工作频率,即工作的速度。为了能够更清晰的显示字体和图像,芯片的工作速度是不可忽视的。芯片必须能够快速响应和编码输出。MAX6969串行接口LED驱动器提供16个漏极开路、恒流吸收、额定5.5V LED 驱动器输出。MAX6969采用3V至5.5V 电源供电。采用工业标准移位寄存器加锁存器形式的串行接口。数据通过数据输入DIN和时钟输入CLK移入驱动器的16位移位寄存器。采用高效散热的24引脚封装。2.2.2 LED驱动芯片接口电路设计方案1:采用数字信号处理单片机MSP430和LED驱动
16、芯片接口,由于MSP430速度比较快,有较强的运算能力,大大提高了计算调整LED显示的时间的模糊算法的时间,并且能够快速的对通讯数据进行CRC校验,减少了程序的复杂程度。方案2:采用单片机AT89S52与LED驱动芯片MAX6969接口, AT89S52逻辑能力较强但速度比较慢,价格相对比较便宜,但工作量要比方案1大的多。综合考虑价格、元件是否容易购买等因素,在此设计中选用方案2。2.3 单片机其他外围电路2.3.1通讯模块选择方案1:使用采用红外通讯,电路简单,但红外通讯需要大量的编码、译码,程序设计复杂,且由于AT89S52速度比较慢,在短时间难以做太多的运算,故不采用此方法。方案2:使用
17、数字载波无线通讯。电路比较简单,使用方法也简单,只需把数据送到串口,就可以立即发送,无需进行初始化,不需要对数据进行曼切斯特编码,具有半双工的通讯功能,并且有两个通讯频道,受外界影响较小。在处理器运算速度相对比较慢的情况下,采用此方法。2.3.2电机选择方案1:采用步进电机。步进电机能够准确的定向,但是图像或者文字的分辨率受到步进电机的步进角度的限制。并且步进电机以及控制电路成本较高,并且需要单片机控制,占用CPU的资源。方案2:采用普通的电机。此方案不占用单片机I/O口,节省单片机资源,使用方便,成本较低,通过简单的改装,可以给系统供电。综合各方面考虑,为了节省成本,简单系统电路,以及更方便
18、的为系统供电,使系统能够长期工作,故采用方案2。3 LED显示技术及系统中的主要芯片3.1 LED以及旋转LED显示屏简介3.1.1LED 应用简介LED(light emitting diode)是发光二极管的英文缩写,它是一种电致发光器件。目前,LED产业已经走过了它的发展初期和中期,普通LED的应用已经成为过去,高亮度LED的使用也已无需着力推广。另外,中小功率超高亮LDE亦已诞生,并正在以极快的速度走向应用。显示方面,LED被广泛应用于电子电器、工业设备等各类产品的状态性能显(指)示,也被越来越多地制作成多媒体平板显示屏、交通信号灯等等。LED的应用虽然已经具有了很广的范围、很大的规模
19、,但是,由于LED拥有很多社会应用所需的优点、相关技术也有很大的发展空间,因此,LED有着更为美好的前景。目前技术条件下,LED已经显示出了众多的优点与传统的显示媒介相比,有以下特点:一是寿命超长,业内公认的平均值达10万小时,可期望目标将会达到25万小时;二是色彩丰富,LED已经实现了多个波长的单基色,有红、琥珀黄、黄、绿、蓝等,基本满足了应用领域对LED色彩的要求,随着更多新材料的开发,还会实现更多的基色及至全彩色;三,稳定可靠,在LED的寿命期内,LED差不多都能稳定的工作,维护工作量极小;四,电气安全性高,LED一般工作在低电压(6-24V)、小电流(10-20mA)情况下,属弱电级工
20、作器件,有较好的电气安全性能;五,节能环保效率高,在同等亮度下,LED的耗电仅为普通白炽灯的1/10,而且不存在有害金属汞污染等问题,符合社会发展趋势;六,应用灵活性好,LED可进行低压供电,也可110V/220V电源供电,加上单粒LED的体积小(芯片更小),只用3-5平方毫米,大大方便了工程应用;七,受控制能力强,现有的技术已经可以实现LED的亮度、灰度、动态显示,分布控制等,是其它发光装置无可比拟的;八,抗震性能优越,LED的坚固、耐震、耐冲击性能,超过了目前所有其它类型的电光源产品;九,响应速度快,LED的响应速度在毫秒级,可以自如有效地应用于显示屏、汽车刹车灯、相机闪光灯等;十,显色性
21、能良好,白色LED目前的显色指数Ra达到了70以上,色温范围从3600K到11000K(随荧光粉不同而变),而且已经获得了实验室提高的方案;另外还有亮度高、无干扰、方向性好等等也是十分有用的优点。当然,LED产业内还有不少问题需要从根本加以解决。基色尚不十分丰富,理想的目标是可见光波段实现全覆盖,最好能达到自然光的水平;显色性仍显不高,理想水平是黑体相同,即达到Ra=100;亮度需要有效地提高,包括发光效率的两个方面(内量子效率和光输出效率)和功率的提高;另外还有体积、成本、专用集成电路、驱动器、“冷光”感等问题。纵观LED的发展,我们不难发现,LED产业的发展极大地缘于技术的进步,而技术进步
22、的动力则是来自于应用的需求,亮度的提高、基色的丰富、功率的增加等等无不如此。可以推想,未来的LED产业,一定会根据应用的要求,在亮度、功率、基色等技术方面进一步突破,使不同类型的LED更加广泛地被使用,并且还会逐步地建立起各自相对独立的应用领域,从而步入LED细分时代,我们有理由相信,亮饰、照明、显示将会首先独立出来,形成LED应用的专门领域。当然,从技术关联角度看,未来的LED产业会像一棵树,细分出来的专门领域,其源头仍会统一在芯片材料的生产上,不同领域的LED应用会得到不同技术支持。3.1.2旋转LED显示屏简介LED显示屏已广泛应用于广告、车站、银行、商场等公共场所。它具有功耗小、寿命长
23、、色彩好等优点。现在的 LED 显示屏的发光器件主要采用 LED 平板模块,室内显示屏主要采用 16 行循环扫描的方法,即每16 行为一个单元,在每一帧中, 逐次每行亮十六分之一秒的时间,由于帧频一般大于 60Hz,我们并不觉察到扫描,而认为是一幅稳定的图像。这种类型的显示屏有两个问题有待改进:第一、显示屏整个面积全由LED 模块组成,器件数量多,成本高;第二、由于显示屏是一个平面,而且 LED 象素点有一定视角限制,使显示屏的可视范围被局限到正面某个范围之内,在应用中使显示屏的信息发布受到了空间的限制。新型的旋转柱式显示屏,克服了以上两个不足,以机械转动扫描方式代替逐行扫描,成本大大降低,可
24、视范围做到了360 度。本文介绍了它的显示原理,系统组成,指出了设计中要注意的几个核心问题,并提出了一些新的发展方向。旋转扫描的原理:由于人眼具有视觉暂留的特性,当画面以一定速率刷新时,我们看到的就是连续的图像,电视机显示采用逐点扫描方式,每秒钟要刷新画面 50 场(25 帧),而在人眼中则是一幅完整的画面,传统 LED 显示屏一般采用 1/16 扫描,16 行进行逐行循环点亮,由于刷新速率足够大,看到的也是一幅稳定的画面。它的原理示意如图3. 1 所示,其中(a) (b) (c) (d) (e) 分别是不同时刻的显示状态,(f)为人眼看到的完整画面“3”。在这种LED显示屏中,采用的是逐行换
25、位下移点亮器件的扫描方式,每一行都必须有LED显示器件,这就使显示屏的成本偏大。图3.1 传统LED显示屏的显示原理图旋转扫描方式显示器只有一列,由电机带动它进行旋转,运行到某一位置时就显示该位置的状态,到下一位置后又显示下一位置的状态,即一列显示器件要完成全部图像的显示,扫描过程由机械转动更换位置来实现.其显示原理如图3.2所示。图中a)b)c)是 图3.2 旋转柱式显示屏的显示原理图不同时刻的显示状态,d)是人眼看到的完整画面“3”。由于旋转扫描成像不是平面,而是一个柱面,所以称之为旋转柱式显示屏,其观看视角是360。3.2 MAXIM6969 LED驱动芯片MAXIM6969是MAXIM
26、公司采用先进的技术生产的具有高集成度的电路器件。MAX6969串行接口LED驱动器提供16个漏极开路、恒流吸收、额定5.5V LED 驱动器输出。MAX6969采用3V至5.5V 电源供电。MAX6969电源和LED电源能以任意顺序上电。所有恒流输出均由一个外部电阻设置,每路高达55mA。MAX6969采用25Mb、工业标准4线串口控制。MAX6969采用工业标准移位寄存器加锁存器形式的串行接口。数据通过数据输入DIN和时钟输入CLK移入驱动器的16位移位寄存器。16个时钟周期后,输入数据出现在输出DOUT,此工作模式可实现多个MAX6969级联。锁存使能输入LE将移位寄存器的16位数据装入1
27、6位输出锁存器,以决定各个LED的开关。输出使能输入OE控制所有16个输出的开关,其快速响应特性适合作为控制LED亮度的PWM输入。其内部结构如图3.3所示:图3.3 MAXIM6969的内部结构图MAX6969工作时序图如下:MAX6969的串口为4线串口,使用4路输入(DIN、CLK、LE和OE) 和1路数据输出(DOUT)。该接口用于向MAX6969写入显示数据。串口数据字长为16位,即D0D15。见上图。五个接口引脚的功能如下所述。DIN是串行数据输入,在CLK信号的上升沿进行采样时必须保持稳定。数据移入时,首先移入MSB。即首先同步输入数据位D15,然后依次输入其它15位数据,到LS
28、B位D0结束。CLK是串行时钟输入,在其上升沿将数据通过DIN移入MAX6969的16位移位寄存器。LE是MAX6969锁存器的装载输入。LE为高电平时(透明传输锁存器),数据由MAX6969的16位移位寄存器传输至16位锁存器,并在LE下降沿锁存数据(图3.4)。图3.4 MAXIM6969控制时序图第四个输入为输出驱动器提供输出使能控制。OE为高电平时强制输出OUT0OUT15为高阻态,并且不会改变输出锁存器的内容,为低电平时则使能输出OUT0OUT15,以反映输出锁存器的状态。OE独立于串口工作。无论OE为何状态,数据都可移入串口移位寄存器并锁存。DOUT是串行数据输出,在CLK的上升沿
29、将数据从MAX6969的16位移位寄存器移出。DIN输入端的数据移入移位寄存器,并在16个时钟周期后出现在DOUT端。3.3 AT89S52、nrf401无线收发芯片简介3.3.1 AT89S52芯片介绍AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写10000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入
30、式控制应用系统提供高性价比的解决方案。 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM32),外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形
31、式,以适应不同产品的需求。3.3.2 nRF401无线收发芯片nRF401是一个为433MHz ISM 频段设计的真正单片UHF 无线收发芯片 它采用FSK调制解调技术nRF401,最高工作速率可以达到20K ,发射功率可以调整 最大发射功率是+10dBm天线接口设计为差分天线以便于使用低成本的PCB 天线 nRF401 还具有待机模式这样可以更省电和高效 nRF401 的工作电压范围可以从2.7-5V。nRf401满足欧州电信工业标准( ETSI)EN300 200-1V1.2.1。其具体参数和内部构造如下图3.6所示:图3.6 nRf401具体参数4 系统硬件设计4.1 各功能实现原理4.
32、1.1系统供电(1) 为了使系统能够长期稳定的工作,必须解决系统的供电问题。通过对电机进行改装,引出电源线,并通过整流、滤波、稳压得到系统供电电源。(2) 实现方法:主要通过电机的改装。电机的改装:电路的供电和LED的定位是本制作的一个难点。装在电机上的电路始终在高速旋转,无法使用通常的方法来给电路供电。但可以通过对电机的改造来解决。一般的直流电机是线圈作为转子,而永磁体作为定子的。它是通过电刷来实现给线圈供电的,而且直流电机的旋转需要交变的电流,这是由固定在转子轴上的换向器来巧妙的实现直流变为交流的。本设计的电路是固定在电机的转子上的,它和转子是保持相对静止的。因此,可以从电机的转子中取得电
33、源。方法很简单,也就是从电机的换向器上用漆包线把电引到电路板上,经整流、滤波后给单片机电路供电。换向器上的每个电极什么时候变化,是和电机转子的位子有关的,可以使用其中的一路信号来给LED显示的起始位置定位。 =Pjv08 具体改装过程如下: Nr6:/*x 1) 拆开电机,注意拆的时候别弄坏了电机的电刷;2) 小心地从电机换向器上的三个电极引出三条漆包线;3) 取下电机外壳的含油轴承;4) 在轴承的圆片上面钻了几个小孔,把那三条漆包线从小孔里穿出来。从而可以用来保护漆包线在转子和定子结合出的安全。(注意:替代上去的部分是和转子保持固定,和外壳之间是可以旋转的)。 U,Pau0:A 5) 组装回
34、整个电机,电机改装至此结束。 K!L;Vi 4.1.2重心调节重心调节是最困难的一个技术环节。旋转的重心直接关系到系统的稳定的运行,以及安全性问题。旋转的重心如果不在转轴上的话,在高速的旋转中,会产生剧烈的抖动,在巨大的离心力下,会使整个系统分解,产生安全隐患。所以,重心调节是必须解决的问题。下面介绍重心调节的方法。首先是电路板的外观设置。根据物理质心计算方法,可知道,均匀的圆盘的重心就在圆盘的中心。但是,由于电子器件的封装,重量都是不同的,圆盘电路板的重心是不均匀分布的,比较难调节,故不采用这种方法。根据杠杆原理,当支点两端的物体的质量与力距乘积相等时,杠杆就处于平衡。因此我采用了长条方型的
35、电路板结构。M2M1L2L1图4.1 杠杆原理示意图如上图4.1所示,只要M1*L1 = M2*L2时,在布PCB的同时,只要通过简单的测量和计算便可以使得杠杆处于平衡。4.2 具体硬件电路实现4.2.1电源设计电机输出由于电源是从电机中引出来的,所以需要通过整流、滤波才能为系统供电。如图4.2所示为具体的设计电路。图4.2 整流电路图稳压输入图4.3 稳压电路4.2.2 LED旋转同步设计该电路分为两个部分:1) 中断系统采用中断是为了更有效的利用单片机内部资源。为了能够连续的显示文字和图象,本文采用了外部中断的方法,即在外部中断的时候,计算和调整显示文字和图象的时间。为了得到可靠的外部中断
36、源,有两种方法。其一,如图4.4所示:图4.4 采用光感的外部中断电路但是,这种方法功耗相对比较大,而且成本比较高。为了减少制作成本,通过比较,有个更好的方法。因为电机是三相的,带电刷转动的,即每转一周,三个电刷会得到从高到低,又从低到高的逻辑电平状态。因此可以从中引出一条线来作为外部中断源,这个方法简单容易实现,其具体的电路如图4.5:图4.5 简单的外部中断电路图该方法利用电刷在转动过程中的电平变化,通过一个三极管S8050转换成单片机可以识别的数字逻辑电平,解决了外部中断的问题,电路简单,可靠性高。2) LED驱动电路。本文采用了MAXIN公司的MAX6969大电流LED驱动芯片,其外部
37、接口电路非常简单。如下图:(图上的OUT0到OUT15通过一个100电阻接到LED上)。图4.6 MAX6969驱动电路下面简单的计算一下这个电路的功耗。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信
38、号占空比N = 同时用来驱动LED的MAX6969输出端口数(最大值为16)VOUT = MAX6969驱动负载LED时端口的输出电压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 系统软件设计5.1 系统编程语言和编程工具在单片机的开发应用系统中,汇编语言作为传统的嵌入式系统的编程语言,己经不能满足实际需要,高级语言被逐渐引入,C语言就是其中之一。C语言是一种通用的计算机程序设计语言,
39、它既有高级语言的各种特征,又能直接操作系统硬件。对于大多数S系列单片机,使用C语言与使用汇编语言相比具有如下优点:(1) 不需要了解处理器的指令集,也不必了解存储器结构。(2) 寄存器分配和寻址方式由编译器进行管理。(3) 指定操作的变量选择组合提高了程序的可读性。(4) 可使用与人的思维更相近的关键字和操作函数。(5) 程序的开发和调试时间大大缩短。(6) C语言中的库文件提供了许多标准的例程。(7) 可实现模块化编程技术,从而可将己编制好的程序加入到新程序中。(8) C语言可移植性好且非常普及。8051系列单片机作为工业标准地位,从80年代开始就有了51单片机的C语言编译器。C语言可以调用
40、汇编语言的子程序或子函数。因本系统界面比较庞大,控制较多且单片机的工作时序没有严格要求,故在本系统中,单片机程序采用C语言编写。5.2 软件总体设计系统监控程序是控制单片机系统按照预定操作方式运转的程序,是整个系统程序的框架。在本系统中,单片机的主要任务是用来显示和操作者按下不同的按键后,执行相应的任务,各个任务执行的先后顺序取决于键码。根据这样的功能和操作方法,程序总体结构采用键码分析作业调度型,即作业调度完全服从操作者的意图,操作者通过键盘发出作业调度命令,监控程序接收到控制命令后,通过分析启动对应的作业。 系统软件设计采用模块化设计的方法,它是把一个功能完整的较大的程序分解为若干个功能相
41、对独立的较小的程序模块,对各个程序模块分别进行设计、编程和调试,最后把各个调试好的程序模块联成一个大的程序。模块化程序设计的优点是单个功能明确设计和调试比较方便、容易完成。一个模块可以为多个程序所共享。模块化编程的具体体现是把各个功能相对独立的模块作为子函数,主程序是一个不断循环检测结构。当系统上电自检、初始化后,进入信号输出的循环,并自动查询面板按键的状态,以检测用户可能输入的指令,确定程序将要执行的功能。本系统软件由主监控程序模块、命令翻译模块、信号产生模块、人机交互模块构成。其中主监控程序是系统软件的主程序,是整个系统软件的核心,上电复位后系统首先进入监控主程序。它的任务是识别命令、发送
42、命令,起着引导仪器进入正常工作状态,协调各部分软件有条不紊地工作的重要作用。5.3 系统各模块程序的设计5.3.1 主控机程序模块首先,对单片机串口初始化,设置波特率为2400bit/s,以及nRF401初始化设置,因为nRF401是半双工的无线通讯,所以初始设置为发射状态,选择通信频道1。然后,调用键盘函数读取键盘状态,通过读取键盘状态,获得要发送的控制数字指令,通过CRC检验转换成数字命令,从串口通过nRF401把命令发送出去。判断按键状态通过串口把数据命令发送出去CRC检验码的转换开始NRF401初始化串口初始化判断是否有按键 按下NOYES 图5.1 主机控制程序流程图5.3.2 从机
43、程序模块 从机的程序开始,对NRF401、串口、MAX6969以及中断进行初始化,然后进入默认的中文显示模式,等待中断。因为16阵列每个点显示的时间是由定时器确定的,但是,电机的转速,一开始都是不确定的。所以,一开始显示的不怎么正确。等到进入中断以后,通过自适应算法,逐渐对计时器的初始值进行调整,过一定时间后,显示就正常了。进入中断后,通过对接收的数据进行判断,实现文字和数字显示的切换。下面简单说下,自适应算法的实现过程。首先,把假设旋转一周显示的点阵数为16*128。那就意味着旋转一周需要显示的点数为128个。由于电机旋转一周产生的中断次数为3次。那么每次外部中断发生时,应该扫描的点数为43
44、个。在这里我设计为45个。也就是外部中断产生时,定时器应该产生的中断次数为45次(也就是扫描45个点)。当进入外部中断时,通过判断计时的中断次数来重新调整计时器的值,如果定时器中断次数大于45,表明LED显示一个点的时间太短(图象或者文字宽度减少),应该适当的45接收并判断更新命令缓冲区定时器中断次数COUNT=45?延长定时器定时时间中断返回开始NRF401初始化,串口初始化,MAX6969初始化,中断初始化等待中断T0中断根据主控命令执行操作显示文字显示数字中断返回外部中断45=45增加定时器定时时间计算T0中断的变量COUNT加1图5.2 从机控制程序流程图延长定时器定时时间;若定时器中
45、断次数小于45,表明LED显示一个点的时间过长,应该适当减少定时器定时时间。通过对定时器定时时间的不断调整(也就是调整LED显示每一个点的时间),从而达到稳定的显示。这种方法只需在软件上进行修改、调试,即使电机的转速发生了改变,也能够正确的显示文字或图象。6 系统调试在前面几章中,我们详细讨论了LED旋转显示屏的软件、硬件设计,要系统真正运行起来并达到预期的指标和功能,进行调试是必不可少的。6.1 元件的焊接和整板测试(1) 元件焊接焊接前对电阻、电容的量值要进行测量、筛选,选择与电路中参数值最接近的元件。芯片选择时要注意封装。本系统中元件全部都是直插式的。(2) 整板测试整板测试是在元件焊接完成但未加电前对电路板进行的检查。该过程是系统上电前的检查工作,需要对每个器件逐个引脚进行检查,一