1374|5

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

[N32WB031_STB开发板测评]+点阵模块显示驱动 [复制链接]

本帖最后由 jinglixixi 于 2023-5-6 09:31 编辑

有了GPIO口的支持,就可以拿点阵模块来试一试手了。

所用的点阵模块是一块8*8点阵的显示模块,共有5个引脚,除电源引脚外,另外3个引脚与开发板的连接关系为:

SCL ---PB8

SDA ---PB4

CS ---PB5

对所用引脚的工作模式配置函数为:

void MAX7219_Init(void)
{
    GPIO_InitType GPIO_InitStructure;
    RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB, ENABLE);
    GPIO_InitStruct(&GPIO_InitStructure);
    GPIO_InitStructure.Pin =  GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_8;
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
}

Max7219发送字节数据的函数为:

void Write_Max7219_byte(char DATA)
{
   char i;
   GPIO_ResetBits(GPIOB, GPIO_PIN_5);    //CS
   for(i=8;i>=1;i--)
   {
     GPIO_ResetBits(GPIOB, GPIO_PIN_8);  //SCL
     if(DATA&0x80)
	 {
        GPIO_SetBits(GPIOB, GPIO_PIN_4); // SDA;
	 }
     else
	 {
        GPIO_ResetBits(GPIOB, GPIO_PIN_4);
	 }
     DATA=DATA<<1;
     GPIO_SetBits(GPIOB, GPIO_PIN_8);
   }
}

Max7219向指定地址发送数据的函数为:

void Write_Max7219(char address,char dat)
{
     GPIO_ResetBits(GPIOB, GPIO_PIN_5); 
     Write_Max7219_byte(address);
     Write_Max7219_byte(dat);
     GPIO_SetBits(GPIOB, GPIO_PIN_5);
}

对Max7219进行初始化的函数为:

void Init_MAX7219_D(void)
{
   Write_Max7219(0x0b, 0x07);
   Write_Max7219(0x0c, 0x01);
   Write_Max7219(0x0f, 0x00);
}

以此为基础,实现点阵模块显示的主程序为:

int main(void)
{
    unsigned char i,j;
    MAX7219_Init();
    Init_MAX7219_D();
    while(1)
    {
       for(j=0;j<38;j++)
       {
          for(i=1;i<9;i++)
          {
             Write_Max7219(i,disp[j][i-1]);
          }
		  Delay(0x28FFFF);
       }
    }
}

经程序的编译与下载,其运行的效果如图1至图3所示。

图1 显示数字

图2 显示字符

图3 显示汉字

显示这些内容的字库结构为:

const unsigned char disp[38][8]={

{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0

{0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x10},//1

...

{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A

{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B

...

{0x8,0x7F,0x49,0x49,0x7F,0x8,0x8,0x8},//?

{0xFE,0xBA,0x92,0xBA,0x92,0x9A,0xBA,0xFE},//?

};

 

由于该点阵模块是可以级联来使用,故为了同时可以显示出更多的内容,可将几个同样的点阵模块串联起来来使用。   

此帖出自无线连接论坛

最新回复

强了哦,期待精彩继续!   详情 回复 发表于 2023-5-2 07:16
点赞 关注
 

回复
举报

7048

帖子

11

TA的资源

版主

沙发
 
哇,李老师又玩出新花样了,感谢分享!
此帖出自无线连接论坛

点评

先试试水,打算驱动一个16*64点阵的屏。  详情 回复 发表于 2023-5-2 00:27
 
 

回复

6534

帖子

9

TA的资源

版主

板凳
 

模拟SPI走起   

此帖出自无线连接论坛
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

4856

帖子

3

TA的资源

版主

4
 

看起来真是不错,这板子值得玩啊

此帖出自无线连接论坛
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

5
 
lugl4313820 发表于 2023-5-1 14:44 哇,李老师又玩出新花样了,感谢分享!

先试试水,打算驱动一个16*64点阵的屏。

此帖出自无线连接论坛

点评

强了哦,期待精彩继续!  详情 回复 发表于 2023-5-2 07:16
 
 
 

回复

7048

帖子

11

TA的资源

版主

6
 
jinglixixi 发表于 2023-5-2 00:27 先试试水,打算驱动一个16*64点阵的屏。

强了哦,期待精彩继续!

此帖出自无线连接论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表