0.96寸OLED屏显示(IIC通信)Ⅰ

0.96寸OLED屏显示(IIC通信)


一、0.96寸OLED简介
  0.96寸OLED屏内部驱动IC为SSD1306;兼容6800、8080两种并行接口方式,3线或 4线的串行SPI接口方式和 IIC 接口方式。配置哪种模式,需要根据BS0、BS1和BS2这三个管脚的电平逻辑来设置的。
在这里插入图片描述

二、SSD1306IIC通信时序
在这里插入图片描述由上图可知,SSD1306 IIC通信时序为:
1、起始信号。
2、主机发送从机地址Slave Address。
3、主机等待应答,从机应答。
4、主机发送控制字节Control byte。
5、主机等待应答,从机应答。
6、发送数据/命令。

  Slave Address:SSD1306在发送或接收任何信息之前必须识别从地址IIC总线,设备将响应从地址后面的从地址位(“SA0”位)和读写选择位(“R/W#”位),其字节格式如下:
 b7 b6 b5 b4 b3 b2 b1 b0
 0  1 1 1 1 0 SA0 R/W#
  D/C引脚作为从地址选择的SA0的控制引脚,通常接地,所以从地址高七位为0111100。我们控制OLED显示时主要是向SSD11306写数据/命令,选择写模式,R/W=0。所以完整的从机地址为01111000即0x78。
在这里插入图片描述

  Control byte:控制字节由Co位和D/C#位组成。Co=0,控制字节后传输的信息仅包含1Byte;Co=1,控制字节后传输的信息可包含连续的 n Byte。D/C#位是数据/命令选择位。D/C=1,SSD1306接收到的字节充当数据;D/C=0,SSD1306接收到的字节充当命令。

/**********发送命令函数**********/
void Write_IIC_Command(u8 command)
{
	OLED_IIC_Start();
	OLED_IIC_Writebyte(0x78); //发送从地址0x78
	OLED_IIC_Wait_Ack();
	OLED_IIC_Writebyte(0x00); //控制字节,传输单个字节充当命令
	OLED_IIC_Wait_Ack();
	OLED_IIC_Writebyte(command); //发送命令
	OLED_IIC_Wait_Ack();
	OLED_IIC_Stop();
}
/**********发送数据**************/
void Write_IIC_Data(u8 data)
{
	OLED_IIC_Start();
	OLED_IIC_Writebyte(0x78);
	OLED_IIC_Wait();
	OLED_IIC_Writebyte(0x40); //控制字节,传输单个字节充当数据
	OLED_IIC_Wait();
	OLED_IIC_Writebyte(data);//发送数据
	OLED_IIC_Wait();	
	OLED_IIC_Stop();
}

详细代码实现:
https://download.csdn.net/download/z13005579406/20263105
0.96寸OLED屏显示(IIC通信)Ⅱ后续更新

  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Arduino 0.96OLED显示屏IIC是一种基于IIC通信协议的OLED显示屏,适用于Arduino等开发板。它具有高亮度、低功耗、高对比度、快速响应等特点,可用于显示各种图形和文字。同时,它还具有简单易用、灵活性高等优点,非常适合初学者和爱好者使用。 ### 回答2: Arduino 0.96 OLED显示屏 IIC是一种非常常见的显示屏,其特点是具有占用空间小、功耗低、显示效果好等优点,可以在很多Arduino项目中使用。 首先,这种显示屏采用的是IIC接口,也就是说只需要两根线就能够与Arduino板子进行通信,并且可以通过程序设置IIC地址,从而实现多个IIC设备同时使用。同时,该显示屏的驱动芯片是SSD1306,可以支持128x64像素的分辨率,同时支持汉字,图片等多种显示方式。 在Arduino中使用该显示屏需要先安装相应的库文件,然后通过简单的编程即可实现显示文字、图形等操作。例如,要在显示屏显示“Hello World!”,可以使用下面的代码: ``` #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> Adafruit_SSD1306 display(128, 64, &Wire, -1); void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay(); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(10, 10); display.println("Hello World!"); display.display(); } void loop() { } ``` 上述代码首先引入了相应的库文件,然后初始化了显示屏,定义了要显示的文字等信息,最后进行绘制并刷新幕。 此外,由于该显示屏占用空间小、功耗低,因此在嵌入式系统、物联网等领域得到广泛应用,例如在智能家居、智能手表等产品中,都会使用到该显示屏显示各种信息。 总之,Arduino 0.96 OLED显示屏 IIC是一种小巧、易于使用的显示屏,可以通过简单的编程实现各种显示效果,具有广泛的应用前景。 ### 回答3: Arduino 0.96OLED显示屏IIC(Inter-Integrated Circuit)是一种采用IIC通讯协议的OLED显示屏,可以与Arduino开发板进行通讯,实现图像和文本的显示。它采用的是128*64分辨率的OLED幕,具有高清晰度和高对比度的显示效果。此外,它还可以灵活控制幕的亮度、对比度等参数。 IIC通讯协议是一种串行通讯协议,具有简单、快速、高效的特点,广泛应用于数字IC与数字IC之间的通讯。在Arduino开发中,IIC通讯协议可以通过编写相应的代码实现与各种IIC设备的通讯,如拓展IO板、传感器等。 使用Arduino 0.96OLED显示屏IIC,需要先下载相应的库文件,并进行调用。然后,将显示屏与Arduino开发板进行连接,需要连接VCC、GND、SDA(数据线)、SCL(时钟线)。接着,在代码中设置相应的引脚和幕参数,如通讯速度、亮度、对比度等。 在实际应用中,可以通过Arduino开发板获取各种传感器的数据,并将其通过IIC协议发送到OLED显示屏上进行显示。这样可以实现对实时数据的监控和处理,为各种科研和工程应用提供便利。 总之,Arduino 0.96OLED显示屏IIC是一种实用的OLED显示设备,具有高清晰度、高对比度、简单易用等特点,在各种数字化系统和嵌入式应用中都具有广泛的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值