在驱动串行数码管显示模块的基础上,只需稍加修改即可驱动点阵显示模块,这是由于这两者均是以芯片MAX7219为处理核心。 为驱动点阵显示模块,其初始化函数为: voidInit_MAX7219(void)
{
Write_Max7219(0x0b, 0x07);
Write_Max7219(0x0c, 0x01);
Write_Max7219(0x0f, 0x00);
}
由于点阵显示模块在显示时要有字模的支持,故将所需的字模存放到二维数组中以供读取,其存储格式如下: unsigned char disp[38][8]={
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
{0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x10},//1
{0x7E,0x02,0x02,0x7E,0x40,0x40,0x40,0x7E},//2
...
}
为达到良好地可视效果,在主程序中需添加适当的延时,其内容为: intmain(void)
{
int i,j;
SYSCFG_DL_init();
Init_MAX7219();
while(1)
{
for(j=0;j<38;j++)
{
for(i=1;i<9;i++)
{
Write_Max7219(i,disp[j][i-1]);
}
delay_cycles(10000000);
delay_cycles(10000000);
delay_cycles(10000000);
}
}
}
经程序的编译与下载,其显示效果如图1至图3所示。 图1 显示数字
图2 显示字符
图3 显示汉字
在多个点阵显示模块级联的情况下,则可以显示更丰富的内容。
|