1、LED点阵显示屏实验评测报告1616点阵LED电子显示屏的设计摘要:文章介绍了基于单片机AT89C51的1616点阵LED电子显示屏的设计。分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实现。经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态显示的内容有多种方式,同时又可通过上位机更新显示的内容。关键字:AT89C51;1616点阵;LED;显示屏一绪论LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和
2、广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。b5E2RGbCAP1 LED点阵显示屏概述LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。p1EanqFDPw目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就
3、已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。DXDiTa9E3d2 LED显示屏控制技术状况显示屏的控制系统包括输入接口电路、信号控制、转换和数字化
4、处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。RTCrpUDGiT二 系统总体设计方案1硬件框图汉字点阵的控制电路采用C51系列单片机,硬件电路可分为单片机控制器、LED显示屏行列驱动电路、LED点阵显示屏三部分,如下图所示。5PCzVD7HxAjLBHrnAILg 系统设计硬件框图2基本原理点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:1)点扫描2)行扫描3)列扫描若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大
5、于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行AT89C51AT89C51是一种带4K字节FLASH存储器以及12MHz晶振X1、电容C2,C3组成,采用片内振荡方式。 复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。 EmxvxOtOco外形及引脚排列如图所示SixE2yXPq5AT89C51外形及引脚排列(274HC15474HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL74HC59574HC595是硅结构的CMOS器件, 兼容低电压TTL电路,遵守JE
6、DEC标准。 74HC595是具有8位移位存储器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SHCP移位寄存器时钟输入)的上升沿输入到移位寄存器中,在STCP存储器时钟输入)的上升沿输入到存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入Ds),和一个串行输出Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时为低电平),存储寄存器的数据输出到总线。其特点:1.是8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态。2.输出寄存器.5) 冯寿鹏.基于嵌入式系统的L
7、ED信息显示技术研究J.现代电子技术,2005(1.6) 金炯泰,金奎焕. 如何使用KEIL8051C编译器M 北京航空航天大学出版社,2002.7) 杨世品. 基于Proteus的单片机出租车计价器的设计. 微计算机信息,2007.附录:#include#include unsigned char code FONT16x16332= 0x12, 0x48, 0x12, 0x48, 0x13, 0xC8, 0x12, 0x48, 0x10, 0x08, 0x10, 0x08, 0x10, 0x28, 0x10, 0x10,0x08, 0x00, 0x08, 0x04, 0x0F, 0xFE,
8、 0x10, 0x08, 0x10, 0x48, 0x33, 0xE8, 0x52, 0x48, 0x92, 0x48,/何eUts8ZQVRd 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x05, 0x00, 0x02, 0x00,0x02, 0x00, 0x01, 0x00, 0x7F, 0xFE, 0x40, 0x02, 0x80, 0x04, 0x00, 0x00, 0xFF, 0xFE, 0x01, 0x00,/宁sQsAEJkW5T 0x14, 0x08, 0x25, 0x10,
9、0xE4, 0xA0, 0x24, 0x40, 0x28, 0xA0, 0x29, 0x10, 0x32, 0x0E, 0x24, 0x04,0x00, 0x40, 0x40, 0x40, 0x30, 0x40, 0x17, 0xFC, 0x04, 0x44, 0x84, 0x48, 0x44, 0x40, 0x0F, 0xF8,GMsIasNXkA。/波 sbit SDI=P21。sbit SRCLK=P20。sbit RCLK=P22。#define LineCtrl P1void delay(unsigned int us while(us-。void SendByte(unsigned
10、 char dat unsigned char i。 for(i=0。i SRCLK=0。 if(dat&0x80 SDI=1。 else SDI=0。 SRCLK=1。 dat=datTIrRGchYzg unsigned char i。 for(i=0。i SendByte(dat32*i+1。 SendByte(dat32*i。 SendByte(dat22*i+1。 SendByte(dat22*i。 SendByte(dat12*i+1。 SendByte(dat12*i。 RCLK=0。 _nop_(。 _nop_(。 _nop_(。 _nop_(。 LineCtrl=i。 RCLK=1。 delay(100。 void main(void while(1 Display(FONT16x160,FONT16x161,FONT16x162。