一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 589|回复: 0
收起左侧

96x64彩色OLED SSD1332主控

[复制链接]
发表于 2022-2-2 19:12 | 显示全部楼层 |阅读模式
本帖最后由 reiyawea 于 2022-2-2 19:18 编辑

前言
偶然从箱底找出一个OLED屏,经过几天研究,翻遍国外网站,终于成功点亮。现记录如下,以期能帮助后来人。

屏信息
玻璃基板背面印字:PG-9664GFDB.03A、E05B0087-04-J03
软排线正面铜层字:UT、0232-F02
软排线背面印字:UG-9664GFDBF04、E055301、CP05C0035
升压板正面印字:ALO-095BSLN-J9、070409
此屏为OLED加软排线,排线上有升压和其他外围电路,底部0.5mm 22pin接口直连MCU即可。
单3.3V供电,升压电路输出13.75V,上电即启动。未使用主控内置的升压电路。
1 - 副本.jpg 2 - 副本.jpg

引脚定义
结合多方资料与实物交叉对比分析得出,可信度很高。
为了方便观察,下图为背面照片的镜像翻转,引脚从右至左为1到22。
4 - 副本.jpg

点亮效果
下图为65K色(5-6-5)模式。也支持256色(3-3-2)模式。
3 - 副本.jpg

主控资料
SSD1332_OLED_96x64_COLOR.pdf (926.02 KB, 下载次数: 4)

接口
BS1、BS2接地,变为串行接口(SPI模式0),此时使用的引脚为
D/C#为数据/指令
CS#为片选
RES#为复位
D0为时钟SCLK
D1为数据SDIN
D2悬空
D3到7、E、R/W接地

启动代码
以下为C风格伪代码表示的启动过程,实际使用要根据硬件平台补充相关底层函数。
图像数据表示法:每像素用2字节表示,高5位为蓝,中6位为绿,低5位为红,先发高字节再发低字节。

  1. #include <stdint.h>

  2. const uint8_t oled_init_table[] = {
  3.     0xae, //OLED display OFF
  4.     0xa0, //Set remap&data format 0111 0000
  5.     0x74,
  6.     0xa1, //set display star row RAM
  7.     0x00,
  8.     0xa2, //set dispaly offset
  9.     0x00,
  10.     0xa4, //Set Display Mode
  11.     0xa8, //Set Multiplex Ratio
  12.     0x3f,
  13.     0xad, //Set Master Configuration
  14.     0x8f, //(External VCC Supply Selected)
  15.     0xB0, //Set Power Saving Mode
  16.     0x1a,
  17.     0xB1, //Set Phase 1 & 2 Period Adjustment
  18.     0x74,
  19.     0xb3, //Set Display Clock Divide Ratio / Oscillator Frequency
  20.     0xd0,
  21.     0x8A, //Set Second Pre-charge Speed of Color A
  22.     0x81,
  23.     0x8B, //Set Second Pre-charge Speed of Color B
  24.     0x82,
  25.     0x8C, //Set Second Pre-charge Speed of Color C
  26.     0x83,
  27.     0xBB, //Set Pre-charge Level
  28.     0x3e,
  29.     0xBE, //Set VCOMH
  30.     0x3e,
  31.     0x87, //Set Master Current Control
  32.     0x0f,
  33.     0x81, //Set Contrast Control for Color “A”
  34.     0x80,
  35.     0x82, //Set Contrast Control for Color “B”
  36.     0x80,
  37.     0x83, //Set Contrast Control for Color “C”
  38.     0x80,
  39.     0xaf, //dispaly ON
  40. };

  41. void OLED_init()
  42. {
  43.     RST = 0;
  44.     Delay_ms(20);
  45.     RST = 1;
  46.     Delay_ms(80);
  47.     DC = 0;
  48.     for (i = 0; i < sizeof oled_init_table; i++)
  49.     {
  50.         oled_write_cmd(oled_init_table[i]);
  51.     }
  52. }

  53. void OLED_display()
  54. {
  55.     uint16_t i;

  56.     oled_write_cmd(0x75); // Set Row Address
  57.     oled_write_cmd(0x00); // Start = 0
  58.     oled_write_cmd(0x3f); // End = 63
  59.     oled_write_cmd(0x15); // Set Column Address
  60.     oled_write_cmd(0x00); // Start = 0
  61.     oled_write_cmd(0x5F); // End = 96
  62.     for (i = 0; i < 96 * 64 * 2; i++)
  63.     {
  64.         oled_write_data(image[i]);
  65.     }
  66. }

  67. void main()
  68. {
  69.     GPIO_init();
  70.     SPI_init();
  71.     OLED_init();
  72.     OLED_display();
  73.     while(1);
  74. }
复制代码


本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-2 09:23 , Processed in 0.059545 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表