显示屏驱动

屏幕的资料

屏幕尺寸

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

分辨率

分辨率是像素数量,分辨率越高,屏幕越细腻;同样尺寸的屏幕,分辨率越高,即其像素点越多,像素点的尺寸也越小,所以显示同样的内容,会更加细腻
目前大部分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,,12864
这个是一个单色驱动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
}
(0)

相关推荐

  • 荣耀V30是曲面屏吗?荣耀V30是什么屏幕材质?

    荣耀V30是这款手机是荣耀旗下的首款5G手机,而且荣耀V30这款手机在刚发布的时候非常受欢迎,现在这款手机的热度依然非常的高,很多关注手机屏幕的小伙伴们都想知道这款手机是曲面屏,还有荣耀V30是什么屏 ...

  • 一文看透硅基OLED显示技术工艺流程、像素驱动方案……

    硅基OLED微型显示产品示意图 OLED,即有机发光二极管.其采用有机发光材料,各项性能明显优于LCD(液晶),被称为继CRT.LCD之后的第三代显示技术.而OLED微型显示,我们也叫硅基OLED显示 ...

  • OLED SH1106通过I2C显示

    预备知识 1. I2C基本原理 2. SH1106通过I2C读写 OLED初始化 #define OLED_CMD 0#define OLED_DATA 1/********************* ...

  • 【新提醒】基于HC32V103开发板的OLED显示驱动

    OLED屏是一种自身发光的显示器件,它有许多种类,如按色彩分,可分为单色屏.双色屏及彩色屏等:按尺寸分,可分为0.91'.0.96'屏等:按接口方式分,可分为I2C接口和SPI接口等. 其中,以I2C ...

  • LED显示屏的驱动方式

    LED显示屏的驱动方式大体可以分为:         一.恒压驱动.LED显示屏之前都是恒压驱动,随着技术的发展,恒压驱动逐渐被恒流驱动代替.         二.恒流驱动.恒流启动解决了各个LED管 ...

  • LED显示屏恒流驱动、恒压驱动

    恒流是指在驱动IC允许的工作环境内,恒定的输出设计时规定的电流值:恒压是指在驱动IC允许的工作环境内,恒定的输出设计时规定的电压值. LED显示屏之前都是恒压驱动,随着技术的发展,恒压驱动逐渐被恒流驱 ...

  • ISLE 显示屏盛大展会倒计时2天

    ISLE 显示屏盛大展会倒计时2天. ISLE(国际智慧显示及系统集成展.国际标识及智慧空间应用展)是东半球至TOP屏幕显示/音视频集成系统/舞台视听/广告标识及设备的专业展会,将在深圳国际会展中心( ...

  • 小微爆发年:考核“首贷户”、重划中小企业认定标准,两项新政驱动新生态

    4月份即将步入尾声,监管部门接连发布的2项新政,促使业界意识到2021年必将是"小微爆发年".第一项政策是银保监会发出的<关于2021年进一步推动小微企业金融服务高质量发展的 ...

  • 领导梯队:全面打造领导力驱动型公司

    目录 推荐序 译者序 作者简介 序言 再版序 导论 // 001 第1章 概述:领导力发展的六个阶段 // 016 第一阶段:从管理自我到管理他人 // 017 第二阶段:从管理他人到管理经理人员 / ...

  • 博途V16 中驱动基本定位功能(EPOS)的实现

    与以往不同,从博途V16及Startdrive V16版本之后,PLC 对于驱动基本定位功能(EPOS)的控制需要采用驱动工艺对象的方法来实现,以替代之前版本的FB284功能块控制方式. 如果所连的 ...

  • ***柴油发电机 小型发电设备 /**小型家用柴油发电机/ 汽油发电机 省油宁静安全可靠 汽车发电机 汽车的主要电源 风力发电机 用风力驱动的机械装置

    柴油发电机 小型发电设备 汽油发电机 省油宁静安全可靠 汽车发电机 汽车的主要电源 风力发电机 用风力驱动的机械装置 小型家用柴油发电机 小型家用柴油发电机组 小型家用柴油发电机价格是多少 小型家用柴 ...

  • MCU固件的''驱动分离式''设计思想

    今天跟大家找了一种常见的应用与驱动分离设计的方式,对于目前一些高性能MCU还是值得使用一下的,不过对于原本主频不够高.性能不太强的MCU不建议使用,毕竟这样的设计还是牺牲了一定的性能. 在正规的项目开 ...

  • Linux红外驱动重点解析

    红外遥控是我们经常见到的一种无线收发设备,比如电视遥控,空调遥控,现在电视遥控有些慢慢变成了蓝牙装置.昨天是在知识星球里面看到有人提问,今天来解析一份网友写的驱动程序. 调试红外需要注意几个细节 1. ...