新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机控制LED摇摇棒的解决方案

基于单片机控制LED摇摇棒的解决方案

作者:时间:2013-10-08来源:网络收藏

  本为开发套件,全部采用直插的器件。显示的采用了5mm超高亮30度聚光发光二极管,共32只。控制芯片采用宏晶单片机STC11F03E,其内部有3K的程序存储空间,256字节的数据存储空间,另外其内部还有2K的EEPROM空间。设计可以通过串口,把下载的画面数据到内部的EEPROM,掉电后,也不会丢失。

  本文通过研究利用事先编好程序来控制16个发光二极管,并配合左右手的摇晃来显示字符和简易图形的电子装置(简称为“”),设计并制作一个依靠摇动能显示字符、图形的 显示棒。此装置利用AT89C51单片机对发光二极管阵列进行控制。用滚珠开关检测当前摇动状态,16个发光二极管进行不同频率的亮灭刷新,则只要摇动就可以可显示输出文字及图案等信息,从而达到在该视觉平面上传达信息的作用。

  1 硬件系统的组成

  本设计的简单有趣的LED,它是基于的电子装置。具有按键进行画面切换和消除重影等功能,能使画面清晰显示出来。它主要由部分,LED驱动部分,LED显示部分组成,其硬件组成框图如图1 所示。

  

  1.1 按键模块

  本设计中通过一个画面切换开关对显示的内容进行切换。在设计中通过滚珠开关来控制摇摇棒只能向一边摇动时显示信息,否则会出现镜像字或镜像画面,也就是重影的现象。可选的摇动控制开关有水银开关和滚珠开关两种。水银开关稳定性较高,但安全性较差。滚珠开关虽然稳定性稍差,但不容易被打破,安全度很高。考虑到实际应用环境,故选用滚珠开关作为系统的摇动控制,由滚珠开关带来的不稳定性可以通过软件进行弥补。手动复位开关的功能是控制系统的启停。

  1.2 控制部分

  单片机最小系统作为整个系统的控制核心,它主要负责控制二极管的亮灭及显示状态。通过单片机的软件编程及外部中断,来控制摇摇棒的显示效果。

  1.3 LED 显示模块

  此设计中根据LED点阵的显示原理来设计显示部分。点阵的显示分为行扫描与列扫描两种,列扫描是将字模数组通过点阵屏的行驱动进行输入,然后通过列对每一行进行扫描,当列为低(高)电平、行为高(低)电平时则表示该点为图案的一部分,将其读出、显示。而本次设计的LED 显示棒数据传输原理与LED 点阵屏相似。可以把LED 显示棒看成是LED点阵屏中的一列。为了使显示的图案清晰,在设计中使用了16 个高亮度LED http://bbs.dianyuan.com/tech/green>管将它们排成一列,整个屏在静止时也就相当于16 行×1 列。数据传输时同样使用行送数据、列扫描。在摆动过程中,应用人眼的视觉暂留原理,被点亮的列不会很快的消失,而是随着摆动的方向继续向前移动,只要移动的速度高于视觉暂留的最短时间显示内容就不会熄灭,这样,一幅图案也就可以这样被“摆动”出来了。

  根据系统分析,具体的硬件电路连如图2 所示。在具体制作硬件的时候,将16 个3mm 高亮度红色的LED排列成整齐的一列。

  

  在proteus 下仿真调试的时候,给定的电源VCC 为5V,实际使用时用3 节干电池串联4.5V 即可。

  2 系统软件设计

  2.1 软件设计思想

  在摇动LED棒的时候单片机必须单程传送数据,否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过滚珠开关的位置来使单片机实现单程传送数据给LED.如果滚珠开关位于右边,则进入外部中断1 并将一变量置1,在变量为1期间让单片机以一定的频率将数据传送给LED.如果滚珠开关位于左边,则进入外部中断0 并将变量置0.在这期间单片机不会传送数据给LED.在送数据时,数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤,之后再立刻熄灭LED 并开始重新判断滚珠开关的位置。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭