基于IIC的接口的OLED数据显示

一、相关资料

1.官方链接:0.96寸IIC 4针 GND开头中文wiki
2.相关代码资料包:
在这里插入图片描述
3.字模软件:
在这里插入图片描述
4.字模软件设置:
在这里插入图片描述
在这里插入图片描述

二、显示目的字符

(一)代码

1.将相关资料中的代码打开,找到main.c文件。
在这里插入图片描述
在这里插入图片描述
硬件连接,根据main.c函数里面的备注进行连接,不同的总结连接不同
2.修改成如下代码:

#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(16,0,0);//通
		OLED_ShowCHinese(36,0,1);//信
		OLED_ShowCHinese(56,0,2);//工
		OLED_ShowCHinese(76,0,3);//程
		OLED_ShowCHinese(36,3,4);//wei,修改成自己的名字
		OLED_ShowCHinese(56,3,5);//jun,修改成自己的名字(三个字的名字需要将下一条屏蔽语句加上)
		// OLED_ShowCHinese(76,3,5); 
		OLED_ShowString(4,6,"631807030500",12);  //根据自己的学号进行修改  
		t++;
		delay_ms(50000);
	}	  	
}

(二)生成字模

1.编译,找到oledfont.h文件。
在这里插入图片描述
2.用字模工具生成相应字符的字模。
在这里插入图片描述

3.将生成字模代码保存到如下图所示函数中。
在这里插入图片描述

(三)烧录程序

在下是使用的串口烧录程序
1.安装驱动。
在这里插入图片描述
2.串口烧录。
在这里插入图片描述
3.烧录成功则OLED屏幕会显示结果。

(四)结果

具体结果如下所示:
在这里插入图片描述

三、 显示温度和湿度

过程与上述显示目的字符类似,以下只展示不同的地方

(一)代码

1.修改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_ShowString(6,6,"631807030524",14); 
		OLED_ShowString(46,1,"  72",12); 
		OLED_ShowString(46,4,"  13",12);    
		OLED_ShowCHinese(6,0,0);//Í
		OLED_ShowCHinese(26,0,1);//Ð
		OLED_ShowCHinese(6,3,2);//¹
		OLED_ShowCHinese(26,3,3);//³
		t++;
		delay_ms(50000);
	}

(二)结果

结果如下所示:
在这里插入图片描述

四、滑动显示长字符

过程与上述显示目的字符类似,以下只展示不同的地方

(一)代码

1.找到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=' ';

		OLED_Clear(0);
		OLED_ShowCHinese(6,4,0);//
		OLED_ShowCHinese(26,4,1);//
		delay_ms(5000);
		OLED_ShowString(6,6,"hello world!",16); 
		OLED_WR_Byte(0x2e,OLED_CMD);       
        OLED_WR_Byte(0x29,OLED_CMD);       
        OLED_WR_Byte(0x00,OLED_CMD);       
    	OLED_WR_Byte(0x00,OLED_CMD);        
    	OLED_WR_Byte(0x07,OLED_CMD);        
    	OLED_WR_Byte(0x07,OLED_CMD);        
    	OLED_WR_Byte(0x01,OLED_CMD);       
    	OLED_WR_Byte(0x2F,OLED_CMD);
    }

(二)生成字模

1.使用字模工具生成目的字模。
在这里插入图片描述

0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x41,0x42,0x41,0x40,0x40,0x00,//卫0

0x08,0x06,0x22,0x22,0xA2,0x62,0x3A,0xA2,0x22,0x22,0x22,0x22,0x22,0x0A,0x06,0x00,
0x10,0x10,0x12,0x13,0x12,0x12,0x12,0xFF,0x12,0x12,0x12,0x12,0x12,0x10,0x10,0x00,//军1

2.将生成字模代码保存到如下图所示函数中。
在这里插入图片描述

(三)结果

在这里插入图片描述

五、总结

本次实验可以通过SPI和IIC来做,由于OLED有限,使用IIC做的,其实两个总线的OLED大体上类似,只有部分细节不同,如函数参数、字模设置不同。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值