stc15F204EA 0.96寸oled的使用IIC协议,显示图片和只讲屏幕点亮关闭可以,但显示汉字一直不成功,为什么?程序问题吗

2019-07-14 19:44发布

void delay(int ms)
{
   int ii,jj;
   if (ms<1) ms=1;
   for(ii=0;ii<ms;ii++)
     for(jj=0;jj<500;jj++);        
}

/****主函数*****/
void main(void)
{
OLED_Init();
delay(5);
while(1)
{
  OLED_ShowCN(3,0,1);
  OLED_ShowCN(21,0,2);
  delay(500);
//delay(500);
  //OLED_Fill(0xff);
  //delay(1000);
}
}
/*******************************************
//OLED: x,y -- 起始点坐标(x:0~127, y:0~7); N:汉字在codetab.h中的索引        ----OK
********************************************/
void OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N)
{
        unsigned char wm=0;
        unsigned int  adder=32*N;
        OLED_SetPos(x , y);
        for(wm = 0;wm < 16;wm++)
        {
                Write_IIC_Data(F16x16[adder]);
                adder += 1;
        }
        OLED_SetPos(x,y + 1);
        for(wm = 0;wm < 16;wm++)
        {
                Write_IIC_Data(F16x16[adder]);
                adder += 1;
        }
}/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出*********/
const unsigned char F16x16[] =                    
{

0x7F,0x8F,0xFF,0x00,0xDF,0xEF,0xF7,0xB7,0xB7,0x00,0xB7,0xB7,0xB7,0xB7,0xF7,0xFF,
0x7F,0x9F,0xE7,0xF8,0xF7,0xCF,0xFD,0xFD,0xFD,0x00,0xFD,0xFD,0xED,0xDD,0xE1,0xFF,//"炜",0
0x80,0x70,0x00,0xFF,0x20,0x10,0x08,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0x08,0x00,
0x80,0x60,0x18,0x07,0x08,0x30,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,//"炜",0

};
引脚设置没问题,程序能成功编译

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
布乃翁炜
2019-07-15 21:11
人中狼 发表于 2017-4-6 18:09
OLED_ShowCN(3,0,1);
  OLED_ShowCN(21,0,2);
看程序参数,第一个应该可以显示字符数组里的第二个字,第二个应该显示全0xff,或全0x00,或乱码,现在是OLED_ShowCN(3,0,1);这个能不能显示出汉字

还是不行,用该程序框架,我让oled亮一会灭一会可以如下:
/****主函数*****/
void main(void)
{
OLED_Init();
delay(5);
//OLED_CLS();
while(1)
{
  OLED_CLS();
  delay(500);
  OLED_Fill(0xff);
  delay(1000);
}
}
当汉字显示还是不行:如下
/****主函数*****/
void main(void)
{
OLED_Init();
delay(5);
//OLED_CLS();
while(1)
{
OLED_ShowCN(3,0,0);
OLED_ShowCN(21,0,1);
delay(500);
}
}
/*******************************************
//OLED: x,y -- 起始点坐标(x:0~127, y:0~7); N:汉字在codetab.h中的索引        ----OK
********************************************/
void OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N)
{
        unsigned char wm=0;
        unsigned int  adder=32*N;
        OLED_SetPos(x , y);
        for(wm = 0;wm < 16;wm++)
        {
                Write_IIC_Data(F16x16[adder]);
                adder += 1;
        }
        OLED_SetPos(x,y + 1);
        for(wm = 0;wm < 16;wm++)
        {
                Write_IIC_Data(F16x16[adder]);
                adder += 1;
        }
}
/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出*********/
const unsigned char F16x16[] =                    
{
0x80,0x70,0x00,0xFF,0x20,0x10,0x08,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0x08,0x00,
0x80,0x60,0x18,0x07,0x08,0x30,0x02,0x02,0x02,0xFF,0x02,0x02,0x12,0x22,0x1E,0x00,//"炜",0
0x00,0x20,0x22,0x2C,0x20,0x20,0xE0,0x3F,0x20,0x20,0x20,0x20,0xE0,0x00,0x00,0x00,
0x80,0x40,0x20,0x10,0x08,0x06,0x01,0x00,0x01,0x46,0x80,0x40,0x3F,0x00,0x00,0x00,/*"为",0*/
0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"了",1*/
0x80,0x40,0x30,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
0x40,0x40,0x42,0x42,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x42,0x42,0x40,0x40,0x00,/*"生",2*/
0x10,0x60,0x02,0x8C,0x00,0x20,0x24,0x24,0x24,0xFE,0x22,0x23,0x22,0x20,0x20,0x00,
0x04,0x04,0x7E,0x01,0x00,0x00,0xFE,0x42,0x42,0x43,0x42,0x42,0xFE,0x00,0x00,0x00,/*"活",3*/
0x00,0x80,0x60,0xF8,0x07,0x40,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x00,
0x01,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,/*"什",4*/
0x00,0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0xC0,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x20,0x70,0x28,0x24,0x22,0x21,0x20,0x20,0x24,0x28,0x30,0x60,0x00,0x00,/*"么",5*/
0x20,0x24,0x24,0xA4,0x7F,0x24,0x34,0x28,0x26,0x20,0xFE,0x02,0x22,0xDA,0x06,0x00,
0x04,0x02,0xFF,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0xFF,0x08,0x10,0x08,0x07,0x00,/*"都",6*/
//0x80,0x60,0xF8,0x07,0x88,0x88,0xFF,0x88,0x88,0x20,0xD8,0x17,0x10,0xF0,0x10,0x00,
//0x00,0x00,0xFF,0x00,0x3F,0x10,0x10,0x10,0x9F,0x40,0x37,0x08,0x36,0x41,0x80,0x00,/*"做",7*/
};

一周热门 更多>