51单片机16x16点阵设计 下载本文

课程设计说明书 第7 页

式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。经过上述分析最终采用具备上述功能的74HC 595 ,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列

数据,也能达到重叠处理的目的。74HC595的外形及结构如图6所示。

图6 74HC595外形结构图

它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲在其上升沿发生移位,并将SI的下一个数据打入最低位移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。在电路图中的

课程设计说明书 第8 页

连接如图7所示

图7 74HC595连接图

2.4行驱动电路

本设计中采用一个74HC154译码器实现4线16线输出,来驱动点阵显示屏的行。74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。74HC154译码器可接受4位二进制加权地址输入(A,B, C和D),并当使能时,提供8个互斥的低有效输出(X0至X15)。74HC154特有2个使能输入端:两个低有效E1和E2。除非E1和E2置低,否则74HC154将保持所有输出为高。ABCD四个输入端可分别从0000-1111时输出段可分别选中点阵的1至15行从而实现对个行的扫描控制。74HC154的使能端E1受单片机P1.4引脚控制从而实现控制扫描的开始与结束。74HC145在电路中的连接如图8所示:

课程设计说明书 第9 页

图8 74HC154连接图

2.5硬件总体电路

硬件总体电路如图9所示:

图9 硬件总体电路

课程设计说明书 第10 页

3 系统软件设计

3.1 显示驱动程序

进入中断 定时器赋初值 读取行号并增加1 送新行显示数据 消 隐 切换显示数据 发送新行号,打开显示 退出中断 图10 显示驱动程序流程图

显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频)=1/16×T0溢出率

=1/16×f/12(65536-t)

其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。