IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 第六章 OLED模块+STM32的使用 -> 正文阅读

[嵌入式]第六章 OLED模块+STM32的使用

????????这一章教大家使用OLED显示模块,OLED模块在众多的物联网相关的毕设中出现率是比较高的,一般我们用OLED模块来显示系统的一些检测数据或者当前一些状态。

????????下图是我经常使用的OLED显示模块,其使用也是非常简单,模块上有4根引脚,分别是连接3.3V或5V的VCC引脚,接地的GND引脚,连接IIC时钟线的SCL引脚,连接IIC数据线的SDA引脚。关注公众号发送“OLED”,获取资料下载链接,按照链接里的接线图,用杜邦线把STM32F103C8T6与OLED模块连接起来,再通过Jlink或STlink将提供的代码烧录进STM32中即可看到现象。

?????????接下来讲解STM32的代码。

????????7行 delay_init( ) 初始化延时函数,执行这条语句后,延时效果才会准确。

????????9行?NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2) 是设置中断优先级分组。此份代码没有用到中断,所以将该行代码删除了也不影响效果。

????????11行?OLED_Init( ) 初始化OLED模块函数,初始化完成后,我们就可以调用15~28行的屏幕显示函数来实现OLED显示汉字、字符、字符串和数值了。????????

????????13行?OLED_Clear( ) 屏幕清除函数,就是将屏幕的显示全部清除,以免影响接下来15~28行显示函数的显示效果。

? ? ? ? 15~25行?OLED_ShowCHinese( ) 是显示汉字函数,该函数有三个参数,前面两个是汉字显示的起始X坐标、Y坐标,我们可以通过改变这两个参数来改变汉字显示的位置,起始坐标就是一个汉字显示区域的左上角的那个点,如下图所示,“欢”字起始X坐标是0,起始Y坐标是0,“欢”字起始X坐标是16,起始Y坐标是0。

????????在这里注意一下,参数X轴的取值范围是0~127,Y轴的取值范围是0~7,而一个汉字在Y轴方向占2个单位(即0和1),在X轴方向占16个单位(即0~15),具体如下图所示,在X轴占了0~15,在Y轴占用了0和1,在X轴占了16~31,在Y轴占用了0和1......以此类推。

????????接下来说第三个参数,第三个参数是要显示的汉字字模在存储数组里的位置号,存储数组的代码在下图中的位置。图中,从上往下,最前面的两个数组是位置0,接下来两个数组是位置1,再接下来两个数组是位置2....以此类推,我们就知道了每个汉字字模存储的位置号了,想要显示什么字,直接在OLED_ShowCHinese( )函数的第三个参数写上它所在的位置号就可以了。例如上图,想要起始坐标(32,0)的位置打印一个“大”字,我们就可以直接调用OLED_ShowCHinese(32,0,2);为什么最后一个参数要写2,因为“大”的字模存储在位置2。

? ? ? ? ?那万一存储数组里边没有我们想要的汉字字模怎么办呢?我们可以用一个软件生成我们想要的字模,然后把它添加进上图的Hzk数组里边就可以了。首先打开下图的取模软件(资料链接里面有)

?????????打开软件后,按照下面操作。

?????????打开设置后,按照下图进行设置,设置完后点击确定。

?????????设置完后,在下图中的输入框内输入汉字,然后点击生成字模即可。

?????????将生成的字模加添加到Hzk数组里就好了。顺便在注释里面对应好位置号,如下图所示。

????????执行完这些操作,如果想要在屏幕上显示“牛”字,我们只要确定好显示坐标后,直接调用OLED_ShowCHinese( )函数并将坐标和“牛”的位置号11填写进去就可以了,参考下图。

?????????OLED_ShowString( )函数是显示英文字符串的函数,该函数有四个参数,前面两个参数也是显示的起始X坐标、Y坐标,第三个参数是我们要显示的英文字符串(记得加上英文双引号),第四个参数不用改动,参考下图。

????????OLED_ShowNum( )显示数值的函数,该函数有五个参数,前面两个参数也是显示的起始X坐标、Y坐标,第三个参数是我们要显示的数值,参考例程中,第三个参数是常数 666 ,我们可以用变量来代替,这样,我们要在屏幕上显示什么数值,只要改变变量的数值就可以了,第四个参数是要显示的数值的最大位数,例如,DHT11温湿度模块能检测到的最高温度在99以内,所以第四个参数只要大于等于2就可以了,接下来第五个参数我们不用改动,参考下图。

? ? ? ? ?这一章还是建议大家买个模块,将资料链接里提供的例程下载到STM32中,然后尝试自己修改,资料链接里还有模块的购买链接和OLED与STM32的接线图。(关注公众号发送“OLED”,获取资料下载链接

? ? ? ? 下一章给教大家在屏幕上动态显示DHT11获取到的温湿度数据。


?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:39:38  更:2022-07-17 16:42:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 16:01:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码