序言

之前我们分享了,如何使用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像素显示。

取模软件设置

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

字模选项设置

生成字库

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

硬件连接

测试电路连接:

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); }
}

测试结果

欢迎关注

程序员小哈带你玩转嵌入式,搜索:嵌入式从0到1,更多干货等着你。

想进小哈技术交流群,请加程序员小哈个人好友,带你嵌入式入门进阶。

msp430单片机oled汉字字模_OLED液晶屏如何显示中文呢?相关推荐

  1. OLED液晶屏如何显示中文呢?

    欢迎关注 程序员小哈带你玩转嵌入式,微信搜索:嵌入式从0到1,更多干货等着你. 想进小哈技术交流群,请加程序员小哈个人微信,带你嵌入式入门进阶. 目录 文章目录 欢迎关注 序言 字幕显示原理 取模软件 ...

  2. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  3. Arduino实现超声波测距+LCD液晶屏实时显示

    Arduino实现超声波测距+LCD液晶屏实时显示 计科在我们学校是完全偏软的.实在是闲的无聊,在家搞起了硬件.好玩呐!!! ************************************* ...

  4. stm32单片机OLED取字模软件使用 PCtoLCD2002

    PCtoLCD2002,适用单色屏取字模制作字库,进行位图转换,还可自行描点,使用非常简单方便. 1. 取字模,制作字库 打开PCtoLCD2002. 单片机OLED或者其他单色屏,最常使用的是 12 ...

  5. 单片机快速入门:12864液晶屏实现多功能数字时钟

    想要快速入门单片机,就要多动手实践.也许你的手上有不止一块的单片机开发板,但是你有没有亲自动手实现自己的想法?单片机实现数字时钟是一个不错的想法.有12864液晶显示屏.有按键.有DS18B20.最关 ...

  6. 单片机采用RLE算法实现液晶屏显示图片

    由于需要用到液晶屏(320*240)显示图片,而且图片的数量比较多(好几百张),并且图片要求保存到16M的SPI FLASH里面,显然如果不处理 16M的FLASH明显是放不下去.后来同事说可以用压缩 ...

  7. 利用c51进行数模转换并在液晶屏上显示_基于C51单片机的智能计算器、矩阵键盘、lcd1602...

    目录 1绪论.............................................................................................. ...

  8. MSP430单片机HT1261驱动LCD段码屏

    去年帮人做的一个段码屏相关的开发,网上有关这方面的资料比较少,这里写一点自己的积累. 一.参考资料 (1)http://www.51hei.com/bbs/dpj-127088-1.html (2)h ...

  9. 无字库12864液晶屏滚动显示程序[转]

    同志们,做实验的时候一定要把端口重新设置成和你的实际硬件一样,不要说我是骗人的,着东西可编了我3个多小时,绝对没问题!记得P0口加上拉,或者用其他端口,如果不显示,参照我的blog中<12864 ...

最新文章

  1. 多机多卡训练基本原理
  2. 程序员:我不学Python了!!
  3. 计算机设计复合材料,两种复合材料几何建模算法-计算机辅助设计与图形学学报.PDF...
  4. [转] Envelop
  5. bash文件外传入参数
  6. Cloud Insight!StatsD 系监控产品新宠!
  7. UVA 473——Raucous Rockers
  8. HTMLCSS--使用CSS完成页面布局及排版(附案例代码)
  9. 在unity向量空间内绘制几何(2):计算球体的表面坐标
  10. 性能比 GPU 高 100 倍!首款可编程忆阻器 AI 计算机面世
  11. mac git配置 idea
  12. Mintec.MineSight.3D.v7.0.3
  13. java 下载文件的文件名乱码_java下载文件名乱码解决方法介绍
  14. python 爬取句子迷,多好的一个网站(哭~~)
  15. 微信小程序跳转公众号h5页面
  16. 如何获取自己的公网地址
  17. 人工智能编程语言介绍
  18. 需求调研过程管理小议
  19. Excel2016图片缩放后不清晰
  20. chrome自动翻译导致网页文本错乱

热门文章

  1. Tomcat学习总结(8)——Tomcat+Nginx集群解决均衡负载及生产环境热部署
  2. win 二进制门安装mysql_PG二进制包编译Windows下mysql_fdw
  3. linux磁盘管理(挂载,分区)
  4. 准确度判断 语义分割_【语义分割】DeepLab v1/v2
  5. 一个简单混合协议通讯列子,物联网和互联网通讯。
  6. B~树(B-Tree)与B+树
  7. linux笔记:文件系统管理-fdisk分区
  8. java10 WeakHashMap
  9. 解决 ssh 登录到ubuntu server 慢的问题
  10. AFNetWork 学习资源....