单片机LED汉字点阵显示的设计详解

发布者:Susan苏最新更新时间:2012-10-26 来源: 21ic 关键字:单片机  LED  汉字点阵显示 手机看文章 扫描二维码
随时随地手机看文章

LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。LED显示屏发展较快,本文讲述了基于AT89C51单片机16×16LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。

1 硬件电路组成及工作原理

本产品采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16×16LED点阵5部分组成,如图1所示。其中,AT89C51是一种带4kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,工业标准的MCS一5l指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写/擦循环,数据保留时间为10年。他是一种高效微控制器,为很多嵌人式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。时钟电路由AT89C5l的18,19脚的时钟端(XTAI l及XTAL2)以及12 MHz晶振X、电容C2、C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R,R2,电容C,开关K组成,分别接至AT89C51的RST复位输入端。LED点阵显示屏采用16×16共256个象素的点阵,可通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。

我们把行列总线接在单片机的I/0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入89S5 1单片机,则需要使用32条I/0口,这样会造成I/0口资源的耗尽,系统也再无扩充的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4—16线译码器74HCl54来选择控制,这样一来列选控制只使用了单片机的4个I/O口,节约了很多I/O口资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。汉字扫描显示的基本过程是这样的:通电后由于电阻R,电容c1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C、C3、X以及单片机内部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。再改变取表地址实现汉字的滚动显示。

1.jpg

2 汉字的点阵显示原理及字库代码获取方法

我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。如查用8位的AT89C51单片机控制,由于单片机的总线由8位,一个字需要拆分为2个部分,如图2所示

2.jpg

为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00~P07口,方向为P00到P07,显示汉字“我”时,为全灭,第一列的下半部分也为全灭。第二列的上半部分P06、点亮,由上往下排列,为:PO.0灭,PO.1灭,P0.2灭PO.3灭,PO.4灭,P0.5灭,P0.6亮,P0.7灭。即二进制00000010,转换为十六进制为02h[page]

上半部第二列完成后,继续扫描下半部的第二列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列P23亮,即为00001000,十六进制则为08h。依照这个方法转向第三列、第四列,……,直至第十六列的扫描,一共扫描32个8位,可以得出汉字“我”的扫描代码为:

3.jpg

由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图3所示。

4.jpg

可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64—1 024 Hz,周期小于1 ms即可。行扫描和列扫描方法的扫描频率必须大于16×8一128 Hz,周期小于7.8 ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。

3 在Keil环境中程序设计与调试

软件程序主要由开始、初始化、主程序、字库组成。其中主程序的流程图如图4所示。下面的程序能够用来实现滚动显示“我爱你一一祖国”。汉字的显示。程序清单如下:

 

在keil软件中完成程序编写、调试和编译之后,生成能让单片机运行的Hex文件,如图5所示。[page]

 

4 元器件选择

本设计所需元器件如表1所示。

 

5 运用Proteus软件仿真LED汉字显示屏

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机外围电路或没有单片机参与的其它电路的工作情况,也能仿真单片机CPU的工作情况。因此在仿真和程序调试时,是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲Proteus仿真,基本接近与工程应用。本次基于AT89C51单片机16×16LED汉字滚动显示屏的设计已运用Proteus软件仿真实现,如图6所示。

 

虽然本设计只使用了一块16×16LED点阵,电路简单,但是已经包涵了LED汉字滚动显示屏的电路基本原理、基本程序和Proteus软件仿真,只要扩展单片机的10接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。

关键字:单片机  LED  汉字点阵显示 引用地址:单片机LED汉字点阵显示的设计详解

上一篇:远程红外安防监控管理系统总体设计方案
下一篇:单片机CF卡接口设计

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

5亿现金能撬动多少个LED项目
在购入广东健隆达的LED资产“壮胆”后,2009年德豪润达开始在国内以LED的名义四处跑马圈地,先后宣称在安徽芜湖、江苏扬州、辽宁大连等地准备上马LED项目。    芜湖项目等资金    今年3月,德豪润达董事长王冬雷通过某媒体公开表示,总投资达60亿元的芜湖德豪润达LED产业化项目将要上马,德豪润达将在未来18个月内建立起一个覆盖LED照明产业链包括LED芯片、封装、照明三大项目的制造及销售大型LED光电产业基地,建成达产后年均销售收入将达到32亿元。    然而,现实情况并非想象中那么乐观。    2009年10月14日,德豪润达公布非公开发行股票预案,募集资金全部用于芜湖德豪润达光电科技有限公司LED产业化项
[电源管理]
COP8CDR9微控制器在多路数据采集中的应用
    摘要: 前端数据采集是工业生产过程中获取生产信息的必要手段。本文结合美国国家半导体的芯片COP8CDR9的A/D转换特点和应用实际,给出由COP8CDR9微控制器构成的多路数据采集系统及其在列车实时监控系统中的应用     关键词: 微控制器 多路数据采集 A/D转换 CPO8CDR9 前端数据采集能够及时获取被控对象和生产过程的有效信息,在某些实时性要求高的场合尤为重要。工业生产过程中,为了清晰地反映出生产过程的详细信息,往往需要获得多个参量的动态数据,这就有必要对被控对象和生产过程进行多路数据采集。COP8CDR9系列微控制器是美国国家半导体公司(National Semiconduto
[应用]
【51单片机快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角
普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 相关介绍 摘自《ATK-MPU6050六轴传感器模块用户手册_V1.0》 MPU6050 自带了数字运动处理器,即 DMP,并且,InvenSense 提供了一个 MPU6050 的嵌入式运动驱动库,结合 MPU6050 的 DMP,可以将我们的原始数据,直接转换成四元数输出,而得到四元数之后,就可以很方便的计算出欧拉角,从而得到 yaw、roll 和 pitch。 使用内置的 DMP,大大简化了四轴
[单片机]
【51<font color='red'>单片机</font>快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角
设定LED从红到绿的色调
  图1中的电路可以用红色和绿色 LED ,创造出32°色调的光。一个恒定电流被分为两个部分。一部分流经一只红色LED,另一部分流经一只绿色LED。可以使通过红色LED的电流从0〜%变化,从而同时也改变了作为互补的绿色LED电流(两者和为100%)。当出现这种情况时,眼睛接收到的是红色与绿色相混合的任何色调光。粗略地说,从红色到绿色经过了橙、琥珀和黄色。可以设定在红色与绿色之间32种色调中的任意一个,如橙、琥珀和黄色。   IC3是Analog Devices公司的AD5228阻性DAC,有32选1的分辨率,从而确定了电路的分辨率。在此应用中,阻性DAC的功能是一个数字电位器。通过将其上拉和下拉控制端短时间接地,可以手动设定其
[电源管理]
设定<font color='red'>LED</font>从红到绿的色调
东芝开发新CMOS传感器 可识别LED信号灯
     东芝面向车载摄像头开发出了配备LED闪烁抑制功能的200万像素BSI(背面照射)型CMOS图像传感器“CSA02M00PB”。将从2016年3月开始样品供货。预定在2015年10月5日起于法国波尔多举行的“第22届ITS世界会议2015”上展示该产品。          通过配备东芝自主方式的LED闪烁抑制电路,成功抑制了LED光源的闪烁现象。以往的车载CMOS图像传感器 存在的问题是,拍摄LED式信号灯和标识时,会输出闪烁的影像、无法准确识别等。而新产品实现了高速、准确的传感。在200万像素的图像传感器中,配备 LED闪烁抑制电路的产品尚属业界首款。     新产品采用东芝自主开发的新一代HDR(高动态范围
[汽车电子]
单片机在红外测温上的开发应用
1 引 言 在红外测温中,智能红外辐射测温仪是应用红外技术和微电子技术研制出的一种新型温度测量仪器。它根据被测物体的红外辐射能量确定其温度,为非接触测温方式。具有温度分辨率高、响应速度快、不扰动被测目标温度分布场、测量精度高和稳定性好等优点;同时也有测量值受被测物体发射率、反射热源、气氛干扰影响的弱点。特别是温度传感器远离被测对象,在低温区(0~500℃)热辐射信号非常微弱,因此这种测温技术难度较大。本文介绍运用MCS-51单片机开发设计红外低温测温仪中“单片机检测系统”的全过程。 2 总体设计方案 2.1 基本测温原理 一切高于绝对零度的物体都能辐射红外线,描述黑体辐射光谱分布的普朗克公式和黑体全辐出度与温度关系
[单片机]
<font color='red'>单片机</font>在红外测温上的开发应用
STM32控制4个LED灯循环点亮源程序
电路原理图如下: 单片机源程序如下: #include led.h void Delay(unsigned int count); //延时函数 //int main(void) //{ // // LED_Init(); //初始化与LED连接的硬件接口 // while(1) // { // u32 LED=0x00000001;//设置初始控制码 // //逐一点亮 // for(u8 i=0;i 4;i++) // { // GPIO
[单片机]
STM32控制4个<font color='red'>LED</font>灯循环点亮源程序
STC89C52MCU--软件实现系统复位
单片机系统复位(热启动之一) STC单片机ISP/IAP控制寄存器在特殊的功能寄存器中的地址为E7H,不能为寻址,该寄存器用来管理和 ISP/IAP 相关功能的设定以及是否软件复位等。单片机复位时,该寄存器全部清零。 ISP/IAP寄存器 位序号 D7 D6 D5 D4 D3 D2 D1 D0 位符号 ISPEN SWBS SWRST WT2 WT1 WT0 ISPEN -- ISP/IAP 功能允许位。0禁止允许ISP/iAP变成改变Flash SWBS -- 软件选择从用用程序区启动,还是ISP程序区启动。要与SWRST直接配合才可以确定。 SWRSt -- 1 产生软件复位,硬件自动清零。0不操作。 WT2
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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