CH451内部具有8个8位的数据寄存器,用于保存8个字数据,分别对应于CH451所驱动的8组每组8个的发光二极管,并且支持数据寄存器中的字数据左移、右移、左循环、右循环,并且支持各数码管的独立闪烁控制,在字数据左右移动或者左右循环移动的过程中,闪烁控制的属性不受影响。CH451具有硬件实现的高速4线串行接口,包括4根信号线:串行数据输入线DlN、串行数据时钟线DCLK、串行数据加载线LOAD、串行数据输出线DOUT。DIN用于提供串行数据,高电平表示位数据1,低电平表示位数据0,串行数据输入的顺序是低位在前,高位在后。DCLK用于提供串行时钟,CH451在其上升沿从 DIN输入数据,在其下降沿从DOUT输出数据。CH451内部具有12位移位寄存器,在DCLK的上升沿,DIN上的位数据被移入移位寄存器的最高位寄存器,以此类推,原次低位数据移入最低位寄存器,在该上升沿后的第一个下降沿,原次低位数据从DOUT输出。CH451允许DCLK引脚的串行时钟频率大于10MHz,从而可以实现高速串行输入输出。LOAD用于加载串行数据,CH451在其上升沿加载移位寄存器中的12位数据,作为操作命令分析并处理。 CH451可以动态驱动8×8的LED点阵,点阵的所有列通过串接的限流电阻R1连接CH451的列驱动引脚SEGO~SEG7,点阵的所有行分别由 CH451的DIG0~DIG7引脚进行驱动。串接限流电阻R1的阻值越大则段驱动电流越小,数码管的显示亮度越低,R1的阻值一般在60Ω至400Ω之间,在其它条件相同的情况下,应该优先选择较大的阻值。 2 软硬件设计实例 2.1 硬件电路 图2是用AT89C52与CH45l接口设计的显示面板电路。
Pl口的P1.5、P1.6、P1.7用来控制LED点阵的显示,分别接到LOAD、DIN和DCLK脚。4个8×8LED阵列组成16×16的点阵屏模块,如果要显示一个汉字,只要将32字节的点阵数据通过8次48位的加载字数据命令送给CH451就可以了。因为是4个CH451级联,所以每个操作命令都必须是48位数据,最后由LOAD信号线输出上升沿通知所有的CH451加载各自的命令数据。 2.2 显示驱动程序 定义数组存放显示数据,CPU复位后,调用CH451 Write函数对CH451进行写命令、数据操作。 写12bit控制字函数:
3 结论 从以上例子可以看出,用CH45l设计LED点阵驱动电路,硬件和软件的设计都不存在复杂的技术问题,特别是软件设计。在I/O口线较为紧张的情况下,这不失为一种解决方案。具有很好的性价比。
| 欢迎光临 美丽的网站-英华家电维修论坛 (http://www.bsss.info/) | Powered by Discuz! X3.2 |