1.46寸的OLED显示屏的驱动芯片好神秘

2020-01-30 13:59发布

我刚来公司不久,公司让我给新产品设计一款OLED液晶屏。但是驱动芯片居然是SSD1327的。找了几天,练个1327的影子都没查到。眼看时间一天天过去,过几天就要上交任务了,愁死我了,谁能救救我啊,万分感谢。!这是本人写的程序,求高手指点
#include<C8051F000.h>
#define uchar unsigned char
#define uint unsigned int
sbit DC=P1^3;
sbit CS=P1^1;
sbit CLK=P2^0;
sbit DIN=P2^1;
sbit LED=P3^3;
void delay(uchar k)
{
        uchar i,j;
        for(i=0;i<100;i++)
                for(j=0;j<k;j++);

}
void writeCOM(uchar com)
{
        uchar i;
        CS=0;
        DC=0;
        for(i=0;i<8;i++)
        {
                CLK=0;
                if(com&0x80==0x80)
                        DIN=1;
                else
                        DIN=0;
                CLK=1;
                CLK=1;
                com<<=1;
        }
        CS=1;
        DC=1;               
}
void writeDAT(uchar dat)
{
        uchar i;
        CS=0;
        DC=1;
        for(i=0;i<8;i++)
        {
                CLK=0;
                if(dat&0x80==0x80)
                        DIN=1;
                else
                        DIN=0;
                CLK=1;
                CLK=1;
                dat<<=1;
        }
        CS=1;
        DC=0;
}
void int_dis(void)
{
        uint i,j;
        writeCOM(0xAE);//关闭OLED
        writeCOM(0x15);//设定显示列地址
        writeCOM(0x00);
        writeCOM(0x3F);
        writeCOM(0x75);//设定显示行地址
        writeCOM(0x00);
        writeCOM(0x4F);
        writeCOM(0x81);//设定对比度
        writeCOM(0x40);
        writeCOM(0xA0);//设定重置数据
        writeCOM(0x00);
        writeCOM(0xA1);//设定显示起始地址
        writeCOM(0x00);
        writeCOM(0xA2);//设定显示结束地址
        writeCOM(0x00);
        writeCOM(0xA4);//设定显示模式
        writeCOM(0xA8);//设定驱动路数
        writeCOM(0x5F);
        writeCOM(0xB1);//设定相位长度
        writeCOM(0x53);
        writeCOM(0xB3);//设定显示时钟
        writeCOM(0x41);
        writeCOM(0xBC);//设定电压
        writeCOM(0x10);
        writeCOM(0xBE);//设定VCOMH
        writeCOM(0x05);//0.8*VCC
        writeCOM(0xAB);//选择外部VDD供电
        writeCOM(0x00);
        writeCOM(0xAE);//打开OLED
        delay(50);
        LED=0;
        delay(10);
        for(i=0;i<128;i++)
                for(j=0;j<64;j++)
                         writeDAT(0xf0);
       
}
void main()
{
while (1)
{

        WDTCN = 0xDE;
        WDTCN = 0xAD;
        PRT1CF = 0x00;
        PRT2CF = 0x00;
    PRT3CF = 0xff;
        int_dis();
        LED=1;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zhuyi25762
1楼-- · 2020-01-30 19:58
连个影子也没查到SSD1327这个芯片,你怎么写出程序来了呀,呵,,也不上传个PDF,


是不是公司知道这大家都用的不多,没有程序可参考,这才显实力呀
ank118
2楼-- · 2020-01-31 00:40
上传个1327PDF文档供大家查阅
ourdev_574344.pdf(文件大小:846K) (原文件名:SSD1327.pdf)
岚澈清
3楼-- · 2020-01-31 06:06
楼主,没想到找到你两年前写的帖子。  万分感谢啊!当作参考,你有没有更完整的示例代码。我现在在做这方面的东西,苦于资料少啊。。。
454234682
4楼-- · 2020-01-31 11:45
楼主能否提供点详细的资料呢,谢谢。454234682@qq.com

一周热门 更多>