基于51单片机IAP技术的LED显示屏控制系统
根据上述编程步骤,可以很容易编出显示第i行的子程序1。子程序1的第3行至第9行为循环体,送1字节的显示数据共需10个机器周期,机器码的字节数为11。通过分析74HC595的SCK为上升沿有效,可用单片机的写信号(WR)来代替,故子程序1中的第5、6、7行3条指令可用“MOVX@R0,A”一条指令来替换,实验表明这样的替换是可靠的。显示第i行的子程序2为替换后的程序,送1字节的显示数据所需机器周期减为9,机器码的字节数减为6。再对显示第i行的子程序2仔细分析后发现,在仅使用SST89E516内部64 KB的Flash存储器作为显示数据存储且不增加辅助电路的前提下,只有子程序2第7行“DJNZ R0,DP1”这条2个机器周期2字节指令,可以利用SST89E516内部64 KB的Flash存储器大的特点,直接简单的重复256次子程序2中第3、4、5、6行4条单字节指令,从而可以缩短2个机器周期的时间。这样送1字节的机器周期可以减少为7,但程序需要增加1 KB。对64 KB的Flash存储器来说,程序增加1KB减少不了多少显示数据。与子程序1相比,子程序3速度提高了30%。在图2所示12 MHz晶振并利用SST89E516的倍速功能,其1个机器周期为0.5μs,在忽略其他数据处理时间的前提下,显示1屏完整数据所需时间近似为:(7×0.5 μs×256列×16行)=14.336 ms(每秒近70帧)。实验表明:人眼对LED显示屏开始感觉到闪烁大约为每秒55帧,即每帧时间18 mS。从图2、图1(c)和3个子程序可以看出,一帧显示数据在内存中的排列有以下几个特点:①按扫描行扫描的先后顺序依次排列;②在每一行按数据输出的先后顺序依次排列;③通过硬件和软件的优化使每个显示数据输出的时间最短。
led显示器相关文章:led显示器原理
评论