/*
* Functions.
*/
int main(void)
{
// 开发板初始化
BOARD_Init();
// SLCD初始化
app_slcd_init();
// SLCD清屏
LCD_Clear();
// 大数字区域显示
for(uint8_t i=0;i<6;i++) {
LCD_DisplayNumber1(i, '0'+i, 1);
app_delay(100u);
}
// 小数字区域显示
for(uint8_t i=0;i<4;i++) {
LCD_DisplayNumber2(i, '0'+i, 1);
app_delay(100u);
}
// 符号显示
for(uint8_t i=0;i<10;i++) {
LCD_DisplayUnit(i, 1);
app_delay(100u);
}
uint32_t c = 0;
while (1)
{
// SLCD段码位显示测试
// app_slcd_display();
// SLCD显示整体测试
// LCD_DisplayDataUpdate();
// SLCD大数字显示
LCD_DisplayNumbers1(c%1000000);
// SLCD小数字显示
LCD_DisplayNumbers2(c%10000);
// 符号显示
LCD_DisplayUnit(c%10, c/10%2);
// 延时
app_delay(100u);
c++;
}
}
在上述代码中,app_slcd_init()和app_delay()来自slacd_basic,我们可以直接调用。
LCD_Clear()、LCD_DisplayNumber1()、LCD_DisplayNumber2()、LCD_DisplayUnit()、LCD_DisplayNumbers1()、LCD_DisplayNumbers2()、
LCD_DisplayDataUpdate()则由新加入的SLCD库部分提供。
通过上述调用,我们就能够在代码中,轻松的控制SLCD屏了,以下各个部分都能控制显示:
另外,在数字显示区域,还能够显示部分字母,但是受限于7段液晶,只能显示部分字母,具体如下:
一点小小遗憾的是,在上述官方手册关于引脚映射途中,有部分引脚是没有使用的,所以有部分字符,板子上的SLCD是没有的。
运行提供的演示代码,最终效果如下:
作者:HonestQiao, 来源:面包板社区
版权声明:本文为博主原创,未经本人允许,禁止转载!
☝长按图片,扫码申请☝