1、OLED即有机发光二极管,在手机OLED上属于新型产品,被称誉为“梦幻显示器”。
2、OLED显示技术与传统的LCD显示方式不同,无需背光灯,采用非常薄的有机材料涂层和玻璃基板(或柔性有机基板),当有电流通过时,这些有机材料就会发光。而且OLED显示屏幕可以做得更轻更薄,可视角度更大,并且能够显著的节省耗电量。
1keil5
2(2)PC,STM32开发板(这里使用野火stm32mini)、096存OLED显示屏、烧录装置(下载器)
参考厂家的用户手册完成引脚连接:
二、基于SPI修改程序实现数据显示
1中文数据显示
文本内容为中文在点阵中为1616,故都为16进制,我们通过软件进行生成
使用该软件生成十六进制字模
选择模式中的字符模式,在选择中调整字体大小为16及16进制
2代码
云(0) 开(1) 处(2)
DB 40H 40H 42H 42H 42H 42H C2H 42H 42H 42H 42H 42H 42H 40H 40H 00H;
DB 00H 20H 70H 28H 24H 23H 20H 20H 20H 24H 28H 30H E0H 00H 00H 00H;"云",0
DB 80H 82H 82H 82H FEH 82H 82H 82H 82H 82H FEH 82H 82H 82H 80H 00H;
DB 00H 80H 40H 30H 0FH 00H 00H 00H 00H 00H FFH 00H 00H 00H 00H 00H;"开",1
DB 00H 80H 60H 9FH 08H 08H F8H 00H 00H FFH 10H 20H 40H 80H 00H 00H;
DB 81H 40H 20H 13H 0CH 13H 20H 20H 40H 5FH 40H 40H 40H 41H 40H 00H;"处",2
2 代码显示部分:
void TEST_MainPage(void)
{
GUI_ShowString(28,0,"MR liao",16,1);
GUI_ShowCHinese(28,20,16,"云开处",1);
GUI_ShowString(4,48,"631807060611",16,1);
delay_ms(1500);
delay_ms(1500);
}
main函数:
int main(void)
{
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
while(1)
{
TEST_MainPage(); //主界面显示测试
}
}
三、使用STM32在096寸OLED显示屏上实现字符滚动
1初识OLED屏滚动命令
本OLED屏的芯片类型为:SSD1306
设置水平左右移步骤:
OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动
OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0x00,OLED_CMD); //起始页 0
OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔
OLED_WR_Byte(0x07,OLED_CMD); //终止页 7
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节
OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动
设置垂直和水平滚动的(没有可用连续垂直滚动)步骤:
OLED_WR_Byte(0x2e,OLED_CMD); //关闭滚动
OLED_WR_Byte(0x29,OLED_CMD); //水平垂直和水平滚动左右 29/2a
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0x00,OLED_CMD); //起始页 0
OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔
OLED_WR_Byte(0x07,OLED_CMD); //终止页 1
OLED_WR_Byte(0x01,OLED_CMD); //垂直滚动偏移量
OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动
2文本取模
参考上面取模
3代码
main函数:
int main(void)
{
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动
OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0x00,OLED_CMD); //起始页 0
OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔
OLED_WR_Byte(0x07,OLED_CMD); //终止页 7
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节
TEST_MainPage(); //主界面显示测试
OLED_WR_Byte(0x2F,OLED_CMD); //开启滚动
}
显示部分代码
void TEST_MainPage(void)
{
GUI_ShowString(28,0,"HELLO",16,1);
GUI_ShowCHinese(12,16,16,"欢迎来到重庆交通大学",1);
delay_ms(1500);
delay_ms(1500);
}
要实现 OLED 显示温度并多次读取的功能,您可以采用如下步骤:
1 硬件准备:首先需要准备好一个 OLED 屏幕模块和一个温度传感器模块,比如 DS18B20,以及相应的连接线。将 OLED 屏幕模块和温度传感器模块按照引脚对应连接起来。
2 软件编程:根据您所使用的开发板和编程语言,编写相应程序。可以使用一些已有的库或示例代码,如 Adafruit_SSD1306、Adafruit_GFX、OneWire 等库,这些库可以帮助您轻松控制 OLED 屏幕和温度传感器。
3 测试和调试:将程序通过开发板上传到硬件上,然后观察 OLED 屏幕是否显示出温度数值,并且多次读取温度数值进行测试。如果出现问题,可以通过调试程序来查找问题。
总之,OLED 显示温度并多次读取的功能实现需要注意硬件和软件两个方面的准备与实现,具体步骤可以根据您所使用的具体硬件和编程环境进行相应的调整。要实现 OLED 显示温度并多次读取的功能,您可以采用如下步骤:
1 硬件准备:首先需要准备好一个 OLED 屏幕模块和一个温度传感器模块,比如 DS18B20,以及相应的连接线。将 OLED 屏幕模块和温度传感器模块按照引脚对应连接起来。
2 软件编程:根据您所使用的开发板和编程语言,编写相应程序。可以使用一些已有的库或示例代码,如 Adafruit_SSD1306、Adafruit_GFX、OneWire 等库,这些库可以帮助您轻松控制 OLED 屏幕和温度传感器。
3 测试和调试:将程序通过开发板上传到硬件上,然后观察 OLED 屏幕是否显示出温度数值,并且多次读取温度数值进行测试。如果出现问题,可以通过调试程序来查找问题。
总之,OLED 显示温度并多次读取的功能实现需要注意硬件和软件两个方面的准备与实现,具体步骤可以根据您所使用的具体硬件和编程环境进行相应的调整。
OLED显示屏一般出现乱码情况,可以从以下几方面去查找原因。
1软件或控制卡问题
乱码现象可能是LED显示屏参数没有设置好,这个时候你就需要确定扫描配置问题,一般是1/4扫;如果不是软件问题,就检查控制卡是否有问题;若这些检测过之后都没有问题的话,可以联系服务商进行解决。
2排线的问题
在排除供电问题的情况下,测试不良处模组供电是否正常(如果不正常的第一块有暗亮80%是供电有问题)
3漏水进水问题
首先,出现乱码情况大多跟显示屏漏水有关,由于防雨防水措施不得当,下雨后很可能有水浸入,造成电路板短路,进而出现乱码。如果出现这种情况,建议立刻联系供应商或维修厂家进行维修。
4传输数据问题
电脑输出到LED显示屏的控制电路有故障,重点检查显示屏电源和信号输入部分。如果控制系统板损坏、数据线接口损坏、数据线损坏或接反等,都会引起显示屏乱码现象出现。
乱码现象属于LED显示屏常见问题,遇到该类问题不用紧张,仔细排查以上可能导致的原因,如果问题还没有解决,请尽快联系厂家售后。这是从LED显示屏厂家亮彩科技官网找来的技术解决方法,希望对你有帮助。
以上就是关于什么是oled oled简单介绍全部的内容,包括:什么是oled oled简单介绍、stm32如何才能在液晶屏上让数字左右移动、oled显示温度多次读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)