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

基于单片机89c51和89c2051点阵led图文显示
1 led点阵显示系统简介
随着图形点阵led显示模块在各行各业的逐步使用,使得人机界面变得越来越直观形象,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力。
本文所介绍的点阵led显示屏,显示汉字和各种常见字符等信息,可广泛应用于各种场所。具有结构简单、安装方便、字型美观、图案清析。采用高性能单片机控 制,性能稳定,可靠性高,具有掉电保护功能,可完全脱机运行,可以显示约2000个文字。经过一条rs-232串口线与电脑连接更换信息,操作简单,使用 方便。
2 led点阵显示系统的硬件设计
led点阵显示系统由计算机、rs-232通讯电路、控制电路和led点阵显示电路构成,结构框图如图1所示。
500)this.width=500 border=0>
图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]所示。
500)this.width=500 border=0>
图2 单片机控制电路原理框图
在显示功能中,有一种是显示年月日的。如果不与计算机时间同步,则显示实时时钟芯片ds12887的时间。我们还可以通过与计算机通信来获得计算机当前时间。当读取或写入时钟芯片时间数据时,单片机89c51通过ad0~ad7地址数据复用引脚来选通地址并读写数据。
2.2 显示驱动部分[3]
led点阵选用2×4模块,每4块排列成一个16×16的点阵,用于显示一个汉字。点阵每一行的所有led共阳极,每一列的所有led共阴极。系统由单片机控制。
单片机89c51的p0.0~p0.3口(d0~d3)通过一个通用逻辑阵列gal16v8d和三态收发器74hc245输出用于行选通信号(oia~oid),p3.0和p3.1经74hc245输出用于列选通信号,如图3所示。
500)this.width=500 border=0>
图3 行选通信号产生原理图
行驱动部分用两个74hc138译码,将行选通信号作为两个译码器地址输入,可以得到16行的行值信号。考虑到74hc138的驱动能力有限,故led阳极 通过三极管tip127与电源相连,可提供2a左右的电流,74hc138输出引脚仅需要提供几个毫安的灌入电流即可控制其通断。
列输入驱动由八个8位串行输入,串行或并行输出三态移位寄存器74hc595实现。该芯片具有串行输入、并行输出两个独立的时钟信号。输入数据在串行移位时 钟srclk上升沿由串行输入端ser 输入到芯片内部串行移位寄存器中,同时, sqh端串行输出;在锁存时钟信号rclk上升沿到来时,芯片将内部串行移位寄存器8位数据并行输出。正常工作时,应将复位端srclr与使能端rclk 分别接高电平、低电平。单片机输出信号直接与串入并出移位寄存器74hc595的锁存器输出端连接。列驱动电路原理图如图4所示。
500)this.width=500 border=0>
图4 列驱动电路原理图
3 软件系统
程序可以实现与计算机的通信,可非常方便地任意修改所要显示的汉字;并使显示屏可固定、平移地显示汉字。程序中将数据存储器分为三个区:显示缓冲区,数据存 储区和接收缓冲区[4]。单片机通过串口接收pc机传来的数据(包括显示内容,显示方式和显示状态)暂时放在接收缓冲区,处理后放入数据存储区保存,然后 再根据显示方式从数据存储区中读出数据放入显示缓冲区用于显示。显示方式的实现取决于数据放入显示缓冲区的顺序,左移是从数据存储区取出一位数放入显示缓 冲区,上移是每次取出一行数据放到缓冲区,时间显示是先把实时时钟的数据放到显示缓冲区。显示时并不识别显示缓冲区的数据,只是依次从显示缓冲区提取数据 向显示屏发送并送入相应的锁存消隐和行值信号,完成扫描。程序功能框图如图5所示。
500)this.width=500 border=0>
图5 程序功能框图
软件系统采用模块化结构,包括主程序、显示子程序和串口中断服务程序。主程序为顺序结构,完成堆栈、中断、串口的初始化设置后,循环调用显示子程序,以及响 应串行接收或发送中断;显示子程序从显示缓冲区取出字模,输出行选通信号至p0口并通过一个通用逻辑阵列gal16v8d输出,配合列扫描信号,进行动态 扫描显示;中断服务程序串口接收pc机发送的汉字机内码数据,实现与计算机实时通信。程序各部分的功能,由各个模块分别实现。程序模块有: 串口初始化模块、数据输入模块、汉字首地址计算模块、取字模块、显示模块和移动模块。
4 结束语
本文的点阵led显示系统以单片机89c51为基础,加以外围电路,利用rs-232接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方式和速 度的显示。经实际应用验证,本条屏作为信息显示屏,工作稳定,字符清晰,字体美观,亮度适中,根据需要可选择多种显示字幕效果,并具有分布灵活、扩展方便 等优点。

关于光伏产业的未来的发展介绍
预计全球前15大半导体厂商今年营收超3500亿美元
华邦电受惠于存储器,第二季营收可望季增逾1成并创18年来单季新高
中国电子学会软件定义推进委员会启动会暨学术论坛在北京举行
云米全屋互联网家电定义生活新模式
基于单片机89C51和89C2051点阵LED图文显示
我国学者发现二维结构无机半导体单晶的超常塑性
华为mate10上市时间确定,华为mate10十月发布,售价已稳4299起,华为p10降价让路,等新还是买旧
试验网规划和组建过程详解
怎样实现凌力尔特 PSM 寻址
基于现场可编程门阵列(fpga)技术fir数字滤波器的设计
苹果大规模进攻无线充电领域,将以超1亿美元收购PowerbyProxi
调制是做什么用的?5G支持的调制方式介绍
华星光电高世代模组项目顺利投产,该项目建设取得初步胜利
如何创建自定义监视器?
中国信通院发布了5G对中国经济短期2020—2025年的影响报告预测
直接接触触电的防护技术
吸尘器用无刷直流电机、鼓风机、齿轮模组
步入“新常态”时代,泰克TIF2019发布下一代示波器
赛微电子发布《2020年度向特定对象发行A股股票预案》