ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:167.08KB ,
资源ID:10492456      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10492456.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第五届湖工圆融杯参赛作品设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第五届湖工圆融杯参赛作品设计报告.docx

1、第五届湖工圆融杯参赛作品设计报告第五届湖工“圆融杯”电子设计大赛设计报告参赛题目:LED显示棒参赛队号:无第一作者:罗深武队员姓名:庄苛 罗深武 岳钱强1 引言LED显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个LED发光二极管(后简称LED) ,而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。本设计要求制作完成一个LED的显示棒。要求LED灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“摇摇棒”“湖工”,LOVE之类的汉字或图案且可以用力摇晃对显示内容进行切换。

2、2 系统设计方案2.1 设计思路本系统要求设计一个LED显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、LED驱动部分、LED显示部分以及电源部分组成,如图1所示: 图1:LED显示棒系统框图 单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过I/O口输出,使LED点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。以下将对各模块的方案进行论证与比较:2.2 模块方案的论证与比较2.2.1 LED灯的选择方案一:传统LED发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。方案二:高亮LED发光二极管。正如其

3、名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED的工作电流也要大于传统二极管。因为考虑经济原因,我们选择方案一,经过比较,使用红色的LED使得显示画面比较明显、突出,使用3节1.5V纽扣电池为其供电,提供足够的电流。2.2.2 外部中断信号产生方式通过外部中断可以控制数据开始传输的时刻。方案一:使用水银开关。通过摇晃使得水银开关的水银来回滚动,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。方案二:使用光遮断器。在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。同样通过这种电平变化,结合软

4、件控制显示。 本次设计中产生的中断是为了实现数据的单程传输。原因一是技术及资源不够;二是如果使用光遮断器,其触发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。而使用水银开关,因为在可以来回滚动,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。2.2.3 抗重影方案的选择方案一:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。不摇

5、动时把惯性开关处在左边就可以使LED棒熄灭,可以达到省电的效果。 方案二:使用定时器与外部中断。当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成N份,在每一份的时间里显示不同的花样就能实现图形的显示。设计中摇动的摆子与左右两个触点接触各一次的时间可以通过外部中断和定时器计算出来,然后用单片机的另一个定时器T1,其定时时间是T0 的N 分之一,每次中断依次显示一列,就可以得到预期显示的图案了。该方法可以控制摇动频率低的时候不显示图形。但程序的稳定性不高,图形之间的间隔不易确定,只要电源开关开着L

6、ED始终是点亮的。 本次设计要求显示的字符长度较短,使用方案一中的外部中断方法只要控制好延时就可以达到完整显示图案的目的,而且方案一中只使用了外部中断,它所占用的内存比方案二中既使用外部中断又使用两个定时器所占用的单片机资源要少,所以选择使用方案一。2.2.4 关于创新部分的讨论 本设计的最大特色就是可以使单列的LED组合灯通过一定频率的摇动在摆动的扇形区域内呈现出我们特定的字符或图形。在实现基本要求的前提下,我们决定从硬件和软件两部分对此摇动棒进行特别改造,比如美化外形,实现画面的动态显示等。3 系统设计3.1 总体设计经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图2:LED显

7、示棒系统原理框图整套系统以AT89S52单片机为核心控制系统,使用16只LED灯作为显示屏,其中前24只直接与单片机I/O口相连,后8只由一个74HC595控制。当惯性开关触发中断T1时,单片机向32只LED传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成的扇形区域。(整体电路图见附录图1)3.2 单元电路设计3.2.1 按键模块使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。3.2.2 LED显示模块首先,我们根据LED点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏

8、的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取依次循环下去,一幅完整的图案就显示在了显示屏上。而本次设计的LED显示棒数据传输原理与LED点阵屏相似。可以把LED显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,我们使用了16个LED管将它们排成一列,整个屏在静止时也就相当于16行1列。数据传输时我们同样使用行送数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,

9、只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。3.2.3 水银开关模块当摇摇棒晃动时,水银开关开始工作。整个摆动过程就是这样:摆子摆到左边,禁止数据传输;摆到右边,开始数据传输。使用这种方法就可以让数据单程传输,解决了双程均传输时产生的重影,使得画面更加清晰、明了。3.2.4 单片机最小系统的设计由于本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。它的最小系统包括晶体振荡电路、复位开关和电源部分。图3为AT89S52单片机的最小系统。图3 AT89S52单片机最小系统4 软件设计4.1 软件设计思路在摇

10、动LED 棒的时候单片机必须单程送数据否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过惯性开关的位置来使单片机实现单程送数据给LED。如果惯性开关位于右边,则进入外部中断T1并将一变量置1。在变量为1期间让单片机以一定的频率将数据送给LED。如果惯性开关位于左边,则进入外部中断T0并将变量置0,在这期间单片机不会送数据给LED。在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED并开始重新判断惯性开关的位置(整体流程图见下图)。4.2 软件系统流程图软件流程图4.3 动态图片的实现设计中实现单个图形或者一个词组的显示方法是将要显示的内容一次

11、性送出,延时一段时间后再进行第二次传送数据。而要显示一个动态图片,仿照动画制作方法,先要将一个连贯的动作分为几幅独立的动作,分别提取字模,输出数据是一幅接一幅的连续送,当动作结束后延时一会,再进行第二次连贯动作的传输。同样利用视觉暂留原理,当摇动显示棒时,几幅图接连出现覆盖前面的画面,相同的部分将一直显示,不同的部分就形成了动态的动作,以此一幅动态画面就出现了。4.4 软件实现功能的完善本次设计的一个重难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。第二个难点是当显示如“欢迎使用摇摇棒“”这类较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:一个字

12、符接一个字符传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。5 系统测试5.1设计要求部分的测试 1、基本显示部分: 能够清楚显示一些如“神奇摇摇棒”“LOVE”的字迹。总之,本次设计基本实现了设计要求的全部功能。5.2创新部分的测试在摇晃的过程中可以实现如的o(_)o一个大笑脸。 6 设计总结本次设计完成了题目所需的基本内容,能够实现基本的图形的动态变换,考虑到显示棒使用盒式干电池供电较为麻烦的方面,我们又设计了专门的小型干电池供电,可以实现足够能量的供电。这些

13、创新点的增加都为本次设计增添不少趣味性和实用性。在这连续的几十天中,我们体会到了酸甜苦辣种种滋味,有过不成功的失落感,也有实现功能后的成就感。这些天我们查找资料、购买原件、灯下苦干,虽然很累,甚至想过放弃,但是对胜利的追逐始终支撑着我们精神充沛。在这个项目的制作中,我们小队的团结合作、互相照料、互相理解的精神完全的体现出来,彼此之间的配合也十分的融洽,这些无不是我们完成制作的最好根据。在讨论中我们不断的完善我们的方案,对每个组员提出的问题都仔细的分析推敲。在这些因素的前提下,我们最终提前实现了所有的设计要求,让我们很是欣慰!从报名参赛到比赛结束这段时间,对我们来说都是极大的锻炼,不仅在动手能力

14、,理论学习能力上有了很大的提高,同时锻炼培养了我们的团队合作,相互沟通能力。这次参赛,给我们最大的感觉就是累却快乐着参考文献:1电子技术基础 数字部分 康华光 编 高等教育出版社2单片机C51程序设计教程与实验 祁伟 杨亭 编 北京航空航天大学出版社3LED及其工程应用 杨清德 康娅编 人民邮电出版社4C程序设计 谭浩强 编 清华大学出版社5全国大学生电子设计竞赛试题精解选 陈永真 编 电子工业出版社以及大量的网络电路资料。附录:附录1:元器件明细表:位号名称规格数量R1电阻10K1C1、C2瓷片电容302C3瓷片电容1041C4、C5电解电容10uF2二集管1N41483Y1晶振12M1IC

15、1集成电路AT89S521集成电路插座DIP401S1水银开关1LED1LED16发光二集管5MM16电池盒3节纽扣电池1PCB板30220MM1附录2:电路图图纸附录3:部分源程序。#include #define uchar unsigned char#define uint unsigned int/宏定义#define KEY P3_0/定义画面切换按键uchar KY;/KY作用在后面说明uchar disp;/显示汉字指针uchar pic=0,num=0;/pic为按键次数;num为中断次数uchar code love = 0x00,0x00,0x00,0x00,0x00,0x

16、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,0x00,0x

17、00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

18、00,0x00,0x00,/*LOVE*/;uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xFC,0x

19、00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

20、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形图案*/;uchar code hehe = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x04,0x20,

21、0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0xF0,0x0F,

22、0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵o(_)o图案*/;unsigned char code hanzi = /- 欢 - 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01, 0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, 0x0F,0x0C,0xE8,0x03,

23、0x08,0x0C,0x08,0x10, 0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,/- 迎 - 0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F, 0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41, 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42, 0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,/- 使 - 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, 0x04,0x80,0xF4,0x43,0

24、x14,0x45,0x14,0x29, 0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21, 0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,/- 用 - 0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, 0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,/- 神 - 0x08,0x01,0x88,0x00,0x

25、49,0x00,0xEE,0xFF, 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F, 0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08, 0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,/- 奇 - 0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E, 0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, 0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, 0x44,0x00,0x60,0x00,0x40,0x00

26、,0x00,0x00,/- 魔 - 0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A, 0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA, 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,/- 幻 - 0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60, 0x04,0x00,0x04,0x20,0x04,0x40,

27、0x04,0x80, 0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,/- 摇 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 摇 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0

28、xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 棒 - 0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,/- ! - 0x00,0x00,0x00,0x00,0x00,0x00,0x

29、00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*函数声明*/void display1(void);void display2(void);void display3(void);void display4(void);/*n(us)延时子程序*/void DelayUs(uint N)uint x;for(x=0; x=N;x+);/*中断服务程序*/void intersvr0(void) interrupt 0 using 1KY=KY;/每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示)if(KY=0)num+;/计算中断次数switch(pic)/选择画面case 0:display1();break;case 1:display2();break;case 2:display3();break;case 3:display4();break;default:display1(); /*显示子程序1(汉字)*/void display1(void)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1