单片机OLED姓名程序
OLED是有机发光二极管 的简称。它具有自发光、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。而单片机则是一种集成了微处理器、存储器和各种输入/输出接口的芯片。单片机常用于控制电子设备,如OLED显示器。
如果想在OLED上显示中文,我们可以使用取模软件生成字库信息并将其放到一个单独的.h文件中,然后在代码中调用自定义字库的函数。具体来说,我们需要实现一个显示汉字的函数,其中x为第一个像素在行中的位置,范围为0-127;如果一行占8个像素,那么y代表行号,范围为0-7。no为自定义字库数组中的索引。下面是一个显示汉字的函数实现:
void OLED_ShowCHinese
;">,
uint8_t y
,
uint8_t no
)
{
uint8_t t
,
adder
=
;
OLED_Set_Pos
;">,
y
)
;
for
;">=
;
t
<
16
;
t
+
+
)
{
OLED_WR_Byte
;">[
2
*
no
]
[
t
]
,
OLED_DATA
)
;
adder
+=
1
;
}
OLED_Set_Pos
;">,
y
+
1
)
;
for
;">=
;
t
<
16
;
t
+
+
)
{
OLED_WR_Byte
;">[
2
*
no
+
1
]
[
t
]
,
OLED_DATA
)
;
adder
+=
1
;
}
}
我们还需要在main函数中调用自定义字库的函数,如下所示:
for
;">=
;
i
<
8
;
i
+
+
)
{
OLED_ShowCHinese
;">*
16
,
,
i
+
)
;
}
for
;">=
;
i
<
5
;
i
+
+
)
{
OLED_ShowCHinese
;">*
16
,
2
,
i
+
8
)
;
}
for
;">=
;
i
<
3
;
i
+
+
)
{
OLED_ShowCHinese
;">*
16
,
4
,
i
+
13
)
;
}
for
;">=
;
i
<
7
;
i
+
+
)
{
OLED_ShowCHinese
;">*
16
,
6
,
i
+
16
)
;
}
这段代码的作用是在OLED屏幕上显示姓名。其中i代表姓名的每个字的索引,0到7代表姓氏的每个字,8到12代表名字的每个字,13到15代表“的”字,16到22代表“程序”四个字。
需要注意的是,如果使用官方的u8g2 chinese编码库,会有一些字无法显示出来,因此需要自己生成字库信息。
除了使用取模软件生成字库信息外,还可以使用51单片机控制OLED显示多种字符(汉字+英文+数字)。具体来说,我们需要在代码中定义每个字符的像素点阵,然后将其写入到OLED屏幕上。
总之,要在单片机OLED上显示中文,我们可以使用取模软件生成字库信息,然后在代码中调用自定义字库的函数。除此之外,还可以使用51单片机控制OLED显示多种字符。
标签: #科技看点
郑重声明:图文由自媒体作者发布,我们尊重原作版权,但因数量庞大无法逐一核实,图片与文字所有方如有疑问可与我们联系,核实后我们将予以删除。
关于我们 广州小漏斗信息技术有限公司 版权所有 七百分 粤ICP备20006251号粤公网安备 44011302002346号