打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
显示屏驱动

屏幕的资料

屏幕尺寸

屏幕尺寸是物理单位以屏幕对角线的长度来计量,计量单位为英寸。

分辨率

分辨率是像素数量,分辨率越高,屏幕越细腻;同样尺寸的屏幕,分辨率越高,即其像素点越多,像素点的尺寸也越小,所以显示同样的内容,会更加细腻
目前大部分OLED屏幕为0.96寸,分辨率是12864(水平像素×垂直像素),即128个点64个点

程序控制

首先需要确定显示屏的驱动IC(Driver IC),不同的IC有不同的控制方法,大部分都一样的
COM可以说是“公共端”,提供稳定的供电,而SEG是指“段”segment,也就是“扫描端”,通过COM与SEG的组合,点亮不同的LCD或LED显示段。

水平地址模式(整个屏幕)

垂直地址模式(整个屏幕)

屏幕选择更新

其他的一些模式(需要看驱动芯片手册)


滚动效果

左右滚动/上下滚动

Buffer空间大小

SSD1327,128128
这个是一个有16位灰度的驱动IC,可以设置屏幕的灰度值,一个字节等于两个水平像素点,所以刷新一个屏幕需要总buffer空间(128/2)128=8192
SSD1306,,128
64
这个是一个单色驱动IC,分page和col,一个字节等于一个page的一列,所以刷新一个屏幕需要总buffer空间128
(64/8)=1024

void OLED_IC_Init()
{
//显示开关
OLED_Write_Command(0xAE); //Set Display Off

//设置时钟分频因子,震荡频率
OLED_Write_Command(0xD5); //display divide ratio/osc. freq. mode
OLED_Write_Command(0x83);//

//设置驱动行数(总行数)
OLED_Write_Command(0xA8); //multiplex ration mode:63
OLED_Write_Command(0x3F);//3F=64

//显示偏移(RAM显示行偏移,全部显示的)
OLED_Write_Command(0xD3); //Set Display Offset
OLED_Write_Command(0x00);

//显示开始行(当为x时,RAM行x映射到COM0,以此类推;不会全部显示)
OLED_Write_Command(0x40); //Set Display Start Line

//显示开始列
OLED_Write_Command(0xA1); //Segment Remap
/*
//SSD1327
//设置列
    OLED_Write_Command(0x15);    //   set column address
    OLED_Write_Command(0x00);    //  start column   0
    OLED_Write_Command(0x3f);    //  end column   127

//设置行
    OLED_Write_Command(0x75);    //   set row address
    OLED_Write_Command(0x00);    //  start row   0
    OLED_Write_Command(0x7f);    //  end row   127
*/
/*
//SP5040
//DC-DC控制开关
OLED_Write_Command(0xAD); //DC-DC Control Mode Set
OLED_Write_Command(0x8B); //DC-DC ON/OFF Mode `Set

//
OLED_Write_Command(0x33); //Set Pump voltage value
*/
//COM扫描方式
OLED_Write_Command(0xC8); //Set COM Output Scan Direction

//设置COM硬件引脚配置
OLED_Write_Command(0xDA); //common pads hardware: alternative
OLED_Write_Command(0x12);

//对比度(亮度)
OLED_Write_Command(0x81); //contrast control
OLED_Write_Command(0x80);//1-255,默认0x7F/80

//预充电周期?
OLED_Write_Command(0xD9); //set pre-charge period
OLED_Write_Command(0x1F);

//设置VCOM 电压倍率?
OLED_Write_Command(0xDB); //deselect level mode
OLED_Write_Command(0x2D);

//全局显示开启
OLED_Write_Command(0xA4); //跟随RAM,Set Entire Display On/Off

//显示方式
OLED_Write_Command(0xA6); //Set Normal Display

//显示开关
Write_OLED_Write_Commandommand(0xAF); //Set Display On
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【新提醒】基于HC32V103开发板的OLED显示驱动
基于80C51微处理器的OLED模块设计
基于全志D1
OLED发光原理和OLED面板结构及OLED关键技术深度图文解析
AMOLED与OLED技术解析
开关电源设计中有源驱动与无源驱动矩阵的八个不同点
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服