原创 【CW32L052评测】LCD显示

2023-7-25 14:39 400 5 5 分类: MCU/ 嵌入式


板载LCD可以显示8个位加数点。本示例展示如何在某个位显示出数字。

新建lcd.h与lcd.h,并把文件导入到工程:

LCD中编写了数据0-F以及字符L、H、-三字符的编码,并分为高低两个数组,代码如下:

/* 段码低8(左) */

static const uint8_t num_L[19] = {

0x0d, //0

0x00, //1

0x0e, //2

0x0a, //3

0x03, //4

0x0b, //5

0x0f, //6

0x00, //7

0x0f, //8

0x0b, //9

0x07, //A

0x0f, //b

0x0d, //C

0x0e, //d

0x0f, //E

0x07, //F

0x07, //H

0x0d, //L

0x02, //-

};

/* 段码高8(右) */

static const uint8_t num_H[19] = {

0x07,

0x06,

0x03,

0x07,//3

0x06,//4

0x05, //5

0x05, //

0x07, //7

0x07, //8

0x07, //9

0x07, //A

0x04, //B

0x01, //C

0x06, //d

0x01, //e

0x01, //f

0x06, //H

0x00, //L

0x00, //-

};

编写显示函数,主要传入参数为需要显示的位置,以及显示的字符的序号:

/*

*函数功能:在指定的段码屏位置上显示指定序号的字符

*参数wei:指定需要显示的位

*参数num:需要显示的序号。

*/

void show_string(uint8_t wei, uint8_t num)

{

if(wei>7 || num > sizeof(num_H))

{

return;

}

switch(wei)

{

case 7:

{

//显示第7个数码管

CW_LCD->RAM[0] |= num_H[num]<<8 | num_L[num];

break;

}

case 6:

{

//显示第6个数码管

CW_LCD->RAM[0] |= (num_H[num]<<8 | num_L[num]) <<16;

break;

}

case 5:

{

//显示第5个数码管

CW_LCD->RAM[1] |= num_H[num]<<8 | num_L[num];

break;

}

case 4:

{

//显示第4个数码管

CW_LCD->RAM[1] |= (num_H[num]<<8 | num_L[num]) <<16;

break;

}

case 3:

{

//显示第3个数码管

CW_LCD->RAM[2] |= num_H[num]<<8 | num_L[num];

break;

}

case 2:

{

//显示第2个数码管

CW_LCD->RAM[3] |= (num_H[num]<<8);

CW_LCD->RAM[2] |= (num_L[num]<<16);

break;

}

case 1:

{

//显示第1个数码管

CW_LCD->RAM[3] |= num_H[num]<<24 | num_L[num]<<16;

break;

}

case 0:

{

//显示第0个数码管

CW_LCD->RAM[4] |= (num_H[num]<<8 | num_L[num]);

break;

}

}

}

编写主函数测试如下:

int32_t main(void)

{

int i;

//配置RCC

RCC_Configuration();

InitTick( 24000000 ); //24000000

//配置GPIO

GPIO_Configuration();

/* NVIC Configuration */

NVIC_Configuration();

RCC_LSI_Enable(); // 启动LSI为LCD提供时钟

LCD_Configuration();

gKey1Status = 0;

gKey2Status = 0;

while(1)

{

lcd_clear_all();

for(i=0; i<8; i++)

{

show_string(i,i);

SysTickDelay(1000);

//200ms.

}

}

}

显示效果详见视频。

文章评论0条评论)

登录后参与讨论
我要评论
0
5
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /4 下一条