文章详情

清达光电HGS128646-Y-EH应用资料

日期:2024-11-23 02:54
浏览次数:2244
摘要: 清达光电HGS128646-Y-EH应用资料——产品编码: OLED产品编码规则 HGS 25664 1 – Y - E H- LV- U ⑴ ⑵ ⑶ ⑷ ⑸ ⑹ ⑺ ⑴: 清达光电OLED模块: HGS→图形点阵OLED; HCS→字符OLED ⑵: 显示规格: 字符→每行字符数*行数; 图形→行点数*列点数 ⑶: 产品序列号: 字母→OLED玻璃; 数字→OLED模块 ⑷: 显示颜色: A→琥珀色; B→蓝色; C→彩色; G→绿色; W→白色; Y→黄色 ⑸: 工作温度:超宽温,具体请参照详细资料 ⑹:...

清达光电HGS128646-Y-EH应用资料——产品编码:

OLED产品编码规则  HGS  25664  1 –   Y -  E H-  LV-  U               

                                ⑴    ⑵    ⑶    ⑷   ⑸    ⑹   ⑺

⑴: 清达光电OLED模块:  HGS→图形点阵OLED; HCS→字符OLED  ⑵: 显示规格: 字符→每行字符数*行数; 图形→行点数*列点数 ⑶: 产品序列号: 字母→OLED玻璃; 数字→OLED模块  ⑷: 显示颜色: A→琥珀色; B→蓝色; C→彩色; G→绿色; W→白色; Y→黄色  ⑸: 工作温度:超宽温,具体请参照详细资料  ⑹: 电源:  省略→5V; LV→3.3V  ⑺: 内部序号


清达光电HGS128646-Y-EH应用资料——模块规格

显示类型 OLED/黄色

数据输入 8-bits 80、串行

占空比 1/64 

驱动 IC SSD1325

外壳 0.7 T

工作温度 -40 oC ~ 80 oC 储存温度 -40 oC ~ 80 oC
外形尺寸 93.0(W)×70.0(H)×9.4MAX.(T) mm 

可视区 65.0(W)×33.0(H) mm 

有效区 61.41(W)×30.69(H) mm 

点阵 128 DOTS×64 DOTS --- 

点距离 0.48(W)×0.48(H ) mm 

大小 0.455(W)×0.455(H) m



                                                                            原理结构图


清达光电HGS128646-Y-EH应用资料——外形及接口

                                                                   外形图

1 VSS 0V 接地

2 VDD +5.0V 逻辑电压

3 V0 -- 空脚

4 A0 H/L 数据/指令选择

5 /WR L 写信号

6 /RD L 读信号

7~14 DB0~DB7 H/L 数据线 串行:D1--SI D0--SCL

15 /CS L 使能信号

16 /REST L 复位信号,低有效

17 M80 H/L

18 MS H/L M80 MS:接口选择 11:  8080 00: 串行

19 NC -- 空脚

20 FG -- 框架接地

注意:在串口模式,/WR、DB3~DB7接地,DB2空脚,/RD接高。


清达光电HGS128646-Y-EH应用资料——时序相关

                                                        8080时序图



清达光电HGS128646-Y-EH应用资料——参考电路


清达光电HGS128646-Y-EH应用资料——部分示例程序代码

(2)示例程序:#include<reg51.h> #include <string.h> #include <intrins.h> #include <math.h> #define uchar unsigned char #define uint unsigned int  #define DATA  P1 sbit CD  = P3^0; sbit WR1 = P3^1; sbit RD1 = P3^3; sbit CS  = P3^4; sbit RES = P3^5; //17 18脚拉高;  uchar RAM_data[4]; 

   延时子程序; *******************************************

void delay(uint z) { uint x,y; for(x=z;x>0;x--)    for(y=124;y>0;y--); } void delay_100us(uchar z) { z=z*16; while(z--); } /*******************************************      写入指令和数据; *******************************************/

void wr_data(uchar b) //写数据  ; { RD1=1; CS=0; CD=1; DATA=b; WR1=0;  WR1=1; _nop_(); CS=1; }

void wr_com(uchar com)   //写命令; { RD1=1; CS=0; CD=0; DATA=com; WR1=0;  WR1=1; _nop_(); CS=1; }

/***********************转换程序 : 16阶灰度,一个地址8位,4位一个像素,想控制8个点,就须写4个地址的RAM数据; **************/

void change(uchar b) { uchar i; for(i=0;i<4;i++)        {          switch(b&0xc0)           {        case 0x00: RAM_data[i]=0x00;break;           case0x40:  RAM_data[i]=0x0f;break;        case 0x80: RAM_data[i]=0xf0;break;           case 0xc0: RAM_data[i]=0xff;break;          default:   break;        }      b=b<<2;                                    wr_data(RAM_data[i]);                    } } /*******************************************   工作窗口设置; *******************************************

/ void SET_AW(uchar a,uchar b,uchar c,uchar d) { wr_com(0x15);   wr_com(a);    wr_com(b);     wr_com(0x75);    wr_com(0x0c+c);      wr_com(0x0c+d);     }

/*******************************************   隔行,隔列,全屏,隔点程序; *******************************************/ void all_screen(uchar b) //128*80整个RAM区清屏; { uchar i,j; wr_com(0x15);   wr_com(0x00);     wr_com(0x3f);     wr_com(0x75);   wr_com(0x00);    wr_com(0x4f);    for (j=0;j<80;j++)   for (i=0;i<64;i++) wr_data(b);     }  void fill(uchar b)//128*64显示界面的操作,b=0清屏;b=F0H隔列;b=FFH 全屏; { uchar i,j; SET_AW(0,63,0,63); for (j=0;j<64;j++)    for (i=0;i<64;i++) wr_data(b);  } /**********************************   写入一副128*64的图片;(逐行式,顺向) *******************************************/

void wr_BMP(uchar code *s) { uchar i,j; SET_AW(0,63,0,63); for (j=0;j<64;j++)    for (i=0;i<16;i++) change(*s++);  } /******************************* 写入8*8字符; x y-->行列地址;n首字符序号,end_n尾字符序号; **********************/

void word_88(uchar x,uchar y,uchar n)  //8*8字符单个写;

{ uchar i; SET_AW(x,x+3,y,y+7); for(i=0;i<8;i++)  change(table_88[8*n+i]); }  void show_88(uchar x,uchar y,uchar n,uchar end_n) //写入y一串8*8字符,可自动换行; { uchar i; for(i=n;i<=end_n;i++)     {  if(x>60) {y=y+8;x=0;}     word_88(x,y,i);  x=x+4;   } }

篇幅有限更多程序请联系QQ 453189731  13701081790