IIC接口完成OLED屏显示



一、相关资料下载

下载驱动:
0.96inch OLED Module MC096VX
在这里插入图片描述
在这里插入图片描述
下载字模软件
链接:https://pan.baidu.com/s/13bnrB-S8Y6JDRdXBbzzbjA
提取码:pmf1
在这里插入图片描述

二、姓名学号显示

将下载好的驱动解压
在这里插入图片描述
打开工程文件
在这里插入图片描述
在这里插入图片描述
打开字模软件
可更改设置为:
在这里插入图片描述
修改main.c,改成

#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
 int main(void)
  {
    
    	u8 t;
		delay_init();	    	 //延时函数初始化	  
		NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 	LED_Init();			     //LED端口初始化
	//		delay_ms(8000);
		OLED_Init();			//初始化OLED  
		OLED_Clear(0)  	; 	
		t=' ';
		
	while(1) 
	{
    
    		

		OLED_ShowCHinese(6,0,0);
		OLED_ShowCHinese(26,0,1);
		OLED_ShowCHinese(46,0,2);
		OLED_ShowString(4,3,"631807030235",16);   
		t++;
		delay_ms(500);
	}	  	
}

修改oledfont.h,只需要修改前三个,后面的不用管,把自己的字模代码贴上去即可
在这里插入图片描述
编译后生成hex文件,再进行烧录(实验时,做好了但我忘了拍照,所以没有最后的图)
在这里插入图片描述

三、滑动显示

生成字模
在这里插入图片描述
修改oledfont.h
在这里插入图片描述
修改main.c

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

 int main(void)
{
    
    	
		delay_init();	    	 //延时函数初始化	  
		NVIC_Configuration(); 	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 	LED_Init();			     //LED端口初始化
	//		delay_ms(8000);
		OLED_Init();			//初始化OLED  
		OLED_Clear(0)  	; 
	
		
	  OLED_ShowString(4,3,"hello",16);
	  OLED_ShowCHinese(6,0,0);
	  OLED_ShowCHinese(26,0,1);

	  delay_ms(50000);
	  
	  OLED_WR_Byte(0x2e,OLED_CMD);;//关滚动
	  OLED_WR_Byte(0x2A,OLED_CMD);//29向右,2a向左
	  OLED_WR_Byte(0x00,OLED_CMD);//A:空字节
	  OLED_WR_Byte(0x00,OLED_CMD);//B:水平起始页
	  OLED_WR_Byte(0x00,OLED_CMD);//C:水平滚动速度
	  OLED_WR_Byte(0x07,OLED_CMD);//D:水平结束页
	  OLED_WR_Byte(0x01,OLED_CMD);//E:每次垂直滚动位移
	  OLED_WR_Byte(0x2f,OLED_CMD);//开滚动  
		
}

生成hex文件并烧录(同样的,忘记拍照了。)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aiwr_/article/details/111798487