oled四线

2019-07-21 07:29发布

/*********************LCD 设置坐标************************************/
void LCD_Set_Pos(unsigned char x, unsigned char y)                                  //设置坐标
{
    LCD_WrCmd(0xb0+y);
    LCD_WrCmd(((x&0xf0)>>4)|0x10);
    LCD_WrCmd((x&0x0f)|0x01);
}

/*****************功能描述:显示16*16点阵  显示的坐标(x,y),y为页范围0~7****************************/
void LCD_P16x16Ch(unsigned char x, unsigned char y, unsigned char N)        //这个是用来显示汉子的
{
    unsigned char wm=0;
    unsigned int adder=32*N;  //      
    LCD_Set_Pos(x , y);
    for(wm = 0;wm < 16;wm++)  //            
    {
        LCD_WrDat(F16x16[adder]);   
        adder += 1;
    }      
    LCD_Set_Pos(x,y + 1);
    for(wm = 0;wm < 16;wm++) //         
    {
        LCD_WrDat(F16x16[adder]);
        adder += 1;
    }           
}


上面的程序看不懂,不知道怎么设置位置,请大佬帮忙看下,谢谢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
wgb123
2019-07-22 01:01
wangmingwei093 发表于 2018-11-23 14:57
不知道你的程序对不对,不过和我的OLED差一个命令的区别,主要看说明书。如图所示:
static void PortCoor ...

void LCD_P16x16Ch(unsigned char x, unsigned char y, unsigned char N)
{
    unsigned char wm=0;
    unsigned int adder=32*N;  //   这里是什么意思?   
    LCD_Set_Pos(x , y);
    for(wm = 0;wm < 16;wm++)  //            
    {
        LCD_WrDat(F16x16[adder]);   
        adder += 1;
    }      
    LCD_Set_Pos(x,y + 1);
    for(wm = 0;wm < 16;wm++) //         
    {
        LCD_WrDat(F16x16[adder]);
        adder += 1;
    }           
}

一周热门 更多>