基于STC12C2052单片机的摇摇棒设计
“摇动显示装置”.俗称“摇摇棒”,是基于人的视觉暂留原理,通过分时刷新32个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面。在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。
一、系统硬件(电路见下图)
系统功能主要体现在3个部分:
(1)单片机控制(STC12C2052)本装置采用了STC12C2052单片机,它支持直接通过串口线下载程序,对于本设计而言,显示文字需经常改变.STC12C2052方便许多,因此选择STC12C2052作为本设计所用的单片机。
(2)显示功能(D1—D32)信息传递主要由显示来完成,本设计显示功能由32个发光二极管来完成。
32个发光二极管分为4组.以共阳的方式连接,共用Pl口作为数据输出口。另外4条I/O口作为段选,通过三极管选通相应段。
(3)传感嚣系统(S2)硬件传感器主要为摇动传感器,本设计的摇动传感器由滚珠开关构成。见右图。
可选摇动开关有水银摇动开关和滚珠开关两种。水银摇动开关稳定性较高,但容易发生破裂,水银外泄,安全性较差。滚珠开关稳定性稍差,但不容易损坏,安全度很高。考虑到实际应用环境,故选用滚珠开关作为系统的摇动传感器。由滚珠开关带来的不稳定性可以通过软件进行弥补。
另外D_Bl和D_B2为装饰用的蓝色发光二极管,J1为串口,供下载程序用。J2和J3为电池盒插座.
二、系统软件
系统开始运行,内部进行初始化后,等待外部中断。当摇动到指定位置时,由滚珠开关触发外部中断,再经过一段时间延时后开始显示。
显示完成返回主程序,等待下一个摇动周期的到来。程序清单如下:
三、"pctoLCD2002”软件使用方法
程序中“字符点阵数据表”中的数据是由“pctolcd2002”软件生成的,下面介绍使用pctolcd2002生成3个x2行的汉字点阵数据的方法:
1.启动pctolcd2002软件,“模式”设为“字符模式”。字宽和字高设为16x16。“选项”中的“自定义格式”选择“C51”格式.其他默认即可。
2.输入第一行的三个(或四个)汉字,生成字模。
5.将数据替换,如每行显示4个汉字则修改程序for(i=O;i<48;1++)为for(i=O;k64;1++)
四、小结
本文将使用单片机对摇动显示进行实例化,设计一个LED摇动显示器来显示文字、图像等信息。掌握利用8051型单片机对发光二极管阵列进行摇动控制的方法。
输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态,用32个发光二极管进行不同频率的亮灭刷新,通过手动摇动可显示输出文字及图案等信息。
当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在LEDPART1该视觉平面上传达信息的作用。
相关文章
发表评论