基于STC89C58单片机LED点阵书写显示屏的解决方案

发布者:LovingLife2023最新更新时间:2012-10-30 来源: 21ic 关键字:STC89C58  LED点阵  书写显示屏 手机看文章 扫描二维码
随时随地手机看文章

0 引言

近年来,点阵LED显示屏利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,已成为众多显示媒体以及户外作业显示的电子工具,广泛地应用于车站、宾馆、金融、证券、邮电、体育等广告发布或交通运输等行业。目前LED显示屏的设计已经有多种方法可以实现,本设计是基于STC89C58单片机利用自制的光笔中红外光电三极管检测光笔触及位置处红色LED灯的点亮,计算出光笔位置的行列坐标,并根据按键设置的不同工作模式控制LED显示,从而实现点亮、划亮、反显、清屏、笔画拖动、轮流显示等功能。

1 系统设计方案

用双色LED点阵(红色和绿色)模块组合成32×32的LED点阵屏。其中红色LED作微亮扫描检测用,绿色LED作显示用,用红外光电三极管自制光笔。在检测时依次点亮红色LED,当点亮到某个LED时,如果此时光笔放在该LED时,这时红外光电三极管的阻值会发生变化,通过相应的检测电路可以得出一个高低电平的变化,单片机检测到信号变化时就可以判断光笔的当前位置。

该方案简单易行,对光笔位置判断的灵敏度较高,抗外界干扰能力强。采用双色点阵和红外光电三极管能够有效地减少环境可见光和显示LED(绿色)所发的光线对光笔中光电三极管的干扰。

2 系统结构及单元模块设计

2.1 系统总体框图

系统主要由微处理器STC89C58,32×32双色LED点阵显示、光笔及检测电路、外界光照强度检测电路、按键输入电路、液晶显示模块等几个部分组成。系统硬件结构框图如图1所示。

 

a.jpg

 

单片机STC89C58片内有1 KB的片外RAM,能够满足保存四屏显示信息要求,该单片机性价比很高。系统原理图如图2所示。

 

b.jpg

 

2.2 光笔及检测电路

用红外光电三极管自制光笔,光笔检测电路如图3所示。图中Q2是用红外光电三极管,用来完成对32×32点阵红色LED灯点亮或熄灭的检测;R6,RP1用于对Q2进行限流,另外还可以调节RP1来提高或减小输出的电压值;R7,R8是用于给U3A(比较器)的同相端提供基准电压值,通过它跟采集信息输出来的电压值进行比较(U2>U3,U1=Umin),R12是U3A的输出上拉电阻。工作原理如下:当红光照到红外光电三极管上时,红外光电三极管的电阻变小,其射极电压升高,此时2脚电压比3脚电压高,比较器1端输出为低电平。当电容C11充电一段时间之后,比较器2脚电压比3脚电压低,比较器1端输出为高电平。由此,当检测到光信号时,该电路将产生一个脉冲信号。由于在电路中加了耦合电容,可有效地防止环境对光笔的影响。

 

c.jpg[page]

在本系统中,光笔是一个非常重要的一个环节,为了更好的稳定工作,必须添加适当的抗干扰措施。在信号传输方面采用屏蔽软同轴铜线,在红外光电三极管外围套加黑色热缩管,红外光电三极管比单个LED灯的直径小,以确保少受外界红外线的干扰。

2.3 LED双色点阵显示与驱动电路

LED双色(红、绿)点阵的型号有很多,其中最为常用的有4×4,8×8,16×16式模块,本设计需要一个32×32的双色显示,其显示亮度、体积由设计者自行定义。考虑到采购的因素,选择由16块8×8双色点阵模块组成32×32点阵显示屏,利用由74HC154和74HC595芯片来驱动显示,由串行口工作在模式0(速度快)将显示信息快速送入74HC595。

LED是一个非线性元器件,当它两端的电压达到一定的值后,通过它本身的电流会急剧上升。考虑32×32点阵式由1 024个发光二极管组成,当它们同时点亮时的电流很大,必须考虑电源供电能力。一般LED的电流值为5~20 mA,取最大值20 mA,同时点亮两行,有:I=20×64= 1 280mA。

2.4 外界光照检测电路

外界光照检测电路如图4所示。电路采用光敏电阻RP串联一个固定电阻R9,将光照变化转换为电压变化,此电压信号通过芯片AD833进行模数转换(A/D)后,由5脚送入单片机处理,以控制亮度的调节。

 

d.jpg

 

根据分压原理,有:

 

e.jpg

 

可见选择不同的R9的阻值可改变Vin的大小,使输入信号在合适的范围之内。光敏电阻RP随光照变化的阻值变化为3~4 kΩ,由上式可计算出R9为3~4 kΩ,取R9=4 kΩ。

2.5 超时低功耗设计

超时低功耗设计通过软件实现,利用按键设定时间常数,当在设定时间内光笔未接触显示屏或按键未按下时关闭所有显示,使系统进入休眠状态,减少电能消耗,当有按键按下时系统恢复运行。

3 系统软件设计

系统的软件采用C语言编程,软件在KeilμV3编程环境中编写和调试。为了编写和调试的方便,程序使用模块化设计,根据按键、光笔扫描、LED点阵显示、LCD液晶显示、亮度调节等功能分别设计程序,大大简化了程序的设计和调试工作,节省设计周期。

 

f.jpg

 

系统主程序流程图如图5所示。主程序开始对内部功能寄存器、端口、液晶显示模块等初始化,然后在主循环中进行光笔位置扫描、LED显示缓冲区数据更新、LED点阵输出、液晶模块输出、可见光亮度检测、低功耗判断等功能。在定时器中断子程序中进行按键扫描,完成显示模式的识别,相应的显示模式信息和光标坐标在液晶模块上显示。

[page]

4 系统测试

本设计的测试要求与结果见表1。

 

g.jpg

 

通过测试结果表明,系统能够实现该设计要求的点亮、划亮、反显、清屏、笔画拖动、轮流显示、显示亮度调节、休眠模式等主要功能。

5 结论

系统主要由微处理器STC89C58、32×32双色LED点阵显示、光笔及检测电路、外界光照强度检测电路、按键输入电路、液晶显示模块等几个部分组成。系统能够实现要求的点亮、划亮、反显、清屏、笔画拖动、轮流显示、显示亮度调节、休眠模式等主要功能。在系统的设计过程中,利用软件和硬件相结合,充分发挥软件编程的灵活性,并最大限度挖掘单片机的硬件资源。系统性价比高,运行稳定,能耗低,显示效果好。

关键字:STC89C58  LED点阵  书写显示屏 引用地址:基于STC89C58单片机LED点阵书写显示屏的解决方案

上一篇:基于51单片机的鞋套机自动测试系统
下一篇:兼容51指令的8位MCU IPCORE设计

推荐阅读最新更新时间:2024-03-16 13:11

51单片机开发系列四_LED点阵扫描显示
LED点阵屏发光亮度强,指示效果好,可以制作运动的发光图文,更容易吸引人的注意力,信息量大,随时更新,有着非常好的广告和告示效果。笔者此处就LED点阵屏动态扫描显示作一个简单的介绍。 1. LED点阵屏显示原理概述 图1-1为一种8x8的LED点阵单色行共阳模块的内部等效电路图,对于红光LED其工作正向电压约为1.8v,其持续工作的正向电流一般10ma左右,峰值电流可以更大。如下图,当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮,当某一行线为低电平时,无论列线如何,对应的这一行的点全部为暗。LED点阵屏显示就是通过一定的频率进行逐行扫描,数据端不断输入数据显示,只要扫描频率足够高,由于人眼的视觉残留效应,就可以看到完
[单片机]
51单片机开发系列四_<font color='red'>LED点阵</font>扫描显示
解析LED点阵屏设计中蓝牙技术的应用案例
本文设计一种内容更新便捷、可扩展、低价格的点阵LED 文字显示屏。降低成本的途径是 ①用几乎人人都有的手机的蓝牙数据传输功能进行LED 显示内容的更新,免去专业上位机软件和控制卡的成本,操作也更简单; ②单次显示内容在5 ~ 30 个汉字或英文字母,因为显示内容较少,就可实现扩展电路的简单化。 1 系统设计方案 1. 1 系统组成 系统由带蓝牙功能的智能手机和LED 显示屏组成。其中,LED 显示屏由单片机、LED 点阵模块、字库芯片、蓝牙接收模块、5V 开关电源和3.3V 稳压电路组成,如图1 所示。系统工作过程是:用户通过智能手机的记事本编辑"数据",并经无线蓝牙发送到显示屏上的蓝牙接收模块。 主控单片机读取蓝牙接
[电源管理]
解析<font color='red'>LED点阵</font>屏设计中蓝牙技术的应用案例
基于PSoC的精简LED点阵系统设计方案
  传统采用51 单片机控制LED点阵的显示屏功能相对比较单一若要使其实现功能的多样化,则往往需要花费大量的时间和精力设计复杂的外围电路,故其系统设计中使软件、硬件的设计更为复杂,增加了开发难度;增大了显示屏的体积和重量,不易于运输和安装;更重要的是产品生产成本也较为高昂。与传统LED显示屏相比,基于PSoC 技术所开发的多功能精简尺寸型LED点阵显示屏是利用片上系统的技术优点将各个不同功能的模块集成在同一芯片上,由于其仅仅通过添加和减少芯片上的模块就可以实现相应功能的增减,这就在很大程度上弥补了传统LED显示屏的不足,缩短了开发周期,使产品更容易升级更新。   1 系统工作原理   1.1 PSoC 系列单片机介绍   
[单片机]
基于PSoC的精简<font color='red'>LED点阵</font>系统设计方案
LED点阵的纵向移动
点阵的动画显示,说到底就是对多张图片分别进行取模,使用程序算法巧妙的切换图片,多张图片组合起来就成了一段动画了,我们所看到的动画片、游戏等等,它们的基本原理也都是这样的。 上一节我们学了如何在点阵上画一个❤形,有时候我们希望这些显示是动起来的,而不是静止的。对于点阵本身已经没有多少的知识点可以介绍了,主要就是编程算法来解决问题了。比如我们现在要让点阵显示一个 I ❤ U 的动画,首先我们要把这个图形用取模软件画出来看一下,如图 7-10 所示。 图 7-10 上下移动横向取模 这张图片共有 40 行,每 8 行组成一张点阵图片,并且每向上移动一行就出现了一张新图片,一共组成了 32 张图片。 用一个变量 index 来代表每张
[单片机]
<font color='red'>LED点阵</font>的纵向移动
22-基于单片机的LED点阵滚动显示系统
具体实现功能 具体功能: (1)能根据汉字和英文的内码不同显示不同的汉字和英文字符,初始显示“电子工程师成长日记”; (2)可以多样化显示:从左到右,从右到左,从下到上,从上到下; (3)可以键盘控制显示花样; (4)可以利用“点阵LED字模生成工具”生成自己想要显示的字符。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4
[单片机]
22-基于单片机的<font color='red'>LED点阵</font>滚动显示系统
【自学51单片机】7--LED点阵学习
1、LED点阵介绍 LED点阵由多个LED小灯构成,以8*8LED点阵介绍,实物图和内部原理图如下。 图7-2左侧8个引脚为内部LED小灯阳极,上侧8个引脚为阴极。 2、点亮LED点阵 2.1 原理 点亮LED点阵与点亮LED小灯原理相似,根据LED点阵电路图分析即可,详细见第三章。 2.2 点亮全部LED点阵程序 利用定时器中断和数码管动态显示原理,就不进行说明,详细见第六章 3、取模软件简单介绍 取模软件可以将LED点阵图形的数据转换为程序中的数据。取模软件中黑色为LED熄灭,值为1,白色为LED点亮,值为0。如下图绘制了一个心形。 下面来说明取模软件参数的选取。 取模方式:根据LED点阵结构原理图
[单片机]
【自学51单片机】7--<font color='red'>LED点阵</font>学习
LED点阵显示程序(带汉字移动)
#include AT89x51.H unsigned int zimo,xx=0;    //zimo是字模计数器,xx为分屏显示的时候的字数。 unsigned char yid,h;        //yid为移动计数器,h为行段计数器 unsigned char code hanzi ;            //汉字字模 unsigned char BUFF ,BUFF2 ;    //左移显示的缓存 void qing(void);        void xianshi(void); void fen(void);        void zuo(void); void in_data(void);          
[电源管理]
单片机LED点阵的纵向移动
点阵的动画显示,说到底就是对多张图片分别进行取模,使用程序算法巧妙的切换图片,多张图片组合起来就成了一段动画了,我们所看到的动画片、游戏等等,它们的基本原理也都是这样的。 上一节我们学了如何在点阵上画一个❤形,有时候我们希望这些显示是动起来的,而不是静止的。对于点阵本身已经没有多少的知识点可以介绍了,主要就是编程算法来解决问题了。比如我们现在要让点阵显示一个 I ❤ U 的动画,首先我们要把这个图形用取模软件画出来看一下,如图7-10所示。 图7-10 上下移动横向取模 这张图片共有40行,每8行组成一张点阵图片,并且每向上移动一行就出现了一张新图片,一共组成了32张图片。 用一个变量 index 来代表每张图片的起始位置,每
[单片机]
单片机<font color='red'>LED点阵</font>的纵向移动
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved