久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4765|回復: 6
收起左側

OLED12864源代碼分享 IIC協議

[復制鏈接]
ID:390416 發表于 2021-3-28 18:39 | 顯示全部樓層 |閱讀模式
以下代碼的截圖的OLED分區顯示漢字因為字符的代碼。請按照左邊的編號自行謄寫 main10.png IIC_Drive 01.png IIC_Drive 02.png IIC_Drive 03.png OLED12864_Ser 01.png OLED12864_Ser 02.png OLED12864_Ser 03.png OLED12864_Ser 04.png OLED12864_Ser 05.png WQX-15開發板01  高配全亮.jpg

回復

使用道具 舉報

ID:60656 發表于 2021-4-9 22:51 | 顯示全部樓層
請教樓主,OLED 顯示數字 數列排版 字符旋轉90度 有什么思路
回復

使用道具 舉報

ID:390416 發表于 2021-4-13 09:23 | 顯示全部樓層
zxq9781 發表于 2021-4-9 22:51
請教樓主,OLED 顯示數字 數列排版 字符旋轉90度 有什么思路

那就需要90度計算,比較麻煩
回復

使用道具 舉報

ID:884042 發表于 2021-4-17 10:54 | 顯示全部樓層
zxq9781 發表于 2021-4-9 22:51
請教樓主,OLED 顯示數字 數列排版 字符旋轉90度 有什么思路

你直接在字模軟件里改變取模方式就行了,OLED的控制器有專用的90度顯示指令,好好看芯片手冊
回復

使用道具 舉報

ID:60656 發表于 2021-4-18 19:50 | 顯示全部樓層
xjx51 發表于 2021-4-17 10:54
你直接在字模軟件里改變取模方式就行了,OLED的控制器有專用的90度顯示指令,好好看芯片手冊

ASIC 字符用的幾個用漢字 取模 旋轉一下搞定,90度旋轉的指令沒找到
回復

使用道具 舉報

ID:903287 發表于 2021-5-5 10:01 | 顯示全部樓層
#include "all.H"

u8 xdata OLED_Write_Buffer[8][8][16];
u8 xdata OLED_Modify_Allow=0;

void OLED_Write_Reg(u8 Reg)
{
        IIC_Start();
        IIC_Write_Byte(0x78);
        IIC_Read_Ack();
        IIC_Write_Byte(0x00);
        IIC_Read_Ack();
        IIC_Write_Byte(Reg);
        IIC_Read_Ack();
        IIC_Stop();
}

void OLED_Write_Data(u8 PAGE,u8 SEG16)
{
        u8 i;
        PAGE=0;
        SEG16=0;
       
        OLED_Write_Reg(0xb0+PAGE);
        OLED_Write_Reg(SEG16|0x10);
        OLED_Write_Reg(0);
       
        IIC_Start();
        IIC_Write_Byte(0x78);
        IIC_Read_Ack();
        IIC_Write_Byte(0x40);
        IIC_Read_Ack();
        for(i=0;i<16;i++)
        {
                IIC_Write_Byte(OLED_Write_Buffer[PAGE][SEG16][i]);
                IIC_Read_Ack();
        }
        IIC_Stop();       
}

void OLED_New_Display_Ser()
{
        static xdata u8 count;
        static xdata u8 PAGE=0;
        switch(count)
        {
                case 10:/*OLED_Modify_Allow=0;*/OLED_Write_Data(PAGE,0);break;
                case 20:OLED_Write_Data(PAGE,1);break;
                case 30:OLED_Write_Data(PAGE,2);break;
                case 40:OLED_Write_Data(PAGE,3);break;
                case 50:OLED_Write_Data(PAGE,4);break;
                case 60:OLED_Write_Data(PAGE,5);break;
                case 70:OLED_Write_Data(PAGE,6);break;
                case 80:OLED_Write_Data(PAGE,7);count=0;PAGE++;PAGE=PAGE%8;break;
               
                default:OLED_Modify_Allow=1;break;
        }
        count++;
}

void OLED_Display_Symbor_ser(u8 PAGE,u8 SEG16,u8 Dat1,u8 Dat2)
{
        u8 data i,Value1,Value2;
        Value1=Dat1-' ';
        Value2=Dat2-' ';
        for(i=0;i<8;i++)
        {
                OLED_Write_Buffer[PAGE][SEG16][i]=F8X16[Value1*16+i];
        }
        for(i=0;i<8;i++)
        {
                OLED_Write_Buffer[PAGE][SEG16][i+8]=F8X16[Value2*16+i];
        }
        for(i=0;i<8;i++)
        {
                OLED_Write_Buffer[PAGE+1][SEG16][i]=F8X16[Value1*16+8+i];
        }
        for(i=0;i<8;i++)
        {
                OLED_Write_Buffer[PAGE+1][SEG16][i+8]=F8X16[Value2*16+8+i];
        }
}

void OLED_Display_Chines_Ser(u8 PAGE,u8 SEG16,u8 Dat)        //ÖDÎÄÏÔê¾
{
        u8 xdata i=0;
        for(i=0;i<16;i++)
        {
                OLED_Write_Buffer[PAGE][SEG16][i]=Hzk[Dat][i];
        }
        for(i=0;i<16;i++)
        {
                OLED_Write_Buffer[PAGE+1][SEG16][i]=Hzk[Dat+1][i];
        }
}

void OLED_Write_fixed_Buffer()
{
        OLED_Display_Symbor_Ser(0,0,'*','*');
        OLED_Display_Symbor_Ser(0,1,'*',' ');
        OLED_Display_Chines_Ser(0,2,0);
        OLED_Display_Chines_Ser(0,3,2);
        OLED_Display_Chines_Ser(0,4,4);
        OLED_Display_Chines_Ser(0,5,6);
        OLED_Display_Symbor_Ser(0,6,'*','*');
        OLED_Display_Symbor_Ser(0,7,'*','*');
       
        OLED_Display_Symbor_Ser(2,0,'2','0');
        OLED_Display_Symbor_Ser(2,1,' ',' ');
        OLED_Display_Chines_Ser(2,2,8);
        OLED_Display_Symbor_Ser(2,3,' ',' ');
        OLED_Display_Chines_Ser(2,4,10);
        OLED_Display_Symbor_Ser(2,5,' ',' ');
        OLED_Display_Chines_Ser(2,6,32);
        OLED_Display_Symbor_Ser(2,7,' ',' ');
       
        OLED_Display_Chines_Ser(4,0,16);
        OLED_Display_Chines_Ser(4,1,18);
        OLED_Display_Symbor_Ser(4,2,' ',' ');
        OLED_Display_Symbor_Ser(4,3,' ',' ');
        OLED_Display_Chines_Ser(4,4,12);
        OLED_Display_Symbor_Ser(4,5,' ',' ');
        OLED_Display_Chines_Ser(4,6,14);
        OLED_Display_Symbor_Ser(4,7,' ',' ');
       
        OLED_Display_Symbor_Ser(6,0,'w','q');
        OLED_Display_Symbor_Ser(6,1,'x','d');
        OLED_Display_Symbor_Ser(6,2,'z','.');
        OLED_Display_Symbor_Ser(6,3,'t','a');
        OLED_Display_Symbor_Ser(6,4,'o','b');
        OLED_Display_Symbor_Ser(6,5,'a','o');
        OLED_Display_Symbor_Ser(6,6,'.','c');
        OLED_Display_Symbor_Ser(6,7,'o','m');
}
       
void OLED_Init()
{
        OLED_Write_Reg(0x40);
       
        OLED_Write_Reg(0x81);
        OLED_Write_Reg(0xff);
       
        OLED_Write_Reg(0xda);
        OLED_Write_Reg(0x12);
       
        OLED_Write_Reg(0xc8);
        OLED_Write_Reg(0xa1);
        OLED_Write_Reg(0xa6);
       
        OLED_Write_Reg(0xa8);
        OLED_Write_Reg(0x3f);
       
        OLED_Write_Reg(0x20);
        OLED_Write_Reg(0x00);
       
        OLED_Write_Reg(0x8d);
        OLED_Write_Reg(0x14);
       
        OLED_Write_Reg(0xa4);
        OLED_Write_Reg(0xaf);
       
        OLED_Write_Reg(0xd3);
        OLED_Write_Reg(0x00);
       
        OLED_Write_Reg(0xd5);
        OLED_Write_Reg(0x00);
       
        OLED_Write_Reg(0xd9);
        OLED_Write_Reg(0x22);
       
        OLED_Write_Reg(0xdb);
        OLED_Write_Reg(0x20);
       
        OLED_Write_Data(0,0);
       
        OLED_Write_fixed_Buffer();
}
回復

使用道具 舉報

ID:903287 發表于 2021-5-5 10:01 | 顯示全部樓層
#include "all.H"

void IIC_Delay()
{
        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}

void IIC_Init()
{
        P2M0&=0x3f;
        P2M1&=0x3f;
        SCL_GPIO=1;//ê±Öó
        _nop_();
        SDA_GPIO=1;//êy¾Y
        _nop_();
       
}

void IIC_Start()        //Æeê¼DÅoÅ
{
        SDA_GPIO=1;
        SCL_GPIO=1;

        IIC_Delay();
        SDA_GPIO=0;
        IIC_Delay();
        SCL_GPIO=0;
        IIC_Delay();
}

void IIC_Stop()        //í£Ö1DÅoÅ
{
       
        SDA_GPIO=0;
        SCL_GPIO=1;
        IIC_Delay();
        SDA_GPIO=1;
        IIC_Delay();
}

void IIC_Write_Byte(u8 IIC_Byte)//Ïò×üÏß·¢Ëíò»¸ö×Ö½ú
{
        u8 i;
        SCL_GPIO=0;
        SDA_GPIO=1;
        for(i=0;i<8;i++)
        {
                SDA_GPIO=(bit)(IIC_Byte&0x80);
                IIC_Byte<<=1;
                SCL_GPIO=1;
                IIC_Delay();
                SCL_GPIO=0;
                IIC_Delay();
        }
        SDA_GPIO=1;
}

u8 IIC_Read_Byte()//¶áè¡êy¾Y·μ»Ø
{
        u8 i,Value;
        SCL_GPIO=0;
        SDA_GPIO=1;
        for(i=0;i<8;i++)
        {
                Value=(Value<<1)|SDA_GPIO;
                SCL_GPIO=1;
                IIC_Delay();
                SCL_GPIO=0;
                IIC_Delay();
        }
        return Value;
}

u8 IIC_Read_Ack()//μ¥Ƭ»ú¼ì2aIIC′ó»ú·¢à′μÄó|′eDÅoÅ
{
        u8 ack=1,i=0;
        SCL_GPIO=1;
        IIC_Delay();
        while((ack)&&(i<5))//ÕaÑùD′2»»áËàÑ-»·
        {
                ack=SDA_GPIO;
                i++;
        }
        SCL_GPIO=0;
        return ack;
}

void IIC_Write_Ack(bit Ack)//μ¥Ƭ»ú·¢Ëíó|′e¸ø′ó»ú
{
        SDA_GPIO=Ack;
        IIC_Delay();
        SCL_GPIO=1;
        IIC_Delay();
        SCL_GPIO=0;
        IIC_Delay();
        SDA_GPIO=1;
        IIC_Delay();
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情婷婷 | 欧美日韩久久精品 | 国产激情一区二区三区 | 一本一道久久a久久精品综合 | 国产免费一区二区三区 | 国产精品一区在线播放 | 99精品久久久| 草久久| 欧洲一区在线观看 | 都市激情亚洲 | 免费久久久 | 国产激情网站 | 日韩在线一区二区三区 | 欧美成人在线免费 | 亚洲日韩第一页 | 日韩免费福利视频 | 久久久久午夜 | 日本久草 | 中文字幕第十页 | 91 视频网站 | 日韩国产中文字幕 | 欧美5区 | 久久精品国产免费 | 91精品国产综合久久久久久丝袜 | 欧美中文字幕一区二区三区亚洲 | 天堂在线1 | www.99久久.com| 精品免费国产视频 | 国产精品一区二区在线播放 | 一区久久 | 亚洲免费在线播放 | 国产一区二区三区在线看 | 国产高清视频在线观看 | 成人精品免费视频 | 欧美 日韩 国产 成人 在线 | 九九热免费在线观看 | 亚洲国产一区二区三区 | 色资源站 | 国产美女视频 | 在线看亚洲 | 日韩一级不卡 |