LED点阵,单片机,显示屏 毕业设计
表7.1 显示屏刷新率(帧频)与T0初值关系表(24M晶振)
从理论上来说,24Hz以上的刷新率就能看到连续稳定的显示,刷新率越高,显示越稳定,同时刷新率越高,显示驱动程序占用的CPU时间也越多。实验证明,在目测条件下刷新率40Hz以下的画面看起来闪烁较严重,刷新率50Hz以上的已基本觉察不出画面闪烁,刷新率达到85Hz以上时再增加画面闪烁将没有明显改善。
显示效果处理程序的内容及方法非常广泛,其调试过程在此不作具体讨论,读者可对照源程序自行分析。
这个方案设计的16×16点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。 7.6控制源程序清单
以下是16×16点阵LED电子显示屏的源程序,分别采用C及汇编编写,C程序在Keil uVision2 V2.30(C51.exe V7.0)环境下调试通过。
/*-------------------------------------- 16×16点阵LED显示屏程序 MCU AT89C51 XAL 24MHz Builde by Gavin Hu, 2003.8.15 --------------------------------------*/ #include <reg51.h>
#define BLKN 2 //列锁存器数
sbit G = 0x97; //P1.7为显示允许控制信号端口 sbit RCLK = 0x96; //P1.6为输出锁存器时钟信号端 sbit SCLR = 0x95; //P1.5为移位寄存器清○端 void delay(unsigned int); //延时函数 unsigned char data dispram[32]; //显示缓存 /*-------------------------------------- 主函数 void main(void) --------------------------------------*/ void main(void) {
unsigned char code Bmp[][32]={//字模表 {
0xF9,0xBF,0xC7,0xAF,0xF7,0xB7,0xF7,0xB7,0xF7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xB7, 0xF1,0xD7,0xC7,0xCF,0x37,0xDF,0xF7,0xAF,0xF6,0x6D,0xF7,0xF5,0xD7,0xF9,0xEF,0xFD }/*我*/, {
0xFF,0x07,0xC0,0x6F,0xED,0xEF,0xF6,0xDF,0xC0,0x01,0xDD,0xFD,0xBD,0xFF,0xC0,0x03, 0xFB,0xFF,0xF8,0x0F,0xF3,0xDF,0xF4,0xBF,0xEF,0x3F,0x9C,0xCF,0x73,0xF1,0xCF,0xFB }/*爱*/, {
0xF7,0xDF,0xF9,0xCF,0xFB,0xBF,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,