Arduino的LCD12864例程包含库文件


Arduino的LCD12864例程,含串行和并行两种驱动模式,其库文件可以直接使用,注释详细,甚至不用看驱动器的Datasheet即可驱动LCD12864。
资源截图
代码片段和文件信息
#include “LCD12864_S.h“

int LCD12864_SCLK_PORT = 10; //E引脚串行模式别名
int LCD12864_SID_PORT = 11; //RW引脚串行模式别名
int LCD12864_CS_PORT = 12; //RS引脚串行模式别名  

//********************************************************************
//LCD12864清屏
//********************************************************************
void LCD12864_Clear()
{
LCD12864_COM_Write(0x01);
}

//********************************************************************
//LCD12864地址设置
//********************************************************************
void LCD12864_SET_Address( unsigned char iunsigned char j)
{
switch(i)
{
case 1:
LCD12864_COM_Write(0x80+(j-1));
break;
case 2:
LCD12864_COM_Write(0x90+(j-1));
break;
case 3:
LCD12864_COM_Write(0x88+(j-1));
break;
case 4:
LCD12864_COM_Write(0x98+(j-1));
break;
default: break;
}
}

/*************************************************************************************
发送一个字节
*************************************************************************************/
void LCD12864_SendByte(unsigned char bbyte) //发送一个字节
{
unsigned char i;
for(i=0;i<8;i++)
{
if((bbyte&0x80) == 0) //取出最高位
{
digitalWrite(LCD12864_SID_PORTLOW); 
}
else
{
digitalWrite(LCD12864_SID_PORTHIGH); 
}

digitalWrite(LCD12864_SCLK_PORT LOW);
delayMicroseconds(1);
digitalWrite(LCD12864_SCLK_PORT HIGH);
delayMicroseconds(1);
digitalWrite(LCD12864_SCLK_PORT LOW);
delayMicroseconds(1);
bbyte<<=1; //左移
}  
}

//********************************************************************
//检测忙信号写入命令字 ddate 为待写入的命令字
//********************************************************************
void LCD12864_COM_Write( unsigned char ddata )
{
unsigned char HdataLdata;  
Hdata=ddata&0xf0;   //取高四位
Ldata=(ddata<<4)&0xf0;  //取低四位
LCD12864_SendByte(0xf8);   //发送起始信号
delayMicroseconds(1); //延时是必须的
LCD12864_SendByte(Hdata);       //发送高四位
delayMicroseconds(1);  //延时是必须的
LCD12864_SendByte(Ldata);   //发送低四位
delayMicroseconds(1);  //延时是必须的
}

//********************************************************************
//数据写入 ddata  为待写入的8位数据
//********************************************************************
void LCD12864_Data_Write(unsigned char ddata)
{
unsigned char HdataLdata;  
Hdata=ddata&0xf0;   //取高四位
Ldata=(ddata<<4)&0xf0;  //取低四位
LCD12864_SendByte(0xfa);   //发送起始信号
delayMicroseconds(1); //延时是必须的
LCD12864_SendByte(Hdata);       //发送高四位
delayMicroseconds(1);  //延时是必须的
LCD12864_SendByte(Ldata);   //发送低四位
delayMicroseconds(1);  //延时是必须的
}


//*************************************************************************************
//写连续字符函数
//*************************************************************************************
void LCD12864_write_word(const char *s)
{
while(*s>0)
{
LCD12864_Data_Write(*s);
s++;
        delay(1);
}
}


//*********************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件          2  2013-08-16 19:30  并行模式LCD12864_P_MAINDebuglink.command.1.tlog

     文件          2  2013-08-16 19:30  并行模式LCD12864_P_MAINDebuglink.read.1.tlog

     文件       2037  2013-08-16 19:30  并行模式LCD12864_P_MAINDebugMAIN.log

     文件       5303  2013-08-16 19:41  并行模式LCD12864_P_MAINLCD12864_P.cpp

     文件        562  2013-08-16 19:38  并行模式LCD12864_P_MAINLCD12864_P.h

     文件       2945  2013-08-16 19:40  并行模式LCD12864_P_MAINLCD12864_P_MAIN.ino

     文件   17584128  2013-08-16 19:12  并行模式LCD12864_P_MAINLCD12864_P_MAIN.sdf

     文件        896  2013-08-16 18:32  并行模式LCD12864_P_MAINLCD12864_P_MAIN.sln

    ..A..H.     12800  2013-08-16 19:12  并行模式LCD12864_P_MAINLCD12864_P_MAIN.suo

     文件       4292  2013-08-16 18:32  并行模式LCD12864_P_MAINLCD12864_P_MAIN.vcxproj

     文件       1267  2013-08-16 18:32  并行模式LCD12864_P_MAINLCD12864_P_MAIN.vcxproj.filters

     文件        143  2013-08-16 18:20  并行模式LCD12864_P_MAINLCD12864_P_MAIN.vcxproj.user

     文件   14635008  2013-08-16 19:55  并行模式LCD12864_P_MAINMAIN.sdf

     文件        874  2013-08-16 18:06  并行模式LCD12864_P_MAINMAIN.sln

    ..A..H.     15360  2013-08-16 19:55  并行模式LCD12864_P_MAINMAIN.suo

     文件       4244  2013-08-16 18:10  并行模式LCD12864_P_MAINMAIN.vcxproj

     文件       1256  2013-08-16 18:10  并行模式LCD12864_P_MAINMAIN.vcxproj.filters

     文件        143  2013-08-16 16:50  并行模式LCD12864_P_MAINMAIN.vcxproj.user

     文件        995  2013-08-16 18:31  并行模式LCD12864_P_MAINVisual Micro.LCD12864_P_MAIN.vsarduino.h

     文件        962  2013-08-16 18:09  并行模式LCD12864_P_MAINVisual Micro.MAIN.vsarduino.h

     文件       2801  2013-08-16 19:41  并行模式LCD12864_P_MAINVisual MicroCompile.vmps.xml

     文件       2674  2013-08-16 19:41  并行模式LCD12864_P_MAINVisual MicroConfiguration.Debug.vmps.xml

     文件       2801  2013-08-16 19:40  并行模式LCD12864_P_MAINVisual MicroUpload.vmps.xml

     文件          2  2013-08-16 19:30  串行模式LCD12864_S_MAINDebuglink.command.1.tlog

     文件          2  2013-08-16 19:30  串行模式LCD12864_S_MAINDebuglink.read.1.tlog

     文件       2037  2013-08-16 19:30  串行模式LCD12864_S_MAINDebugMAIN.log

     文件      27117  2016-06-14 13:29  串行模式LCD12864_S_MAINhs_err_pid10100.log

     文件   17584128  2013-08-16 19:12  串行模式LCD12864_S_MAINLCD12864_P_MAIN.sdf

    ..A..H.     12800  2013-08-16 19:12  串行模式LCD12864_S_MAINLCD12864_P_MAIN.suo

     文件       4340  2013-08-17 13:26  串行模式LCD12864_S_MAINLCD12864_P_MAIN.vcxproj

............此处省略30个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)