资源简介
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\li
文件 2 2013-08-16 19:30 并行模式\LCD12864_P_MAIN\Debug\li
文件 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.xm
文件 2674 2013-08-16 19:41 并行模式\LCD12864_P_MAIN\Visual Micro\Configuration.Debug.vmps.xm
文件 2801 2013-08-16 19:40 并行模式\LCD12864_P_MAIN\Visual Micro\Upload.vmps.xm
文件 2 2013-08-16 19:30 串行模式\LCD12864_S_MAIN\Debug\li
文件 2 2013-08-16 19:30 串行模式\LCD12864_S_MAIN\Debug\li
文件 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个文件信息
相关资源
- 百度文库、豆丁、道客巴巴文件免费
- Arduino nano 工程文件
- Arduino教程 Lesson 之--自制风扇
-
如何更改Syba
se数据库 - 南平樟湖库区大桥钢浮箱设计
- 海底管道虚拟安全系统:数据库设计
- Scalar i2000磁带库产品手册
- EMC DL4100磁带库产品手册
- 飞康CDP让两岸数据库即时同步
- 飞康虚拟磁带库
- 用友数据库恢复语句
- AxureRP8.0学习视频以及免费的软件和元
- word简谱字库
- 客户订购登记数据库设计
- Altium designer超全元件库+封装库部分
- Linux点阵字库和字库生成器.rar
- 基于ARM的电子相册源码含动态库可运
- LibXL for Windows 3.8.3 最新版Excel操作库带
- 西班牙Telefonica电信公司采用Sun数据仓
-
基于ADO开发ob
jectARX数据库应用程序 - 专升本 数据库 模拟题
- 数据库管理系统原理与设计第3版
- 远程桌面协议 (RDP)控件库
- 基于Arduino的智能环境监控系统设计
- 基于Arduino和Machtalk的温棚环境监测系
- 微软常用运行库合集 2019.04.24地址
- 易语言大强学易之树型框与MDB数据库
- 易语言xls表格转化为edb数据库源码
- 易语言导入EXCEL到EDB数据库源码
- 易语言炫彩界面库模块源码
评论
共有 条评论