16脚的12864液晶的使用方法和体验

之前所见的到的12864均为20脚的,突然有一天发现了一只16脚的12864,于是惊喜之余,把玩了一番,介于网上的资料略少,我就简单的描述一下它和20脚的12864的用法和区别。

话不多说,先上图。就是他们啦。
16脚的12864液晶的使用方法和体验_第1张图片
16脚的12864液晶的使用方法和体验_第2张图片
他的管脚为:
1-16:GND VCC NC RS RD WR D0 D1 D2 D3 D4 D5 D6 D7 CS RESET

20脚的12864和16脚的12864的唯一区别就在于管脚功能的不同,只要搞懂了管脚,他们的用法就没什么差别。

在20脚的12864中 ······························在16脚的12864中
RS //寄存器选择输入························· RS //选择命令
EN //液晶使能控制······························RW //选择写使能
RW //液晶读/写控制···························RD //读使能
PSB //串/并方式控制························· CS //片选信号
RST //液晶复位端口····························RESET //复位端口

只要知道了上面的对应关系,就能很清晰的操作16脚的12864了;剩下的程序写法和20脚的12864没什么区别

如20脚的12864写入命令和写入数据的函数为:

//写入命令
void lcd_wcmd(uchar cmd)
{                          
   while(lcd_busy());
    LCD_RS = 0;
    LCD_RW = 0;
    LCD_EN = 0;
    _nop_();
    _nop_(); 
    P0 = cmd;
    delayNOP();
    LCD_EN = 1;
 }
 //写入数据
 void lcd_wdat(uchar dat)
{                          
   while(lcd_busy());
    LCD_RS = 1;
    LCD_RW = 0;
    LCD_EN = 0;
    P0 = dat;
    delayNOP();
    LCD_EN = 1;
}

16脚的12864的写入命令和写入数据函数为:

void LcdSt7565_WriteCmd(cmd)
{
    LCD12864_CS = 0;       //chip select,打开片选
    LCD12864_RD = 1;       //disable read,读使能   
    LCD12864_RS = 0;       //select command,选择命令
    LCD12864_RW = 0;       //select write,选择写模式
    _nop_();
    _nop_();

    DATA_PORT = cmd; //put command,放置命令
    _nop_();
    _nop_();

    LCD12864_RW = 1;       //command writing ,写入命令
}
void LcdSt7565_WriteData(dat)
{   
    LCD12864_CS = 0;       //chip select,打开片选
    LCD12864_RD = 1;       //disable read,读使能   
    LCD12864_RS = 1;       //select data,选择数据
    LCD12864_RW = 0;       //select write,选择写模式
    _nop_();
    _nop_();

    DATA_PORT = dat;       //put data,放置数据
    _nop_();
    _nop_();

    LCD12864_RW = 1;       //data writing,写数据 
}

你可能感兴趣的:(单片机)