0.96寸OLED屏幕7针SPI接口使用指南

news/2025/1/29 10:57:56/

这是我在淘宝上买的7针LED屏,根据卖家提供的资料整理出如何驱动这块OLED屏显示

 

 首先是接线,我们直接打开例程的文件夹,找到自己对应的板子,卖家提供了51、arduino、MSP430、STM8和STM32的驱动程序,打开之后看到代码main函数里会提示如何接线

 

 接好线以后我们可以试着编译下载提供的例程,对比源码与实物,初步认识OLED是如何工作的;

从源码中我们可以看出,在显示的时候,当我们选择16x16显示的时候,X取值最大可以取到108,Y最大可以取到48,这是因为这块OLED屏幕像素是128*64,选择16x16显示的时候,把长16个像素和宽16个像素划分出一个区域,屏幕显示汉字时就会根据你定的X和Y坐标,在该区域显示出来,为了不重叠,我们最好设置每一个汉字的列都隔开两个像素,这样我们就把屏幕划分为一个4行x7列,共可以显示28个汉字。另外两种大小的显示可以以此类推。

 

 

 

 

 

 接着我们来查看显示函数

void OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1)
{u8 i,m,n=0,temp,chr1;u8 x0=x,y0=y;u8 size3=size1/8;while(size3--){chr1=num*size1/8+n;n++;for(i=0;i<size1;i++){if(size1==16){temp=Hzk1[chr1][i];}//调用16*16字体else if(size1==24){temp=Hzk2[chr1][i];}//调用24*24字体else if(size1==32)       {temp=Hzk3[chr1][i];}//调用32*32字体else if(size1==64){temp=Hzk4[chr1][i];}//调用64*64字体else return;for(m=0;m<8;m++){if(temp&0x01)OLED_DrawPoint(x,y);else OLED_ClearPoint(x,y);temp>>=1;y++;}x++;if((x-x0)==size1){x=x0;y0=y0+8;}y=y0;}}
}

 我们可以看到该显示先判断传进来的字符大小size1,假设我们选16*16,那实际显示的是数组Hzk1[chr1][i]的内容,接着我们去查看该数组,数组是由文字取模工具生成,我们可以自己用文字取模工具生成文字,然后放到数组中;(取模步骤过于简单,略)

 在调用文字显示函数OLED_ShowChinese(u8 x,u8 y,u8 num,u8 size1),第三个参数num即是我们取模生成的数组中第几个字,例程中最大可以存放11个字,当我们需要存放超过11个时会报错,只需把数组的行改为适当的数字或者不填(c语言中数组的行可不填,列必须填)即可;

 

 测试,运行成功:


http://www.ppmy.cn/news/441853.html

相关文章

0.96寸 4针OLED屏模块功能实现(STM32)

认识模块 0.96寸4针OLED屏模块是一种显示屏模块&#xff0c;它包括一个0.96英寸的OLED显示屏和4个引脚。这种OLED屏幕模块通常用于嵌入式系统和小型电子设备中&#xff0c;可以显示文本、图像和其他类型的信息。由于其小尺寸和低功耗&#xff0c;它们也常用于智能手表、健康追踪…

超声波测距+OLED显示

文章目录 超声波测距OLED显示超声波STM32引脚配置代码启动超声波模块接收超声波数据回传 超声波测距OLED显示 超声波模块使用的是HC-SR04模块&#xff0c;单片机使用的是STM32F407 超声波 超声波时序图 以上时序图表明你只需要提供一个 10uS 以上脉冲触发信号&#xff0c;该…

LTDZ_35-4400M 频谱仪使用

硬件模块如下图&#xff1a; 这块板子&#xff0c;能进行简单的扫频监测使用&#xff0c;我是用来对设计的射频模块的输出频率测试的&#xff0c;由于频谱仪价格都比较昂贵&#xff0c;对于做DIY实验来说&#xff0c;是不现实的。我就入手了这个模块&#xff0c;用来简单的扫频…

基于战舰V3的4.3寸电容触摸屏

基于战舰V3的4.3寸电容触摸屏 原理简介 4.3寸电容屏可以等效为800*480个点&#xff0c;当我们触碰到LCD屏幕时&#xff0c;触摸点的电容值会发生变化&#xff0c;此时内置MPU可以读取到这一点的准确坐标我们访问其中的寄存器就可以获取该信息&#xff0c;而且电容屏不像电阻屏…

超声波测距OLED显示

文章目录 一、前言二、超声波模块介绍1、超声波模块2、HC-SR04模块 三、硬件连接四、软件代码五、效果展示六、代码链接 一、前言 超声波模块是通过声音的传播进行测距&#xff0c;声音传播的速度与所用时间通过运算得出距离&#xff0c;精度相对较高&#xff0c;可用于近距离…

11.6寸eDP显示屏添加以及所遇问题总结

Platform: ROCKCHIP Chip: RK3399 OS: Android7.1.2 Kernel: 4.4.126 edp屏添加 edp驱动被分成两个文件&#xff0c;一个是rk驱动文件&#xff1a; analogix_dp-rockchip.c, 另一个是drm驱动文件analogix_dp_core.c 1.硬件原理图&#xff1a; 电源IO对应gpio1_b5&#xff0c;…

MINSTER触摸屏维修贝加莱显示屏维修5RP920.1505-KC3

触摸屏触摸无反应处理方法&#xff1a;要查看各接线接口是否呈现松动&#xff0c;然后查看串口及中止号是否有抵触&#xff0c;若有抵触&#xff0c;应调整资源&#xff0c;避开抵触。再查看接触屏表面有没有呈现裂缝&#xff0c;如有裂缝应及时替换。还需要查看接触屏表面是否…

0.96寸oled屏幕在任意区域画点

首先&#xff0c;我使用的是SPI协议的0.96寸oled屏幕&#xff0c;如图 相信大家在淘宝下单的时候&#xff0c;能以各种渠道获得“中景园科技”的关于驱动该屏幕的源码&#xff0c;但令人遗憾的是&#xff0c;源码中仅仅包含了写数字&#xff0c;写指数&#xff0c;写符号&…