毕业论文单片机实现摇摇棒设计

上传人:公**** 文档编号:498535726 上传时间:2023-09-01 格式:DOC 页数:13 大小:794KB
返回 下载 相关 举报
毕业论文单片机实现摇摇棒设计_第1页
第1页 / 共13页
毕业论文单片机实现摇摇棒设计_第2页
第2页 / 共13页
毕业论文单片机实现摇摇棒设计_第3页
第3页 / 共13页
毕业论文单片机实现摇摇棒设计_第4页
第4页 / 共13页
毕业论文单片机实现摇摇棒设计_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《毕业论文单片机实现摇摇棒设计》由会员分享,可在线阅读,更多相关《毕业论文单片机实现摇摇棒设计(13页珍藏版)》请在金锄头文库上搜索。

1、摘要随着科技的不断发展,社会的不断进步,供人们娱乐休闲的工具越来越多,摇摇棒作为科技与娱乐相结合的产物,必然会随之成为一个热点产品。“摇摇棒”是基于人眼视觉暂留原理而产生的, 当进行摇动时,由于人的视觉暂留会在发光二极管摇动区域产生一个视觉平面,从而达到在该视觉平面上传达信息的作用,其原理类似于扫描显示。本文介绍了以STC单片机控制为主控芯片、配合高亮度LED二极管以及水银开关构成简易摇摇棒的设计过程,通过分时刷新16个发光二极管来显示输出文字或图案等信息。关键词:摇摇棒; LED;单片机目录1绪论32摇摇棒的基本原理42.1缺陷及其解决方案42.1.1缺陷42.1.2解决方案53硬件设计与实

2、现63.1硬件基本结构63.1.1 LED显示部分73.1.2 单片机控制部分73.3 LED的显示原理83.4 ISP下载的实现94.软件设计与实现104.1软件设计的结构104.2 LED显示控制模块原理及实现方法11附录:电路原理图13参考文献131绪论随着人们物质生活水平的提高,人们对精神生活的追求也愈加强烈,对信息的渴求已成为了人们必不可少的需要,更加简捷与新颖的信息传递方式无疑会给人们带来耳目一新的感受。而现代工具务求简捷化、便携化,因此,摇动显示装置的到来,必将会给人们带来一种新的方便的文化传递方式。让你的心声闪烁在夜空LED摇摇棒横空出世!LED摇摇棒又叫摇摇棒、魔棒、闪光棒、

3、闪字棒、闪图棒、星光棒 。LED摇摇棒的诞生是闪光系列产品中的一大革命,它最大的神奇之处,是在手中左右摇晃LED摇摇棒,就会在棒子划过的轨迹上留下清析的文字或图案。目前市场上,这是最新,价格最低,可远距离观看的一款电子产品。设计具有市场前景,可满足各种大型演出、集会、游行等宣传需要,为人们的生活提供便利。目前LED摇摇棒的优势。目前研发生产LED摇摇棒具有的优势如下:1、市场比较大,经过外观设计做成一根棒状产品,摇一摇就会出现精美的图案或者文字,具有很强的娱乐性。2、低廉的成本。由于产品所用到的材料相对比较便宜,因此产品价格定位比较低,具有很强的市场竞争力。3、这种设计的软件可拓展性能强大,以

4、后拓展可通过USB接口连接线对显示内容进行编辑和更换的功能。未来,将可能实现图象与音乐自主相结合的功能等等,前景广阔。2摇摇棒的基本原理 人的眼睛存在视觉暂留现象,正因为眼睛反应迟钝,才丰富了人的视觉感受,LED摇摇棒很好地利用了人眼的视觉暂留特性。运用最新专利电子技术研制而成的线阵LED运动成像的高科技产品。LED摇摇棒是在手摆动到不同位置的时候,让位于一条直线上的LED显示二维图像的不同的列,利用人眼的视觉暂留效应,实现图形扫描显示。输出信号频率的控制通过单片机来实现,用16个发光二极管进行不同频率的亮灭刷新。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视

5、觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。具体地说,已知摇摇棒从一侧摆动到另一侧所需的时间是0.8秒,把0.8秒分成64份,则每一列的图形显示时间为0.0125秒。每一列对应两个八位的字节,16位字节对应16个LED发光二极管,然后在这每一份的时间里显示图形的相应一列,则可以得到完整的图形显示。2.1缺陷及其解决方案2.1.1缺陷LED摇摇棒利用的是人眼的视觉暂留特性制作而成,LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。然而,它也有它的不足之处:1.在LED显示模块中,如果LE

6、D灯的数量过少,在显示时就会导致最终在显示文字时分辨率降低,从而显示的图像等不够细腻;2.摇摇棒在摇晃的过程中,如果显示的文字,图像等信息左右不对称,在回扫的过程中如继续显示图象信息的话就可能出现反向重影的现象,导致图象或信息显示错误。2.1.2解决方案1.对于显示模块中,LED灯的数量太少导致的问题。可以在制作的过中,适当的增加LED灯的数量。比如,通常我们是使用的是16或者32个LED发光二极管。但是如果需要64或者128个LED发光二极管,那就得通过单片机外接译码器来实现了。2对于重影问题,可用水银开关或者惯性开关解决的。摇摇棒在摇动时,通过水银开关自身的重力作用,只能在朝某一方向摇动时

7、电路才会接通,同时也才会显示图形,文字等信息;在反向回扫过程中开关自动关闭,LED就不显示内容,所以可以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容清晰的显示出来。3硬件设计与实现 16只LED发光管作为画面每一列的显示,左右摇晃起到了扫描的作用,人眼的视觉暂留现象使得看到的是一幅完整的画面。与LED点阵的显示有几分相仿。3.1硬件基本结构系统电源VCC为5V,下载程序和调试时一定要保证5V电压,实际使用时用3节干电池串联4.5V即可。AT89S52单片机作为控制器,在它的P0、P2口接有16只以共阳的方式连接的高亮度LED,由单片机输出低电平点亮。P0口的上拉电阻RA1不能少。串在

8、LED公共端的二极管D1会产生一定的压降,用来保护LED,经实测LED点亮时两端电压为3V左右,在LED的安全承受范围内。K1是画面切换开关,用于切换显示不同内容;S1为水银开关。硬件电路包括三部分:LED显示模块、单片机控制模块以及下载口模块。即:下载口模块单片机控制模块LED显示模块图3.1硬件电路模块实物图: 图3.2摇摇棒实物图3.1.1 LED显示部分LED显示部分由:16个高亮度的发光二极管,16个270欧姆的电阻以及水银开关组成。其中水银开关的作用:棒在摇动时,只能在朝某一方向摇动时显示,否则会出现镜像字或镜像画面,所以通过接一只水银开关来控制,使摇摇棒从左向右摇动时将内容显示出

9、来。水银开关里的水银珠很活跃,导致在接通时容易产生抖动,所以将水银开关斜向上放置(尖尖朝斜上方45角),靠水银珠自身重力的作用减少抖动,如下图所示:图3.3 LED及水银开关实物图3.1.2 单片机控制部分单片机部分由:一个11.059MHz的晶振以及两个305pf的电容构成的晶振电路、一个22uF的电容,10K的电阻以及复位开关构成的复位电路、芯片STC12C5412AD三部分构成。单片机部分如下图所示: 图3.4单片机部分实物图(正/反两面)3.3 LED的显示原理LED是发光二极管( Light Emitting Diode, LED)的简称,也被称作发光二极管,这种半导体组件一般是作为

10、指示灯、显示板,它不但能够高效率地直接将电能转化为光能,而且拥有最长达数万小时10万小时的使用寿命,同时具备不若传统灯泡易碎,并能省电等优点。发光二极管的结构图3.5 发光二极管结构图当单片机的P1和P2的十六个口输出低电平时,LED灯的阴极就是低电平,在水银开关的作用下,5V的电压加到LED的阳极,LED就有电流通过,这样就能发光。当单片机的P1和P2口有高电平输出时,LED的两端就是高电平,虽然有小的电压差,但是小的电压差产生的电流是无法驱动LED灯发光的。一般LED的驱动电压要有1.5V以上,电流要在200mA以上,不同的LED的驱动电压和电流是不同的。发光二极管的核心部分是由P型半导体

11、和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。 当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。3.4 ISP下载的实现在单片机彻底没电的情况下,给单片机上电复位,使它冷启动。如果外部手动复位,单片机不会运行ISP程序。单片机冷启动后,开始进行

12、系统ISP监控成序,同时检测P3.0/RxD有无合法下载命令流,如果没有则立即跑到用户程序;有则需要下载用户程序进行用户程序区。4.软件设计与实现摇摇棒的要实现其功能,除了硬件电路还需要软件程序的配合。软件即程序的编写,使用C语言进行编写的。C语言是一门极有生命力的程序设计语言。它用途广泛,语言简洁,几乎遍及了程序设计的各个领域,而且,由C语言生成的可执行代码内容量少,执行效率高。因此,完成摇摇棒的软件设计,C语言成了首选。它的方便简洁给我们带来了不少益处。4.1软件设计的结构软件由函数声明部分、延时子程序部分、中断服务程序部分、显示子程序部分、主函数部分构成。否按照数组内的16位字节,LED

13、是否显示结束初始化待添加的隐藏文字内容3提取下一组数组点亮LED延时图4.1 软件流程图(1) 主函数部分:完成函数的初始化,运用while循环语句,对display1程序段进行若干次重复调用执行;(2) 函数声明部分:void display1(void);(3) 延时子程序部分:void DelayUs(uint N)uint x;for(x=0; x=N;x+);一列显示结束后,延时500ms,再进行下一列的显示;(4) 中断服务程序部分:每个摇动来回水银开关会在摆幅两端分别产生下降沿中断,只提取其中一次(从左向右摇才显示);(5) 显示子程序部分:void display1(void)

14、uchar i;for(i=0;i64;i+) P1=diani*2;P2=diani*2+1; DelayUs(500);; LED摇摇棒显示的像素为16*64,也就是在函数里面显示的图像分成64列,每一列都是由两个8位字节构成的。P1=diani*2;P2=diani*2+1指的是一列显示结束后调用数组中的下一组进行LED显示;如果P1=diani;P2=i+1那么一列显示结束后,调用下一组数组的时候,会把前一列数组中的后一个字节继续调用并作为下一列的前一个字节,导致最终所需图像信息显示不出。4.2 LED显示控制模块原理及实现方法LED显示控制模块主要有单片机程序控制,在程序中主要是显示

15、部分的函数,十六个灯分成十六个输出端口,有P0口和P2口的十六个口一一对应,其中P0口组成8位的字节,P2口也是8位字节。8位对应P0.0到P0.7分别是由低到高的排列,在函数里面显示的图像分成64段,那就是依次对每一列显示的16位字节编写,这每一列的16位都是由两个8位的字节构成,在初始化的时候就在数组里对这128个字节分别列出。在显示函数里分别对64列数显示,这64对数的显示是有先后顺序的,利用FOR函数对64对数依次显示,而每一列由两个8位字节构成显示,显示之后要对前列的显示进行500us的延时,在调用延时函数的时候要注意延时函数里面延时1us的函数使用。利用FOR函数延时进行设定。第一列显示完后,在对后面的63列数显示,这样结束FOR循环以后就结束了整幅图的显示。在摇摇棒摇动的瞬间,水银开关是起到很重要的作用。在摇动的过程中,水银开关保证

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号