LCD SSD1305

SSD1305

简介

  SSD1306是一款带控制器的用于OLED点阵图形显示系统的单片CMOS OLED/PLED驱动器。它由128个SEG(列输出)和64个COM(行输出)组成。该芯片专为共阴极OLED面板设计。

  SSD1306内置对比度控制器、显示RAM(GDDRAM)和振荡器,以此减少了外部元件的数量和功耗。该芯片有256级亮度控制。数据或命令由通用微控制器通过硬件选择的6800/8000系通用并行接口、I2C接口或串行外围接口发送。该芯片适用于许多小型便携式应用,如手机副显示屏、MP3播放器和计算器等。

器件特性

分辨率:128 x 64 点阵
电源:对于集成逻辑电路,VDD=1.65V3.3V;对于面板驱动,VCC=7V至15V
点阵驱动:OLED驱动输出电压,最大15V;SEG最大源电流:100uA;COM最大汇电流:15mA;256阶对比度亮度电流控制
内置128 x 64位SRAM显示缓冲区
引脚可选择的MCU接口:8位6800/8080串并接口、 3/4线串行外围接口、I2C接口
水平和垂直方向的屏幕保持连续滚动功能
RAM写同步信号
可编程帧速率和复用率
行重映射和列重映射
片内内置振荡器
COG和COF的芯片封装
工作温度范围广:-40°C至85°C

接口定义

初始化的参数配置

详见规格书

代码实现

//初始化代码
static Uint32 config_ssd1305[] =
{0xAE,0x04,0x10,0x40,0x81,0x80,0xA1,0xA6,0xA8,0x1F,0xC8,0xD3,0x00,0xD5,0xF0,0xd8,0x05,0xD9,0xC2,0xDA,0x12,0xDB,0x08,0xAF };

//页面显示的分区切换命令
static Uint32 cmd_ssd1305[] = {
0xB0,0x04,0x10,
0xB1,0x04,0x10,
0xB2,0x04,0x10,
0xB3,0x04,0x10,
0xB4,0x04,0x10,
0xB5,0x04,0x10,
0xB6,0x04,0x10,
0xB7,0x04,0x10,
};


static void fbuffer_update(void)
{
int i,j;
int addend;

for(j=0;j<4;j++)
{
ssd1305_DC_low; //cmd
TaskSleep_milliseconds(1);

for(i=0;i<3;i++)
{
SPI_buff_Write(&cmd_ssd1305[i+3*j],1); //页面显示的分区切换命令
TaskSleep_milliseconds(1);
}

ssd1305_DC_high; //data
TaskSleep_milliseconds(1);

SPI_buff_Write((Uint32 *)(ssd_frambuffer_s+128*j),(128)); //发送数据

TaskSleep_milliseconds(1);

}

}

void ssd1305_TaskMain(void)
{
int i;

ssd_spi_config(); //SPI配置
ssd1305_RESET_high;
TaskSleep_milliseconds(100);
ssd1305_RESET_low;
TaskSleep_milliseconds(100);
ssd1305_RESET_high; //复位

ssd1305_DC_low;
ssd1305_RESET_high;
TaskSleep_milliseconds(100);


/** config 1305**/ //配置初始化代码
for(i=0;i<30;i++){
SPI_buff_Write((Uint32*)&config_ssd1305[i],1);
}

while(1)
{
fbuffer_update(); //显示图像

TaskSleep_milliseconds(100);
}
}

posted @ 2025-11-05 15:19  张大帅哥  阅读(6)  评论(0)    收藏  举报