LED摇摇棒设计报告(毕业设计) .doc_第1页
LED摇摇棒设计报告(毕业设计) .doc_第2页
LED摇摇棒设计报告(毕业设计) .doc_第3页
LED摇摇棒设计报告(毕业设计) .doc_第4页
LED摇摇棒设计报告(毕业设计) .doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

led显示棒摘要:本设计以at89s52单片机为中央控制器,利用视觉暂留效果和单片机外部中断技术,实现了在摇动过程中形成的扇形平面内清晰显示文字、字母、图案的led显示棒的制作。整套系统由中央控制模块、led显示模块、供电模块等部分组成。本设计实现了设计要求显示的全部内容,并且可以实现动态图案的显示。关键字:led 视觉暂留 图案1 引言led显示棒,又称摇摇棒,是一种利用视觉暂留效应制作的“高科技”玩具。可以用“静如处子,动如脱兔”来形容它,即当静止时,它只是几个led发光二极管(后简称led) ,而一旦按照一定的频率去摇晃它,它就会随着位置的变化而变化(亮或灭),最终显示一幅图片或字符串。本设计要求制作完成一个led的显示棒。要求led灯线状排列,通过摇动时形成的亮灯扇形区域能够分辨出如:“电”、“a”、五环之类的汉字或图案且可以使用按键对显示内容进行切换。2 系统设计方案2.1 设计思路本系统要求设计一个led显示棒,且需要有按键进行内容切换,它主要是由中央控制部分、led驱动部分、led显示部分以及电源部分组成,如图1所示: 图1:led显示棒系统框图单片机将提取的字模进行存储,当接收到按键输入的指令时单片机就将相应的字模代码通过i/o口输出,使led点亮,利用视觉暂留原理最终使图案完整的显示在摆动的显示屏中。本题的难点在于送数据的时间间隔以及较长画面或文字的完整显示。以下将对各模块的方案进行论证与比较:2.2 模块方案的论证与比较2.2.1 led灯的选择方案一:传统led发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。方案二:高亮led发光二极管。正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮led的工作电流也要大于传统二极管。为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用蓝色的led使得显示画面更为明显、突出,使用3节1.5v电池为其供电,提供足够的电流。2.2.2 外部中断信号产生方式通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。方案一:使用惯性开关。通过摇晃使得惯性开关的摆杆与焊接的左右两个触点接触,利用这种接触产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。方案二:使用光遮断器。在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。同样通过这种电平变化,结合软件控制显示。 本次设计中产生的中断是为了实现数据的单程传输。如果使用光遮断器,其触发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。而使用惯性开关,因为在左右都有触点,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。2.2.3 抗重影方案的选择方案一:使用外部中断控制数据传输时刻。外部中断信号由惯性开关产生,触发方式为下降沿触发。惯性开关左右两边的触点分别与单片机两个外部中断接口相连,默认为高电平,摇动的摆杆接地。惯性开关处于不同位置进入不同的中断,从而决定何时送数据。该方案简单易行,可以保证数据是单程传输的,避免了重影。不摇动时把惯性开关处在左边就可以使led棒熄灭,可以达到省电的效果。 方案二:使用定时器与外部中断。当我们在摆动手臂的时候,短时间内摆动位置和左右幅度不会有太大变化,利用我们手臂的这个运动规律,只要能得到棒从一侧摆动到另一侧的时间,然后把这个时间分成n份,在每一份的时间里显示不同的花样就能实现图形的显示。设计中摇动的摆子与左右两个触点接触各一次的时间可以通过外部中断和定时器计算出来,然后用单片机的另一个定时器t1,其定时时间是t0 的n 分之一,每次中断依次显示一列,就可以得到预期显示的图案了。该方法可以控制摇动频率低的时候不显示图形。但程序的稳定性不高,图形之间的间隔不易确定,只要电源开关开着led始终是点亮的。 本次设计要求显示的字符长度较短,使用方案一中的外部中断方法只要控制好延时就可以达到完整显示图案的目的,而且方案一中只使用了外部中断,它所占用的内存比方案二中既使用外部中断又使用两个定时器所占用的单片机资源要少,所以选择使用方案一。2.2.4 关于创新部分的讨论 本设计的最大特色就是可以使单列的led组合灯通过一定频率的摇动在摆动的扇形区域内呈现出特定的字符或图形。在题目要求的基础上,我们决定从硬件和软件两部分对此摇动棒进行特别改造,比如美化外形,实现画面的动态显示等。3 系统设计3.1 总体设计经过分析论证,我们决定了系统各模块的最终方案,流程图如下:图2:led显示棒系统原理框图整套系统以at89s52单片机为核心控制系统,使用32只led灯作为显示屏,其中前24只直接与单片机i/o口相连,后8只由一个74hc595控制。当惯性开关触发中断t1时,单片机向32只led传送数据,依据人体的视觉暂留原理,随着显示棒的摆动前进,输出数据的列也不会立刻消失而是随着摆动逐渐显示在了形成的扇形区域。(整体电路图见附录图1)3.2 单元电路设计3.2.1 按键模块使用一个按键对显示的所有内容进行切换,通过按钮按下的次数确定显示的内容。3.2.2 led显示模块首先,我们根据led点阵屏的显示原理:点阵屏的显示分为行扫描与列扫描两种,列扫描是将我们的字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。它的顺序可以总结为:行不断的送数据,每送完设置的信息后列进行读取,然后行再次送数据,列再次读取依次循环下去,一幅完整的图案就显示在了显示屏上。而本次设计的led显示棒数据传输原理与led点阵屏相似。可以把led显示棒看成是led点阵屏中的一列。为了使显示的图案清晰,我们使用了32个led管将它们排成一列,整个屏在静止时也就相当于32行1列。数据传输时我们同样使用行送数据、列扫描。在摆动过程中,应用视觉暂留原理,我们点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,至此,一幅图案也就可以这样被“摆动”出来了。3.2.3 惯性开关模块惯性开关装置(如附录图2),它由摆杆、触点和导轨组成。当led显示棒向左摆动到极点时,摆杆与左边的触点2接触,此时与2相连的p3.2口变为低电平,按照软件的设定:从此刻起禁止对行进行数据传输;同理,当显示棒摆到右边极点时,与3接触,与此相连的p3.3口变为低电平,软件设定从此刻起数据开始传输。整个摆动过程就是这样:摆子摆到左边,禁止数据传输;摆到右边,开始数据传输。使用这种方法就可以让数据单程传输,解决了双程均传输时产生的重影,使得画面更加清晰、明了。3.2.4 单片机最小系统的设计由于本次设计制作的是一个显示棒,基本要求就是要小巧、轻便,所以要将单片机的系统板简化设计。它的最小系统包括晶体振荡电路、复位开关和电源部分。图3为at89s52单片机的最小系统。图3 at89s52单片机最小系统4 软件设计4.1 软件设计思路在摇动led 棒的时候单片机必须单程送数据否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过惯性开关的位置来使单片机实现单程送数据给led。如果惯性开关位于右边,则进入外部中断t1并将一变量置1。在变量为1期间让单片机以一定的频率将数据送给led。如果惯性开关位于左边,则进入外部中断t0并将变量置0,在这期间单片机不会送数据给led。在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭led并开始重新判断惯性开关的位置(整体流程图见图4)。4.2 软件系统流程图图4:软件流程图4.3 动态图片的实现设计中实现单个图形或者一个词组的显示方法是将要显示的内容一次性送出,延时一段时间后再进行第二次传送数据。而要显示一个动态图片,仿照动画制作方法,先要将一个连贯的动作分为几幅独立的动作,分别提取字模,输出数据是一幅接一幅的连续送,当动作结束后延时一会,再进行第二次连贯动作的传输。同样利用视觉暂留原理,当摇动显示棒时,几幅图接连出现覆盖前面的画面,相同的部分将一直显示,不同的部分就形成了动态的动作,以此一幅动态画面就出现了。4.4 软件实现功能的完善本次设计的一个难点是去除重影,我们的解决方法是使用外部中断让数据单程传输。第二个难点是当显示如“welcome”这类较长字符时不能完整的显示在一次摇摆的扇形区域内。通过反复试验,我们改变了送数据方式:由一个字符接一个字符传送改为一组字符一起传送,传送结束后再延时,通过不断调试实现了完整显示的功能,同时也解决了画面连续出现没有间断的问题。综上,只要控制好数据传输方式以及每次传输数据间的延时就可以实现多种数据的显示方法。5 系统测试5.1设计要求部分的测试1、基本显示部分: 能够清晰的显示并辨认出“a”、“电”以及五环,可以通过按键进行内容的切换。 2、发挥部分: 能够清晰的显示并辨认出“welcome”、“美亚”以及北京奥运会会徽。 综上,本次设计实现了设计要求的全部功能。5.2创新部分的测试在创新部分中我们实现的功能有:1、可以清晰的看到一个行走的动态行人;2、可以清晰的看到一个正在微笑的动态笑脸; 3、在显示五环的同时,可以显示“北京”与“2008”两个词组的自动切换。4、设置外部电源插针,在不使用电池供电时可以利用插针进行外部供电。 6 设计总结本次设计完成了题目要求的所有内容,包括基本部分的“a”、“电”以及五环的显示、发挥部分的“welcome”、“美亚”以及北京奥运会会徽的显示,除此外还扩展了显示类别,除了文字、字母、静态图案外,还可以显示动态图案。如:行走的人、微笑的脸等。考虑到显示棒使用干电池供电较为费电的方面,我们又设计了专门的外接电源插排,可以实现两种方式的供电。这些创新点的增加都为本次设计增添不少趣味性和实用性。在这四天三夜中,我们体会到了酸甜苦辣种种滋味,有过不成功的失落感,也有实现功能后的成就感。这四天我们几乎没有好好睡过觉,但是对胜利的追逐始终支撑着我们精神充沛。在比赛中,我们小队的团结合作、互相照料、互相理解的精神完全的体现出来,彼此之间的配合也十分的融洽,这些无不是我们完成制作的最好根据。在讨论中我们不断的完善我们的方案,对每个组员提出的问题都仔细的分析推敲。在这些因素的前提下,我们最终提前实现了所有的设计要求,让我们很是欣慰!从培训到比赛结束这段时间,对我们来说都是极大的锻炼,不仅在学习能力上有了很大的提高,同时锻炼培养了我们的沟通能力。比赛快要结束了,给我们最大的感觉就是累却快乐着参考文献:1电子技术基础 数字部分 康华光 编 高等教育出版社2单片机c51程序设计教程与实验 祁伟 杨亭 编 北京航空航天大学出版社3led及其工程应用 杨清德 康娅编 人民邮电出版社4c程序设计 谭浩强 编 清华大学出版社5全国大学生电子设计竞赛试题精解选 陈永真 编 电子工业出版社附录:附录1:元器件明细表:1、单片机at89s52 1片;2、驱动芯片 74hc595 1片;3、发光二极管 32只;4、是12m晶振 1个5、电阻、电容 若干附录2:电路图图纸附录图1:led显示棒电路图 附录图2:惯性开关立体图 附录图2:惯性开关实物图附录3:程序清单#include sbit a=p30;/开关接口,用于切换显示的内容sbit clock=p34;/74ls595时钟信号sbit so=p35;/锁存信号sbit seg=p36;/主信号unsigned int i=1;unsigned char id;/键盘标准unsigned char flag; /标准位unsigned char k=0;/*逐行式提取字*/unsigned char code dian1*32=0xff,0xff,0xff,0xf1,0xff,0xfd,0xe0,0x0d,0xed,0xdd,0xed,0xdd,0xed,0xdd,0xed,0xdd,0x00,0x03,0xed,0xdf,0xed,0xdf,0xed,0xdf,0xed,0xdf,0xe0,0x0f,0xff,0xff,0xff,0xff,/电;unsigned char code a1*32=0xff,0xff,0xff,0xfb,0xff,0xfb,0xff,0xe3,0xff,0x83,0xfe,0x0b,0xf8,0x3f,0xe1,0xbf,0xe7,0xbf,0xe7,0xbf,0xf9,0xbf,0xfe,0x3b,0xff,0x9b,0xff,0xe3,0xff,0xfb,0xff,0xfb,/a;unsigned char code welcome7*32=0xff,0xff,0xff,0xff,0xff,0xb7,0xff,0x37,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xb3,0xff,0x37,0xff,0x07,0xff,0x8f,0xff,0xff,0xff,0xff,/e0xff,0xff,0xff,0xfb,0xfe,0x03,0xfe,0x03,0xfe,0xfb,0xfe,0xff,0xfe,0xfb,0xfe,0x03,0xfe,0x03,0xfe,0xfb,0xfe,0xff,0xff,0x7b,0xfe,0x03,0xfe,0x03,0xfe,0xfb,0xff,0xff,/m0xff,0xff,0xff,0x8f,0xff,0x07,0xff,0x77,0xfe,0x73,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0x73,0xff,0x77,0xff,0x07,0xff,0x8f,0xff,0xff,0xff,0xff,/o0xff,0xff,0xff,0xff,0xff,0xf7,0xff,0x77,0xfe,0x7b,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0xfb,0xfe,0x7b,0xff,0x77,0xff,0x07,0xff,0x8f,0xff,0xff,0xff,0xff,/c0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfb,0xff,0xfb,0xff,0xfb,0xff,0xfb,0xe0,0x03,0xe0,0x03,0xef,0xfb,0xef,0xfb,0xef,0xfb,0xef,0xfb,0xff,0xff,0xff,0xff,0xff,0xff,/l0xff,0xff,0xff,0xff,0xff,0xb7,0xff,0x37,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xbb,0xfe,0xb3,0xff,0x37,0xff,0x07,0xff,0x8f,0xff,0xff,0xff,0xff,/e0xef,0xff,0xef,0xff,0xe1,0xff,0xee,0x3f,0xff,0xc7,0xff,0x83,0xec,0x0f,0xe0,0x7f,0xe0,0x7f,0xef,0x1f,0xff,0xe7,0xef,0x83,0xe8,0x0f,0xe0,0x7f,0xe3,0xff,0xef,0xff,/w;unsigned char code meiya70=0xff,0xff,0xbf,0xfb,0xbb,0xf3,0xb0,0xfb,0xbf,0x3b,0xbf,0xdb,0x80,0x03,0xbf,0xfb,0xbf,0xfb,0x80,0x03,0xbf,0xfb,0xbf,0x1b,0xbc,0xfb,0xbb,0xfb,0xbf,0xfb,0xff,0xfb,/亚0xff,0xff,0xfe,0xff,0xde,0xdd,0xd6,0xdc,0xd6,0xd9,0x56,0xdb,0x96,0xd7,0xd6,0xcf,0xc0,0x1f,0xd6,0xcf,0x96,0xd7,0x56,0xdb,0xd6,0xdd,0xde,0xdd,0xde,0xfe,0xff,0xfe,/美0xff,0xff,0xff,0xff,0xff,0xff,/这里加空格是让两个字之间留有空隙,显示时不会一个接一个;unsigned char code wuhuan3*68=0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0xff,0xdf,0x7f,0xbf,0xbf,0x7f,0xdf,0x7f,0xdf,0x7f,0xdf,0x7f,0x87,0x7f,0x5b,0x7e,0xdd,0xa0,0xbe,0xdd,0x7e,0xa0,0xbe,0x7d,0xde,0x7d,0xde,0x7e,0x85,0x7f,0x5b,0x7e,0x85,0x7d,0xde,0xa0,0xbe,0xdd,0x7e,0xa0,0xbe,0x7d,0xde,0x7e,0xdd,0x7f,0x5b,0x7f,0x87,0x7f,0xdf,0x7f,0xdf,0xbf,0xbf,0xdf,0x7f,0xe0,0xff,0xff,0xff,/五环0xff,0xff,0xff,0xff,0xdf,0xf7,0x9f,0xe3,0xd8,0x4f,0xdb,0x5f,0xdb,0x7f,0xdb,0x7f,0x9b,0x01,0x5b,0x7e,0xdb,0x7d,0xdb,0x4f,0xd8,0x67,0xdf,0xf7,0xdf,0xfb,0xff,0xff,/京0xff,0xff,0xf7,0xe1,0xe7,0xfd,0xf3,0xfd,0xfb,0xfd,0xfd,0xfd,0x00,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x01,0xfb,0xdf,0xfb,0xef,0xfb,0xe7,0xfb,0xf3,0xff,0xf7,/北0xff,0xff,0xff,0xff,/北京。这里加空格是让两个字之间留有空隙,显示时不会一个接一个,也可以用延时来控制0xff,0xff,0xf1,0xc7,0xee,0xbb,0xef,0x7b,0xef,0x7b,0xee,0xbb,0xf1,0xc7,0xff,0xff,/80xff,0xff,0xf8,0x0f,0xf7,0xf7,0xef,0xfb,0xef,0xfb,0xf7,0xf7,0xf8,0x0f,0xff,0xff,/00xff,0xff,0xf8,0x0f,0xf7,0xf7,0xef,0xfb,0xef,0xfb,0xf7,0xf7,0xf8,0x0f,0xff,0xff,/00xff,0xff,0xf1,0xf3,0xee,0x7b,0xef,0xbb,0xef,0xdb,0xef,0xeb,0xf1,0xf3,0xff,0xff,/20xff,0xff,0xff,0xff,;unsigned char code huihui64=0xfc,0x00,0xce,0x00,0xc7,0x00,0x83,0x80,0x81,0x80,0x81,0xfe,0x00,0xff,0x1c,0xe3,0x3c,0xc1,0x18,0xe3,0x00,0x7f,0x00,0x7e,0x80,0x60,0xc0,0x60,0xe0,0xc0,0xf0,0xc0,/上半身,可以显示印章的0x00,0x03,0x07,0x81,0x0f,0xe0,0x1f,0xe0,0x3c,0xf1,0x78,0x3f,0x70,0x1f,0xe0,0x0f,0xfc,0x00,0xff,0x00,0x07,0x80,0x03,0xc1,0x3f,0xc1,0x3f,0x81,0x30,0x03,0x10,0x0f,/下半身;unsigned char code moving_people4*32=0xff,0xff,0xfe,0x3f,0xfe,0x3f,0xfc,0x7f,0xfc,0xff,0x08,0x00,0x10,0xfe,0x31,0xfe,0x53,0xfe,0x63,0xfe,0x18,0x00,0xfc,0xff,0xfe,0x7f,0xfe,0x3f,0xff,0x3f,0xff,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x7f,0xf0,0x00,0x01,0x00,0x00,0x00,0x00,0x03,0x86,0x60,0x0f,0xf0,0x1f,0xf8,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,/人的第一个姿势0xff,0xff,0xff,0xff,0xff,0xf9,0xff,0xf3,0xff,0xe7,0x08,0x00,0x13,0xfe,0x30,0x7e,0x50,0x1e,0x63,0x86,0x18,0x00,0xff,0xf3,0xff,0xf9,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe1,0xff,0x80,0xfc,0x00,0x60,0x0e,0x00,0x3f,0x07,0xff,0x07,0xff,0x00,0xff,0x60,0x1f,0xfc,0x07,0xfe,0x01,0xff,0xc0,0xff,0xf0,0xff,0xfc,0xff,0xfc,/人的第二个姿势;unsigned char code xiaolian64=0xf0,0x0f,0xe7,0xe7,0xcd,0xf3,0x9b,0xf9,0x3b,0xfd,0x7b,0xee,0x7d,0xf6,0x7f,0xf6,0x7f,0xf6,0x7d,0xf6,0x7b,0xee,0x3b,0xfd,0x9b,0xf9,0x8d,0xf3,0xc7,0xe7,0xf0,0x0f,0xf0,0x0f,0xe7,0xe7,0xcf,0xf3,0x9d,0xf9,0x35,0x7d,0x78,0xde,0x7d,0xe6,0x7f,0xea,0x7f,0xea,0x7d,0xe6,0x7b,0xde,0x3b,0xfd,0x9b,0xf9,0x8d,0xf3,0xc7,0xe7,0xf0,0x0f,;unsigned char code dianzi2*32=0xff,0xff,0xff,0xf1,0xff,0xfd,0xe0,0x0d,0xed,0xdd,0xed,0xdd,0xed,0xdd,0xed,0xdd,0x00,0x03,0xed,0xdf,0xed,0xdf,0xed,0xdf,0xed,0xdf,0xe0,0x0f,0xff,0xff,0xff,0xff,/电0xff,0xff,0xff,0x7f,0xfe,0x7f,0xff,0x7f,0xbf,0x7f,0x9f,0x7f,0xaf,0x7f,0xb7,0x7f,0xb8,0x01,0xbf,0x7e,0xbf,0x7d,0xbf,0x7f,0xbf,0x7f,0xbf,0x7f,0xff,0x7f,0xff,0x7f,/子;void delay(unsigned int delaytime);void key();void send8bit(unsigned char n);void move();void xiao_lian();void qiehuan();void t0(void) interrupt 0/外部中断int0的动作 p0=0xff;p2=0xff; fl

温馨提示

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

评论

0/150

提交评论