精密电阻
NEWS

如何在OLED液晶屏上显示中文

单击上方的蓝色字词,即可轻松跟随“ Programmer Xiaoha”。

在成功实现前言之前,我们分享了如何使用STM32驱动OLED LCD屏幕,讨论了SSD1306控制芯片的驱动,并介绍了其驱动时序和常见命令。

有关详细信息,请参见下面的链接:STM32驱动器0.96英寸OLED LCD屏幕在第一篇文章中,我们已经意识到OLED屏幕上会显示英文字符。

除了数字,字母,符号等,OLED还可以显示汉字,图片和任意图形。

今天,我们将介绍模具提取软件的使用,并了解如何在OLED屏幕上显示中文。

具体实现如下。

字幕显示原理我们使用的OLED LCD屏幕由128 * 64的发光点矩阵组成,即分辨率为128 * 64。

ASCII码可以是6 * 8、8 * 8、8 * 16像素,汉字通常显示16 * 16像素。

通常,为了显示理想的结果,通常使用8 * 16像素以英语和数字显示。

黑色& amp; WHITE Modulus软件建议使用相对易于使用的模数软件:PCtoLCD2002。

黑色& amp;白字体选项设置黑色& amp;白色生成字体库CK& amp;白色将生成的字体信息复制到项目中以供使用。

通常,自定义字体库放置在单独的.h文件中。

黑色& amp;白色硬件连接测试电路连接:GND ---接地VCC --- 3.3VD0 ---连接到PB9,作为SPI总线的CLK时钟引脚,时钟D1 ---连接到PB8,作为SPI的MOSI数据SPI总线引脚,数据输入RES ---连接至PB7D / C ---连接至PB6,高电平为写入数据,低电平为写入命令CS--片选,连接至PB5,接地,选择SSD1306代码以实现汉字显示功能。

实现:参数x为行中第一个像素的位置,范围为0-127;如果一行占8个像素,则参数y表示行号,范围为0-7。

参数no是自定义字体数组中的索引。

void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no){uint8_t t,adder = 0; OLED_Set_Pos(x,y); for(t = 0; t& lt; 16; t ++){OLED_WR_Byte(Hzk [2 * no] [t],OLED_DATA); adder + = 1;} OLED_Set_Pos(x,y + 1); for(t = 0; t& lt; 16; t ++){OLED_WR_Byte(Hzk [2 * no + 1] [t],OLED_DATA); adder + = 1;}}主要功能实现:#include“ stm32f10x.h” #include“ delay.h” #include“ oled.h” int main(void){int i = 0; //延迟函数初始化delay_init(); OLED_Init(); OLED_Clear(); // OLED_ShowString(0,4,(u8 *)“ 0.96 OLED演示”); for(i = 0; i& lt; 8; i ++){OLED_ShowCHinese(i * 16,0,i +0);} for(i = 0; i& lt; 5; i ++){OLED_ShowCHinese(i * 16, 2,i + 8);} for(i = 0; i& lt; 3; i ++){OLED_ShowCHinese(i * 16,4,i + 13);} for(i = 0; i& lt; 7; i ++ ){OLED_ShowCHinese(i * 16,6,i + 16);} while(1){delay_ms(10);}}测试结果如果需要工程源代码和相关软件,可以将我添加到微信中。

微信号:chengxuyuanxiaoha(程序员Xiaoha),微信朋友有限,先到先得,推荐阅读:STM32单片机最小系统详细说明,基于STM32固件库的MDK5项目修改Keil项目名称并添加其他模块文件来使用最低STM32F103C8T6系统板点亮水灯。

STM32驱动0.96英寸OLED液晶显示屏。

“每月培训”的内容6月:“基于单片机的智能风扇”将于6月1日宣布。

作品的功能点和所需的功能模块链接将被宣布。

还有什么?给我快速的想法提示。

我会仔细检查您订购的每一份菜,我会认真对待并喜欢它

欢迎您的咨询