基于单片机89C51和89C2051点阵LED图文显示

发布者:sigma28最新更新时间:2011-12-07 关键字:89C2051  89C51  点阵LED图文显示 手机看文章 扫描二维码
随时随地手机看文章

1 LED点阵显示系统简介
随着图形点阵LED显示模块在各行各业的逐步使用,使得人机界面变得越来越直观形象,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力。
本 文所介绍的点阵LED显示屏,显示汉字和各种常见字符等信息,可广泛应用于各种场所。具有结构简单、安装方便、字型美观、图案清析。采用高性能单片机控 制,性能稳定,可靠性高,具有掉电保护功能,可完全脱机运行,可以显示约2000个文字。经过一条RS-232串口线与电脑连接更换信息,操作简单,使用 方便。
2 LED点阵显示系统的硬件设计
LED点阵显示系统由计算机、RS-232通讯电路、控制电路和LED点阵显示电路构成,结构框图如图1所示。
 
图1 LED点阵显示电路构成结构框图
上 位计算机可选择工业控制计算机或者普通个人计算机。单块条屏由控制电路和驱动显示电路组成。控制电路负责与上位机通信,可根据通信距离的远近选用RS- 232或RS-485标准总线接口。本电路采用RS-232接口的3脚(TXD)和5脚(GND),计算机向控制电路发送汉字或字符内码;控制电路存储该 内码并在字库中对应汉字或字符点阵,向驱动电路发送行列选通信号;显示驱动电路负责根据行列选通信号,向指定LED发光器件提供驱动电流。
2.1 显示控制电路
控制部分以单片机89C51为核心,辅以外围电路,完成串行通信、外部存储器读取、行列选通信号输出等任务。
为 使计算机与控制电路能够随时通信,需要单片机89C51与89C2051与其它器件之间可以通信。当89C2051接收到计算机发送的数据信号时,通过 P3.2脚向89C51发送中断信号,此时该脚作为I/O口。而后89C51响应该中断,并通过P1口接收来自89C2051P1口的数据。
在PC 机内部,汉字是以机内码的形式存储的,每个汉字占两个字节。单片机89C51将采集来的数据放到串行E2PROM(24LS32)中,P3.3接SDA和 P3.4接SCL。所以在没有与计算机通信的时候也可以读取串行E2PROM(24LS32)中存储的汉字或字符内码并最终显示。89C51的串口接收由 E2PROM(24LS32)存储的汉字内码,并将其换算成汉字首地址,从4Mbit的EPROM(M27C4001、并行口)的字库中提取相应的汉字 (一组32字节的数据),对应于显示屏排列好存贮到片外RAM(CY6264,64Kbit)中,重复上述过程将所有的汉字都提取出并排列存储好,最后由 89C51将RAM中的数据经P1口和P3口输出给显示驱动电路。
汉 字库的制备与普通程序存储器的烧录并无区别。将汉字库文件以二进制形式打开,通过编程器烧录到M27C4001中即可[1]。M27C4001的19位地 址和CY6264的13位地址信号分别由P0口(经D锁存器74HC573输出作为地址线)、P2口、P1口(P1.5~P1.7复用)产生 。串行E2PROM(24LS32)、EPROM(M27C4001)、RAM(CY6264)与单片机的接口如图2[2]所示。   
 
图2 单片机控制电路原理框图
在显示功能中,有一种是显示年月日的。如果不与计算机时间同步,则显示实时时钟芯片DS12887的时间。我们还可以通过与计算机通信来获得计算机当前时间。当读取或写入时钟芯片时间数据时,单片机89C51通过AD0~AD7地址数据复用引脚来选通地址并读写数据。
2.2 显示驱动部分[3]
LED点阵选用2×4模块,每4块排列成一个16×16的点阵,用于显示一个汉字。点阵每一行的所有LED共阳极,每一列的所有LED共阴极。系统由单片机控制。 [page]

单片机89C51的P0.0~P0.3口(D0~D3)通过一个通用逻辑阵列GAL16V8D和三态收发器74HC245输出用于行选通信号(OIA~OID),P3.0和P3.1经74HC245输出用于列选通信号,如图3所示。
 
图3 行选通信号产生原理图
行 驱动部分用两个74HC138译码,将行选通信号作为两个译码器地址输入,可以得到16行的行值信号。考虑到74HC138的驱动能力有限,故LED阳极 通过三极管TIP127与电源相连,可提供2A左右的电流,74HC138输出引脚仅需要提供几个毫安的灌入电流即可控制其通断。
列 输入驱动由八个8位串行输入,串行或并行输出三态移位寄存器74HC595实现。该芯片具有串行输入、并行输出两个独立的时钟信号。输入数据在串行移位时 钟SRCLK上升沿由串行输入端SER 输入到芯片内部串行移位寄存器中,同时, SQH端串行输出;在锁存时钟信号RCLK上升沿到来时,芯片将内部串行移位寄存器8位数据并行输出。正常工作时,应将复位端SRCLR与使能端RCLK 分别接高电平、低电平。单片机输出信号直接与串入并出移位寄存器74HC595的锁存器输出端连接。列驱动电路原理图如图4所示。   
 
图4  列驱动电路原理图
3 软件系统
程 序可以实现与计算机的通信,可非常方便地任意修改所要显示的汉字;并使显示屏可固定、平移地显示汉字。程序中将数据存储器分为三个区:显示缓冲区,数据存 储区和接收缓冲区[4]。单片机通过串口接收PC机传来的数据(包括显示内容,显示方式和显示状态)暂时放在接收缓冲区,处理后放入数据存储区保存,然后 再根据显示方式从数据存储区中读出数据放入显示缓冲区用于显示。显示方式的实现取决于数据放入显示缓冲区的顺序,左移是从数据存储区取出一位数放入显示缓 冲区,上移是每次取出一行数据放到缓冲区,时间显示是先把实时时钟的数据放到显示缓冲区。显示时并不识别显示缓冲区的数据,只是依次从显示缓冲区提取数据 向显示屏发送并送入相应的锁存消隐和行值信号,完成扫描。程序功能框图如图5所示。
 
图5  程序功能框图
软 件系统采用模块化结构,包括主程序、显示子程序和串口中断服务程序。主程序为顺序结构,完成堆栈、中断、串口的初始化设置后,循环调用显示子程序,以及响 应串行接收或发送中断;显示子程序从显示缓冲区取出字模,输出行选通信号至P0口并通过一个通用逻辑阵列GAL16V8D输出,配合列扫描信号,进行动态 扫描显示;中断服务程序串口接收PC机发送的汉字机内码数据,实现与计算机实时通信。程序各部分的功能,由各个模块分别实现。程序模块有: 串口初始化模块、数据输入模块、汉字首地址计算模块、取字模块、显示模块和移动模块。
4 结束语
本 文的点阵LED显示系统以单片机89C51为基础,加以外围电路,利用RS-232接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方式和速 度的显示。经实际应用验证,本条屏作为信息显示屏,工作稳定,字符清晰,字体美观,亮度适中,根据需要可选择多种显示字幕效果,并具有分布灵活、扩展方便 等优点。

 

关键字:89C2051  89C51  点阵LED图文显示 引用地址:基于单片机89C51和89C2051点阵LED图文显示

上一篇:基于单片机的智能仪器前面板的设计实现
下一篇:基于51单片机实现短距离无线通信

推荐阅读最新更新时间:2024-03-16 12:48

89c51单片机32个心形流水灯
#include reg52.h #include intrins.h //库函数 #define uint unsigned int #define uchar unsigned char//宏定义 void delay(uint xms)//延时函数 { uint i,j; for(i=xms;i 0;i--) for(j=110;j 0;j--); } void zys(uint t)//左右闪烁 { while(t--) { P3=P2=0x00; delay(500); P3=P2=0xff; P1=P0=0x00; delay(500);
[单片机]
<font color='red'>89c51</font>单片机32个心形流水灯
基于51单片机的点阵+音乐=祝你生日快乐
//----------------------------------------------------- // 12*12点阵+音乐产生 // MCU:89C51 晶振:12M //编写日期:2010。12。25 //编写人:李春起 #include REG51.H #define uchar unsigned char #define uint unsigned int uint a=0,a1=0,a2=0; uint miusfla,miust,mius=64536; uint disfla1,sta=0; char flag=0,mdflag=0; sbit k1=P3^2; sbit k2=P3^3; sbit Y
[单片机]
89C2051实现的电子钟
  一、电路原理   本电路采用89C2051单片机设计硬件电路如图1所示。AT89C2051具有2k字节闪速可编程可擦除只读存储器(FLASH EEPROM)和128bytes的随机存取数据存储器(RAM),可重复擦写10000次,数据保存时间10年,工作电压范围:2.7V~6V,工作频率:0~24MHz,15根可编程I/0引线,2个16位定时器/计数器,一个5向量两级中断结构,—个全双工串行口,一个精密模拟比较器,两级程序加密,输出口可直接驱动LED显示,低功耗的闲置和调电保护工作方式,以及片内振荡器和时钟电路。本电路的设计,充分利用了单片机的硬件资源,结构简单。   89C2051单片机端口设置:Pl口分别接数码管的段码
[单片机]
<font color='red'>89C2051</font>实现的电子钟
RS485总线通信系统的可靠性措施
  1 问题的提出   在工业控制及测量领域较为常用的网络之一就是物理层采用RS-485通信接口所组成的工控设备网络。这种通信接口可以十分方便地将许多设备组成一个控制网络。从目前解决单片机之间中长距离通信的诸多方案分析来看,RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。   图1RS485通信接口原理图   2 硬件电路设计中需注意的问题   2.1 电路基本
[单片机]
RS485总线通信系统的可靠性措施
基于单片机的数字人体心率检测仪
0 引言 目前检测心率的仪器虽然很多,但是能实现精确测量、数据上传PC机并且具有声光报警等多种功能的便携式全数字心率测量装置很少。本文介绍的数字人体心率检测仪可以在人体的手、腕、臂等部位均能准确测量出心跳次数,同时还具有掉电存储、测量数据上传PC机及声光报警等多项功能。 1 系统组成及工作原理 系统组成如图1所示,本设计以单片机为主控信号,外辅少量硬件电路,完成数据处理、记忆、显示、通信等功能。 首先,在系统开机时通过键盘设定系统的工作方式,然后,将压电陶瓷片检测到人体心跳信号经过放大、滤波及整形处理后输入给单片机,单片机对测量的数据进行处理,送显示电路显示,同时通过通信电路将测量数
[单片机]
基于单片机的数字人体心率检测仪
变压器温度智能监控仪电路模块设计
89C51单片机是ATMET公司的8位Flash单片机,最大特点就是在片内含有4KB可重复编程的Flash存储器、128×8B内部RAM和2个16位定时器/计数器,在开发过程中易进行程序的修改且与MCS-51兼容。对于LED控制驱动器,选用PS7219,其接口采用同步串行外设接口(SPI),可同时驱动8位数码管(使用其中的5位),因PS7219内部具有15×8RAM功能控制寄存器,可方便寻址,对每位数字可单独控制刷新,显示亮度可数控,每位具有闪烁使能控制及全亮功能测试,这样可简化硬件电路的设计,节省CPU的口线和减少占有CPU的时间。因为工作状态设置、参数设置等按键采用复合式键盘的方式,因而按键较少,键盘设计为独立式按键接口,通过
[单片机]
变压器温度智能监控仪电路模块设计
小型无线射频识别系统设计
  当今各种智能化控制系统离不开数据信息的传输。其中,无线数据传输是区别于传统有线传输的新型传输方式,系统不需要传输线缆且成本低廉。为单片机匹配相应的无线通信接口电路,即可实现单片机之间或单片机与微机之间的无线数据传输。目前常用的无线通信接口电路,是以无线收发芯片为核心的电路。当数据传输时,在软件设计中采取必要的抗干扰措施和识别措施,可以有效地避免干扰,达到满意的通信效果。文中以89c2051单片机为基础,进行无线通信以识别非接触式无线识别装置,其应用可以嵌入到电业管理或燃气收费等系统中,也可作为一个独立读卡器对IC卡进行操作,配合不同软件可以应用于不同行业。   1 系统的工作原理   本设计以单片机作为阅读器和应答器的核心
[单片机]
小型无线射频识别系统设计
单片机多机并行通讯的一种方法
1 简介   本文介绍的单片机多机并行通讯系统,使用89C51作为主机,多片89C2051作为从机。(89C2051为20脚300MIL封装,带有2K FLASH E2PROM的单片机,除了少了两个并口外,具备MCS-51系列单片机所有功能。因为其体积小,功能强,必将在单片机应用领域内广泛使用)。这种并行通讯方法适用于在多站点,多层次的检测和控制系统中充当通信控制器的角色;也适合于用作单片机串行口扩充电路。         图1 芯片的逻辑图及四种工作状态           图2 单片机并行通信原理框图   2 三态总线缓冲寄存器74HC646   在单片机构成的多机并行通讯系统中,总线上的信息交
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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