实验二 16*16点阵
高亮度LED发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如ASC16、HZ16)中提取。后者需要正确掌握字库的编码方法和字符定位的计算。
实验用的LED点阵显示屏为16*16点阵。
行和列分别使用两个移位寄存器作为输出。
当移位寄存器输出的第i行为0,第j列为1时点亮点(i,j)。
为了能够显示出一个点阵字型,需要进行循环扫描,也就是每一次只点亮一行,然后在列上输出该列对应的16个点阵值。
输出一行后暂停一段时间,输出下一行。为了达到较好的显示效果,整屏总的扫描时间不高于40ms。
上述过程中行列可以互换。
实验中使用的移位寄存器是74HC595,它是一个同时具有串行移位和输出锁存驱动功能的器件。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。
数据在SRCK(移位寄存器时钟输入)的上升沿输入到移位寄存器中,在RCK(存储器时钟输入)的上升沿输入到存储寄存器中去。
移位寄存器有一个串行移位输入(行Dx(P00)、列Dy(P03)),和一个串行输出(QH),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 (P02和P07为低电平)时,存储寄存器的数据输出到总线。
在控制74HC595时,首先将数据放到串行输入的SI端,然后在串行时钟SRCK上产生一个脉冲,即可输出一个bit,重复以上步骤16次,输出所有列值。
然后给存储器时钟RCK一个脉冲,将串行数据锁存起来。将使能端 输出低电平,驱动到LED点阵上。
行的输出每次只移位一次,并重新锁存即可。
其他信息见给定的参考资料。