K_A00_002 基于单片机驱动OLED 0.91 字符/切换图片/滚动显示

目录

一、资源说明

二、基本参数

        1、引脚说明

三、通信协议说明

        IIC通信

                1、起始信号

                2、停止信号

                3、等待应答

                4、发送数据

四、部分代码说明

        1、接线说明

                1.1、STC89C52RC+4针OLED(IIC)

                1.2、STM32F103C8T6+4针OLED(IIC)

        2、背光参数

五、相关资料

六、字符图片提取格式

 七、视频效果展示与程序资料获取

八、项目所有材料清单

 九、注意事项

十、接线表格


一、资源说明

单片机型号

测试条件

模块名称

代码功能

STC89C52RC

1.晶振11.0592M

OLED 0.91(4针 IIC)

  1. 0.91OLED显示分秒时钟
  2. 0.91OLED显示文字
  3. 0.91OLED切换显示图片
  4. 0.91OLED文字滚动显示

STM32F103C8T6

  1. 晶振8M
  2. 系统时钟72M

OLED 0.91(4针 IIC)

二、基本参数

  1. 一般使用主要关注驱动芯片,分辨率,通信接口,供电电压。

0ea9a2305af046878e1f5029825a622e.png

        1、引脚说明

4针IIC引脚

引脚说明

GND

GND引脚接电源地,如果外接电源,一般必须共地

VCC

VCC电源引脚,可接3.3V或5V,推荐3.3V

SCL

IIC时钟线

SDA

IIC数据线

三、通信协议说明

        IIC通信

                1、起始信号

                        时序图:

aa26b1588ca14a5fb0f602bf7e2deb0f.png

                         代码:

//IIC Start
void IIC_Start()
{
   OLED_SCL_High;		
   OLED_SDA_High;
	 IIC_Delay();
   OLED_SDA_Low;
	 IIC_Delay();
   OLED_SCL_Low;
}

                2、停止信号

                     时序图:

9535e667e8ba4799a9089847f4b960cd.png

                  代码:

//IIC Stop
void IIC_Stop()
{
   OLED_SCL_Low;
   OLED_SDA_Low;
	 IIC_Delay();
	 OLED_SCL_High;		
   OLED_SDA_High;
}

                3、等待应答

             时序图:

257630fd209a487eaf2af3af42ea4369.png

                   代码:

//等待信号响应,对应答信号进行判断并添加返回值
uint8_t I2C_WaitAck(void) //测数据信号的电平
{
	uint8_t Ack_Sta;
	OLED_SDA_High;
	IIC_Delay();
	OLED_SCL_High;
	IIC_Delay();
	if(OLED_SDA)
	{
		Ack_Sta = 1;
	}
	else
	{
		Ack_Sta = 0;
	}
	OLED_SCL_Low;
	IIC_Delay();
	return Ack_Sta;
}

                4、发送数据

                     时序图:

581bd3cd47d34b86a2bae5048e14c220.png

ff49b4f84f574391aace37052ae8d1d6.png

                    代码:

// 通过I2C总线写一个字节
uint8_t Write_IIC_Byte(uint8_t IIC_Byte)
{
	uint8_t i;
	for(i=0;i<8;i++)
	{
		if(IIC_Byte & 0x80)
		{
			OLED_SDA_High;
		}
		else
		{
			OLED_SDA_Low;
		}
		IIC_Delay();
		OLED_SCL_High;
		IIC_Delay();
		OLED_SCL_Low;
		IIC_Byte<<=1;
	}
  return I2C_WaitAck();
}

四、部分代码说明

        1、接线说明

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

                1.1、STC89C52RC+4针OLED(IIC)

sbit OLED_SCL = P1^0; //串行时钟

sbit OLED_SDA = P1^1; //串行数据

sbit OLED_RES = P1^2; //

                1.2、STM32F103C8T6+4针OLED(IIC)

//IIC 对应IO口高低电平 宏定义

//RES引脚

#define       OLED_RES_CLK                 RCC_APB2Periph_GPIOB   

#define       OLED_RES_PORT                GPIOB   

#define       OLED_RES_PIN                 GPIO_Pin_5

//SCL//DO

#define       OLED_SCL_CLK                 RCC_APB2Periph_GPIOB    

#define       OLED_SCL_PORT                GPIOB

#define       OLED_SCL_PIN                 GPIO_Pin_6      

//SDA//DI

#define       OLED_SDA_CLK                 RCC_APB2Periph_GPIOB    

#define       OLED_SDA_PORT                GPIOB

#define       OLED_SDA_PIN                 GPIO_Pin_7

        2、背光参数

                如需改OLED显示亮度可改Brightness宏定义,范围0x00~0xff,

//背光亮度调节宏定义,0x00~0xff

#define Brightness 0xCF

WriteCmd(0x81); //--set contrast control register//设置对比度,也就是亮度

WriteCmd(Brightness); //亮度调节 0x00~0xff

五、相关资料

  1. STC89C52RC程序下载 直戳跳转
  2. STM32F103C8T6程序下载
    1. 串口下载                直戳跳转 
    2. ST-LINK下载             直戳跳转
    3. J-LINK下载              直戳跳转
    4. DAP-LINK下载            直戳跳转
  3. 字符软件使用    直戳跳转

六、字符图片提取格式

文字格式:共阴——列行式——逆向——C51——行前后缀括号去掉

66a75ea3f71e48ccb3a84f8872f3b8a7.png

图像格式:共阴——列行式——逆向——C51——行前后缀括号去掉

c1be2d0942c249649cc29e8caedc845e.png

 七、视频效果展示与程序资料获取

        视频连接    直戳跳转

        资料获取            ( 滑到最后添加群号看公告免费获取)

八、项目所有材料清单

STC89C52RC驱动方案图片STM32F103C8T6驱动方案图片

备注

K_A00_002

STC89C52RC系统板X1

d02da46846ca459c9e4f3951401e1e64.jpeg

STM32F103C8T6系统板X1

986ce99c5cea4609af18100a1ae62ac0.jpeg

  1. OLED4针和7针看需要选一种即可
  2. STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电
  3. 杜邦线建议不用太长的
OLED 0.91 4针X1da20fc98740c4e349a728bcd86839fda.jpegOLED 0.91 4针X1cc2c98c55c934edcbdbb00b4ff7cf2ff.jpeg
Micro USB线X17c133ab29b624046b972033586e218f9.jpegMicro USB线X1f2356729d5f8405785de34180369baf6.jpeg
母母杜邦线X79df1a70e96cf443bb6a296894d80f40a.jpeg母母杜邦线X77fd0940a9b654deb98420ce6fcf3b750.jpeg
J-LINK下载器aabd950edd8149ceaa82382bbb1fcf58.jpeg

 九、注意事项

  1. VCC GND请勿接反,接反易烧
  2. 显示异常时,排除接线接触不良
  3. 同程序换其他同类屏幕后需要按单片机复位才会正常显示
  4. 不同尺寸OLED屏幕程序并不完全兼容
  5. 下载后显示多出一些杂点的时候可以重新上电复位下 

十、接线表格

单片机型号

模块

对应引脚(上:模块引脚 下:单片机引脚)

STM32F103

C8T6

OLED0.91  4针(IIC)

GND

VCC

SCL

SDA

RES

备注:OLED0.91 无RES,可不接

GND

3.3V

PB6

PB7

STC89C52RC

OLED0.91  4针(IIC)

GND

VCC

SCL

SDA

RES

GND

3.3V

P1.0

P1.1


 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值