兄弟,如果你学完显示扫描方式,那你要完成的这个东东不是怎么难。
1:你得把你要显示的字体的点阵画好,看每个字所要经过的点上,然后把所有的字体点阵存入一个三维数组中,以用来逐动你显示的字体。
2:关于扫描信号,我是逐行显示的(扫描信号),这个点阵因为有16行,所以得用一个4——16线译码器(74154),扫描信号是通过P0的前四个端口以BCD码形式输出,然后通过74154译码。输出16位驱动信号(这个信号是逐位自左向右移动的),这样就形成了行扫描信号。
3:显示信号:是以两块74373锁存器来完成的,因为出于C51端口的限制,所以只以一个P2端为显示输出信号,再配以两个74373锁存器来锁住号信来逐动所要显示的信号。
大体的做法是:以一个高电平先来打开一块74373,然后存住此时C51的P2端输出信号,然后锁信这组信号,(前8位信号),再以另一个高电平打开另一个74373,此时P2的信号也应随之改变,然后第二个锁存器也应马上锁住这组信号(后8位信号),
这样一来,两个74373就存了一组16位显示信号,之后再打开列扫信号,就可显示一个列信号了。
通过循环16次,就可完成一个字的显示。
这个电路所需的硬件元件并不多,就是4个8*8的LED显阵(或一个16*16显阵),两片74373,一片74154,一片C51, 16个小功率三极管(或3片2003集成),35个电阻,3个电容,1个按键,晶振便可。