当前位置:首页 > 嵌入式 > 程序员小哈
[导读]点击上方蓝色字,轻松关注“程序员小哈”,我们一起成功 序言 之前我们分享了,如何使用STM32驱动OLED液晶屏,讲了SSD1306控制芯片的驱动,对其驱动时序和常用命令做了介绍,详细请参考下面链接: STM32驱动0.96寸OLED液晶屏 上篇中我们已经实现在OLED屏上显

点击上方蓝色字,轻松关注“程序员小哈”,我们一起成功




序言

之前我们分享了,如何使用STM32驱动OLED液晶屏,讲了SSD1306控制芯片的驱动,对其驱动时序和常用命令做了介绍,详细请参考下面链接:

STM32驱动0.96寸OLED液晶屏

上篇中我们已经实现在OLED屏上显示出英文字符,除去数字、字母、符号等,OLED还能显示汉字、图片及任意图形。今天我们来介绍一下取模软件的使用,看看如何在OLED屏上显示中文,具体实现如下。


字幕显示原理

我们用的OLED液晶屏是由128*64个发光点阵组成,即分辨率是128*64。

ASCII码可以6*8、8*8、8*16像素,汉字一般显示像素为16*16。
一般为了显示效果理想,英文和数字常选用8*16像素显示。

BLACK
&
WHITE


取模软件

推荐使用比较好用的取模软件:PCtoLCD2002。

BLACK
&
WHITE


字模选项设置

BLACK

&
WHITE


生成字库

CK

&
WHITE


将生成的字库信息复制到工程中待用,一般都是把自定义的字库放到一个单独的.h文件中。

BLACK
&
WHITE


硬件连接

测试电路连接:

GND---地
VCC---3.3V
D0---接PB9,作为SPI总线的CLK时钟引脚,时钟
D1---接PB8,作为SPI总线的MOSI数据引脚,数据输入
RES---接PB7
D/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<16;t++) { OLED_WR_Byte(Hzk[2*no][t],OLED_DATA); adder+=1; }  OLED_Set_Pos(x,y+1);  for(t=0;t<16;t++) {  OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA); adder+=1; } }


main函数实现:

#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 Demo "); for(i=0;i<8;i++) { OLED_ShowCHinese(i*16,0,i+0); } for(i=0;i<5;i++) { OLED_ShowCHinese(i*16,2,i+8); } for(i=0;i<3;i++) { OLED_ShowCHinese(i*16,4,i+13); } for(i=0;i<7;i++) { OLED_ShowCHinese(i*16,6,i+16); } while(1) { delay_ms(10); } }


测试结果



有需要工程源码及相关软件的可以加我微信。

微信号:chengxuyuanxiaoha(程序员小哈),

微信好友位名额有限,先到先得哈


推荐阅读:

STM32单片机最小系统详解

基于STM32固件库的MDK5工程建立

修改Keil工程名称并添加其他模块文件

利用STM32F103C8T6最小系统板点亮流水灯

STM32驱动0.96寸OLED液晶屏




六月份的“每月一练”内容:“基于单片机的智能风扇

6月1日即将公布作品功能点及所需要的功能模块链接,有什么想法的速速留言给我哈。


你点的每一个在看,我都认真当成了喜欢


免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭