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

最新更新时间:2009-12-09来源: 中国科技信息关键字:89C51  89C2051  RS-232  点阵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共阴极。系统由单片机控制。

    单片机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接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方式和速 度的显示。经实际应用验证,本条屏作为信息显示屏,工作稳定,字符清晰,字体美观,亮度适中,根据需要可选择多种显示字幕效果,并具有分布灵活、扩展方便 等优点。

关键字:89C51  89C2051  RS-232  点阵LED  实时时钟 编辑:金海 引用地址:基于单片机89C51和89C2051点阵LED图文显示

上一篇:CR成像技术在弹道实验中的应用
下一篇:超声层析成像检测系统的研究与实现

推荐阅读最新更新时间:2023-10-12 20:16

11.8*8LED点阵
将LED发光二极管分别集成封装,一共有64个LED。采用动态扫描的方式,可以显示数字和简单汉字。 点亮对角线:循环发送每一行点亮对应的数据,再循环使低电平选中每一列。显示其他的和点亮对角线原理一致。 循环发送行点亮对应的数据,再循环使低电平选中每一列。 循环发送列点亮对应的数据,再循环使低电平点亮每一行。 74HC595串行输入并行输出 P00-P07分别是每一列,P00在最右边,P07在最左边。 74HC595控制输出段选D0-D7分别是每一行,D0在最下边,D7在最上边。(开发板所用为第一个原理图) 10脚控制主复位功能低电平有效,此处直接接VCC使使主复位功能失效。 11脚为移位寄存器时钟输入,控制移位,12
[单片机]
11.8*8<font color='red'>LED</font><font color='red'>点阵</font>
89C51单片机16位数据传送指令的执行过程
16位数据传送指令(1条) 这是89C51单片机唯一的一条16位立即数传递指令,其功能是将一个16位的立即数送入数据指针DPTR中去。其中高8位送入DPH,低8位送入DPL。 MOV DPTR,#data16;#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL 例如:MOV DPTR,#2345 则执行完程序后,DPL中的值为23,DPL中的值为45。
[单片机]
<font color='red'>89C51</font>单片机16位数据传送指令的执行过程
89C51引脚图及功能
89C51外部引脚图:(可以直接拷入ASM程序文件中,作注释使用,十分方便) ; ┏━┓┏━┓ ; P1.0 ┫1 ┗┛40┣ Vcc ; P1.1 ┫2 39┣ P0.0 ; P1.2 ┫3 38┣ P0.1 ; P1.3 ┫4 37┣ P0.2 ; P1.4 ┫5 36┣ P0.3 ; P1.5 ┫6 35┣ P0.4
[单片机]
<font color='red'>89C51</font>引脚图及功能
单片机8*8LED点阵纵向滚动显示我爱你的仿真与源码
分享一个8*8LED点阵屏纵向滚动并且显示三个字 我爱你 仿真原理图如下 单片机源程序如下: #include reg51.h unsigned char code image ={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xC3,0xE7,0xE7,0xE7,0xE7,0xE7,0xC3,0xFF, 0x99,0x00,0x00,0x00,0x81,0xC3,0xE7,0xFF, 0x99,0x99,0x99,0x99,0x99,0x81,0xC3,0xFF, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; //2
[单片机]
单片机8*8<font color='red'>LED</font><font color='red'>点阵</font>纵向滚动显示我爱你的仿真与源码
单片机实时时钟电路的原理及应用
1 引言 现在流行的串行时钟电路很多,如 DS1302、 DS1307、PCF8485等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。本文介绍的实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。 2 DS1302的结构及工作原理 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方
[单片机]
89c51按键选择计数模式通过数码管显示
程序开始运行,系统处于正计数状态。当按键第一次按下时,系统从正计数切换至倒计数;下次再被按下时,又从倒计数切换至正计数。每次都在正计数和倒计数之间轮流切换。用中断方式识别开关SW1是否被从上往下按。 设z=学号+20,正计数循环显示0,1,2,…,z-1,z;倒计数循环显示z,z-1,z-2,…,1,0;正计数与倒计数均采用十进制。每个数字停顿1秒钟,关于1秒钟的时间控制,必须用定时器/计数器加中断实现。 要求切换计数方式后,系统从当前值开始正计数或倒计数。 #include at89x51.h #define uchar unsigned char uchar code table ={0x3f,0x06,0x5b,0x4f
[单片机]
<font color='red'>89c51</font>按键选择计数模式通过数码管显示
实时时钟芯片DS1305启动数据采集系统
摘要:介绍串行时钟芯片DS1305的功能、结构及其利用DS1305设计的电源开关电路,可使数据采集系统平时处于关闭状态。定时开启时系统上电,进行数据采集;一次工作结束时关闭开关,系统断电。 关键词:DS1305 低功耗 数据采集 引言 对于许多便携式数据采集系统,需要长时间无人看管地工作,如在石油钻井下、输油管道等场所。一般需要间隔数小时进行一个采集,这样系统大部分时间处空闲状态。虽然现在低功耗单片机的睡眠状态提供了降低功耗的一种方法,但低功耗不等于没有功耗,系统长时间工作时不得不考虑功耗的问题。 为进一步节省功耗,我们在研制一数据采集系统时,利用实时时钟芯片DS1305设计一电源开关电路。利用该开关电路,可使系统在空头时
[应用]
USB RS-232转换卡设计
与RS 232总线的数据传输速率相比,USB的传输速率高达480 Mb/s,因此很多计算机的RS 232串行接口都被USB接口所替换,但是很多仪器仪表、控制终端、远程终端等设备的接口还是沿用RS 232。为解决两个接口之间的转换,设计并研制了USB-RS 232接口转换卡。从USB和RS 232通信协议出发,详细介绍USB-RS 232转换卡的设计原理,并以CH341T芯片为例,设计并制作了USB-RS 232转换卡。利用研制的USB-RS 232转换卡连接具有RS 232接口的温湿度传感器,在运行监控程序后,传感器运行稳定,能正确显示温湿度数据,且表明该转换卡可成功地实现RS 232接口与USB接口的转换。   1 USB-
[嵌入式]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved