....待续... 点阵:使用市场上的8*8,或5*7点阵。点阵编程的方法也可以利用到对多个LED的控制中,即将LED用矩阵的方式连接。 8051 IO口有32个,而一个8*8的点阵就有16个端点需要控制,所以全部直接用IO口控制是不现实的,否则电路没有多大意义。 器件使用:通常采用74HC595(或相关型号)串入并出移位寄存器IC扩展IO口输出数据,74LS138/74LS154 3-8 4-16译码器控制扫描。 ************行扫描实现************** 电路实现:采用行扫描。若有多个点阵模块可采用595级联的办法解决。138/154需要考虑电路的驱动能力,加NPN/PNP三极管驱动,做开关管功能用。 例如:如果用154+595,则驱动2行*4列8*8点阵模块,使用1个154+4个595。如将行理解为点阵模块的地址线,将列理解为点阵的数据线,电路中需要保证各个模块的地址线或数据线是不同的就可以了。如下:地址线0~7为低地址 8~15为高地址 级联595为级1级2级3级4 列1 列2 列3 列4 行1 低 级1 低 级2 低 级3 低 级4 行2 高 级1 高 级2 高 级3 高 级4 列1 列2 列3 列4 按照以上方法可以很容易的扩展2*4/2*8/2*10等多个模块方案。 程序设计上:基于以上行扫描的方法,已经实现了汉字的静态/上下滚动/左右滚动显示。 ***************列扫描实现**************** 电路实现:采用列扫描法。若有多个点阵模块可采用增加154的方法解决。同时需要考虑电路的驱动能力,如加三极管驱动,做开关管功能用。 例如:如果154+595,则驱动2行*8列点阵模块,使用2个154+2个595。如将行理解为点阵模块的地址线,将列理解为点阵的数据线,电路中需要保证各个模块的地址线或数据线是不同的就可以了。如下:地址线0~7为低0地址 8~15为高0地址 16~23低1地址 24~31高1地址 级联595为级1级2级3级4 列1 列2 列3 列4 行1 低0 级1 高0 级1 低1 级1 高1 级1 行2 低0 级2 高0 级2 低1 级2 高1 级2 列1 列2 列3 列4 就是说,控制的列扫描方法,每行需要1个595,而2列就需要增加一个154。 程序实现上:基于以上列扫描的方法,实现了汉字的静态显示,上下/左右滚动显示未做测试。 |