IIC的OLED显示程序

基于物联网的智能窗户Day2

OLED显示

因为是打算先完成硬件部分再与app对接,为了初期各模块功能测试,及自动状态的调试,加一块0.96寸的OLED屏幕,用以显示各模块的一些参数,也增加设计本身的人性化。

模块介绍

OLED,即有机发光二极管(Organic Light Emitting Diode)。
LCD 都需要背光,而OLED不需要,因为它是自发光的。这样同样的显示OLED效果要来得好一些。以目前的技术,OLED 的尺寸还难以大型化,但是分辨率确可以做到很高。
本设计,我选用了中景园电子的0.96寸OLED显示屏。

选用为0.96寸白色OLED模块,分辨率为128*64。
OLED裸屏总共种接口包括:6800、8080 两种并行接口方式、3线或4 线的串行SPI 接口方式、IIC 接口方式(只需要2 根线就可以控制OLED 了!),这五种接口是通过屏上的BS0~BS2来配置的。

IIC接口模块

在这里插入图片描述

为了简化硬件线路我选择了IIC接口模块
1.GND 电源地
2.VCC电源正(3~5.5V)
3.SCLOLED的D0脚,在IIC通信中为时钟管脚
4.SDAOLED的D1脚,在IIC通信中为数据管

vcc我选择了3.3v供电
SCL连接单片机PB14
SDA连接单片机PB15

关于模块的原理图,相关时序等内容,如果需要了解,移步我的个人中心下载。中景园官方的文档很细致,比我在这里码字清楚多了。

代码程序

以实现功能至上的我,鉴于OLED显示是在很多小设计里都会用到的部分,还是将其变为高度可移植化的内容比较合适。

部分关键内容展示如下:

void OLED_GPIO_Init()
{
   
 GPIO_InitTypeDef  GPIO_InitStructure;
       
 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB ,ENABLE);
 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15 ;
 //移植这部分代码,请按照自己的硬件接线修改此部分代码管脚
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
 GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void IIC_Start()
{
      
   OLED_SDIN_Set();//OLED_SDA = high;
     OLED_SCLK_Set();//OLED_SCL = high;
     OLED_SDIN_Clr();//OLED_SDA = low;
     OLED_SCLK_Clr(
  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值