基于P89V51RD2单片机LED点阵显示屏的实现
扫描二维码
随时随地手机看文章
摘要:为了LED点阵显示屏显示的信息可以方便更新,提出了一种基于P89V51RD2单片机LED显示屏的的设计方案,并完成了系统的软硬件设计。该系统的硬件部分主要有单片机、移位寄存器、译码器以及数据存储器等部分组成;软件有两部分:上位机部分,用VB编程来实现汉字字模的提取;下位机部分,由单片机控制移位寄存器以及译码器,来实现LED显示。实际应用表明,该系统具有工作稳定、字符清晰、亮度适中等特点。
关键词:LED点阵屏;P89v51RD2;移位寄存器;字模
LED点阵显示屏是一种简单的字符显示器,具有价廉、易于控制、使用寿命长等特点,可广泛应用于各种公共场合,如车站、码头、银行、学校、火车、公共汽车显示等。本文详细介绍了一种低廉的16x16点阵LED显示屏的设计过程。本系统采用P89V51RD2单片机作控制器,整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路等部分组成。为了使显示屏电路更具实用性,本系统在单片机部分外加数据存储器。在PC机上编辑汉字和字符显示信息,并将其转换为相应的点阵显示数据,然后通过串口(采用RS-232通信标准)送单片机存储并显示,实现LED显示屏的功能。
1 系统原理及特点
系统原理框图如图1所示,该系统主要由飞利浦公司生产的单片机P89V51RD2、移位寄存器74HC595、4-16译码器74HC154、LED点阵、数据存储器RAM6264以及RS232电平转换芯片组成,汉字字模存储外部数据存储器6264中,用单片机P89V51RD2控制移位寄存器与译码器完成汉字的显示。
本系统的特点:
1)采用P89V51RD2单片机,P89V51RD2是PHILIPS公司推出的51系列的新型微控制器,它包含64KB?Flash和1024字节的数据RAM,支持并行和串行的在系统编程(ISP)和在应用中编程(IAP),具有SPI和增强型UART。
2)采用移位寄存器,节约单片机的IO资源,容易扩展多位LED显示。
3)通过串口下载单片机的程序代码以及与PC机通信获取显示信息的字模。
4)显示内容多时,可以把汉字字模存储到外部数据存储器6264中。
1.1 移位寄存器的工作原理
74HC595是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,也能串行输出控制下一级级联芯片。
74HC595的引脚图如图2所示。
[!--empirenews.page--]
1.1.1 引脚说明
1)74595的数据端:
QA-QH:8位并行输出端,可以直接控制数码管的8个段;QH:级联输出端。将它接下一个595的SI端;SI:串行数据输入端。
2)74595的控制端说明:
/SCLR(10脚):低点平时将移位寄存器的数据清零;SCK(11脚):上升沿时数据寄存器的数据移位。QA->QB->QC->…->QH;下降沿移位寄存器数据不变;RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
3)74HC595与单片机的硬件连接
2片74HC595与单片机串行接口连接,移位寄存器的输出作为点阵LED的行驱动,硬件电路图如图3。其中,RCK接单片机的P3.3端口;SC LR接单片机的P3.2端口;SCK接单片机的P3.3端口;SI接单片机的P3.4端口。串行移位寄存器7HC595也可以用74HC164。
1.2 译码器及驱动电路
单片机的P1口低四位的输出,经4-16线译码器73HC154译码后,作为列选通信号线,再经过驱动器驱动对应的列线,一条列线上要驱动16个的led进行显示,按每一个LED器件需要10 mA计算,16个LED同时发光时,需要160 mA电流,选用三极管8550作为驱动管可满足要求。考虑减少PCB板的面积,也可以选择uln2803驱动LED的列。
硬件电路连接如图4所示。
[!--empirenews.page--]
1.3 16x16点阵LED屏
一个汉字32个字节需要16*16LED屏,由4个8*8LED组成,型号SD411988。LED点阵屏的极性,可以用数字万用表的电阻档来测试;万用表的黑表棒测试LED的一个引脚,红表棒放到其他的引脚,若有一个LED灯亮,说明黑表棒测试的引脚为负极,红表棒测试的引脚为正极;此时,可以把黑表棒接的引脚作为行,红表棒接的引脚作为列,当然,反过来也可以,行、列是相对的。
然后黑表棒测试的引脚不动,改换红表棒测试的其他的引脚,测试结果如上述,这样可以把一行的所有列控制的引脚确定;同理,也可以确定其他的行控制引脚。
16×16 LED屏的原理图如图5所示。
2 系统软件设计
限于篇幅,这里没有给出VB提取字模的程序,仅把单片机的主要程序列出。在调试下位机程序时,可以用取膜软件PCtoLCD来提取汉字字模。“南京工程学院”的字模如下
unsigned char code table[]={
0xFE,0xFF,0xFE,0xFB,0x00,0x01,0xFE,0xFF,0xFD,0xFF,0xC0,0x03,0xDB,0xDB,0xDD,0xBB,
0xD0,0x0B,0xDE,0xFB,0xC0,0x03,0xDE,0xFB,0xDE,0xFB,0xDE,0xEB,0xDE,0xF7,0xFF,0xFF,/*“南”,0*/
};限于篇幅,仅给出一个汉字的字模。
移位寄存器有关控制位的定义void wr_595(sindata)//写移位寄存器74HC595函数
[!--empirenews.page--]
3 结论
经过实际测试证明,本显示屏可以作为信息显示装置,用于公共场所来进行信息显示,而且具有工作稳定、字符清晰、亮度适中等特点。为了使显示的内容丰富,可以使文字屏在显示信息时滚动显示。另外,本硬件电路可以在集成电路芯片上使用方面加以改进,用大规模的可编程逻辑器件代替中规模的逻辑电路译码器和移位寄存器,可以节约PCB的面积;本显示屏只有一位LED显示,再级联多个移位寄存器,容易实现多位LED显示。