新闻中心

EEPW首页 > 光电显示 > 设计应用 > 基于单片机89C51和89C2051点阵LED图文显示

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

作者:时间:2009-12-09来源:网络收藏

的P0.0~P0.3口(D0~D3)通过一个通用逻辑阵列GAL16V8D和三态收发器74HC245输出用于行选通信号(OIA~OID),P3.0和P3.1经74HC245输出用于列选通信号,如图3所示。

图3 行选通信号产生原理图
行 驱动部分用两个74HC138译码,将行选通信号作为两个译码器地址输入,可以得到16行的行值信号。考虑到74HC138的驱动能力有限,故阳极 通过三极管TIP127与电源相连,可提供2A左右的电流,74HC138输出引脚仅需要提供几个毫安的灌入电流即可控制其通断。
列 输入驱动由八个8位串行输入,串行或并行输出三态移位寄存器74HC595实现。该芯片具有串行输入、并行输出两个独立的时钟信号。输入数据在串行移位时 钟SRCLK上升沿由串行输入端SER 输入到芯片内部串行移位寄存器中,同时, SQH端串行输出;在锁存时钟信号RCLK上升沿到来时,芯片将内部串行移位寄存器8位数据并行输出。正常工作时,应将复位端SRCLR与使能端RCLK 分别接高电平、低电平。输出信号直接与串入并出移位寄存器74HC595的锁存器输出端连接。列驱动电路原理图如图4所示。

图4 列驱动电路原理图
3 软件系统
程 序可以实现与计算机的通信,可非常方便地任意修改所要的汉字;并使屏可固定、平移地汉字。程序中将数据存储器分为三个区:显示缓冲区,数据存 储区和接收缓冲区[4]。通过串口接收PC机传来的数据(包括显示内容,显示方式和显示状态)暂时放在接收缓冲区,处理后放入数据存储区保存,然后 再根据显示方式从数据存储区中读出数据放入显示缓冲区用于显示。显示方式的实现取决于数据放入显示缓冲区的顺序,左移是从数据存储区取出一位数放入显示缓 冲区,上移是每次取出一行数据放到缓冲区,时间显示是先把实时时钟的数据放到显示缓冲区。显示时并不识别显示缓冲区的数据,只是依次从显示缓冲区提取数据 向显示屏发送并送入相应的锁存消隐和行值信号,完成扫描。程序功能框图如图5所示。

图5 程序功能框图
软 件系统采用模块化结构,包括主程序、显示子程序和串口中断服务程序。主程序为顺序结构,完成堆栈、中断、串口的初始化设置后,循环调用显示子程序,以及响 应串行接收或发送中断;显示子程序从显示缓冲区取出字模,输出行选通信号至P0口并通过一个通用逻辑阵列GAL16V8D输出,配合列扫描信号,进行动态 扫描显示;中断服务程序串口接收PC机发送的汉字机内码数据,实现与计算机实时通信。程序各部分的功能,由各个模块分别实现。程序模块有: 串口初始化模块、数据输入模块、汉字首地址计算模块、取字模块、显示模块和移动模块。
4 结束语
本 文的点阵显示系统以单片机为基础,加以外围电路,利用RS-232接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方式和速 度的显示。经实际应用验证,本条屏作为信息显示屏,工作稳定,字符清晰,字体美观,亮度适中,根据需要可选择多种显示字幕效果,并具有分布灵活、扩展方便 等优点。

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭