SWM181 驱动SH1106 1.3寸 OLED屏幕显示

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SWM181 驱动SH1106 1.3寸 OLED屏幕显示相关的知识,希望对你有一定的参考价值。

SWM181 驱动SH1106 1.3寸 OLED屏幕显示


✨实测驱动的屏幕为sh1106,应该也可以驱动显示0.96寸的ssd1306屏幕。

  • 🌼所使用的开发板:

🔖本想通过硬件I2C驱动的,没法点亮屏幕,只能通过软件I2C来驱动。

  • 📌1.3寸屏幕资料
链接:https://pan.baidu.com/s/1IPY3meKgO1Saeu6uE_4R7g    
提取码:8888
  • 📍 0.96寸屏幕资料
链接:https://pan.baidu.com/s/1xy2zH8-hs-S8-_AcVtBP_g
提取码:0jhj

📑引脚说明

SWM181  --- OLED I2C
PA4 ------  SCL
PA5 ------ SDA

📝主程序代码

#include "SWM181.h"
#include "delay.h"
#include "oled.h"
#include "bmp.h"

int main(void)
	
	u8 t=' ';
	SystemInit();
	GPIO_Init(GPIOB, PIN8, 1, 0, 0, 0);			//输出,推挽模式,接LED
		GPIO_Init(GPIOA, PIN4, 1, 1, 0, 1);			//输出,上拉, 开漏输出
	GPIO_Init(GPIOA, PIN5, 1, 1, 0, 1);			//输出,上拉, 开漏输出

	OLED_Init();
	
	while(1)
	
		OLED_ShowPicture(0,0,128,64,BMP1,1);
		OLED_Refresh();
		GPIO_InvBit(GPIOB, PIN8);//电平反转
		delay_ms(250);delay_ms(250);
		OLED_Clear();
		OLED_ShowChinese(0,0,0,16,1);//中
		OLED_ShowChinese(18,0,1,16,1);//景
		OLED_ShowChinese(36,0,2,16,1);//园
		OLED_ShowChinese(54,0,3,16,1);//电
		OLED_ShowChinese(72,0,4,16,1);//子
		OLED_ShowChinese(90,0,5,16,1);//技
		OLED_ShowChinese(108,0,6,16,1);//术
		OLED_ShowString(8,16,(u8*)"ZHONGJINGYUAN",16,1);
		OLED_ShowString(20,32,(u8*)"2014/05/01",16,1);
		OLED_ShowString(0,48,(u8*)"ASCII:",16,1);  
		OLED_ShowString(63,48,(u8*)"CODE:",16,1);
		OLED_ShowChar(48,48,t,16,1);//显示ASCII字符	   
		t++;
		if(t>'~')t=' ';
		OLED_ShowNum(103,48,t,3,16,1);
		OLED_Refresh();
		delay_ms(250);delay_ms(250);
		OLED_Clear();
		OLED_ShowChinese(0,0,0,16,1);  //16*16 中
	  OLED_ShowChinese(16,0,0,24,1); //24*24 中
		OLED_ShowChinese(24,20,0,32,1);//32*32 中
	  OLED_ShowChinese(64,0,0,64,1); //64*64 中
		OLED_Refresh();
		GPIO_InvBit(GPIOB, PIN8);//电平反转
	  delay_ms(250);delay_ms(250);
  	OLED_Clear();
		OLED_ShowString(0,0,(u8*)"ABC",8,1);//6*8 “ABC”
		OLED_ShowString(0,8,(u8*)"ABC",12,1);//6*12 “ABC”
	  OLED_ShowString(0,20,(u8*)"ABC",16,1);//8*16 “ABC”
		OLED_ShowString(0,36,(u8*)"ABC",24,1);//12*24 “ABC”
	  OLED_Refresh();
		GPIO_InvBit(GPIOB, PIN8);//电平反转
		delay_ms(250);delay_ms(250);
		OLED_ScrollDisplay(11,4,1);
	



📚程序源码


链接: https://pan.baidu.com/s/1QSvCCAWLCSeQk4zoslRA4A
提取码: nvnj

以上是关于SWM181 驱动SH1106 1.3寸 OLED屏幕显示的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266 驱动1.3寸SH1106 OLED屏幕显示库

1.3寸OLED 12864 sh1106带中文字库液晶屏介绍

STM32F103VET6基于STM32CubeMX 配置硬件I2C驱动SH1106 OLED屏幕

Arduino ESP8266+OLED可视化音乐频谱:11段分频1.3寸OLED显示频谱线

ESP8266使用Adafruit_SH1106库来驱动1.3“OLED屏幕

STM32F103C8T6在Arduino框架下驱动SH1106 1.3“ IIC OLED显示