• 大小: 9.43MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-10-17
  • 语言: 其他
  • 标签: arduino  LCD12864    12864  

资源简介

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_MAIN\Debug\link.command.1.tlog

     文件          2  2013-08-16 19:30  并行模式\LCD12864_P_MAIN\Debug\link.read.1.tlog

     文件       2037  2013-08-16 19:30  并行模式\LCD12864_P_MAIN\Debug\MAIN.log

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

     文件       2801  2013-08-16 19:41  并行模式\LCD12864_P_MAIN\Visual Micro\Compile.vmps.xml

     文件       2674  2013-08-16 19:41  并行模式\LCD12864_P_MAIN\Visual Micro\Configuration.Debug.vmps.xml

     文件       2801  2013-08-16 19:40  并行模式\LCD12864_P_MAIN\Visual Micro\Upload.vmps.xml

     文件          2  2013-08-16 19:30  串行模式\LCD12864_S_MAIN\Debug\link.command.1.tlog

     文件          2  2013-08-16 19:30  串行模式\LCD12864_S_MAIN\Debug\link.read.1.tlog

     文件       2037  2013-08-16 19:30  串行模式\LCD12864_S_MAIN\Debug\MAIN.log

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

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

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

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

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

评论

共有 条评论