“(SKU:RB-05L003)LCD12864点阵液晶扩展板”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
第22行: 第22行:
 
* 6P 双头线 * 1条
 
* 6P 双头线 * 1条
 
* 14P 双头线 * 1条
 
* 14P 双头线 * 1条
==使用方法==
+
==12864液晶屏接口定义==
===并行模式时的引脚定义===
+
* PIN1------GND 电源接入 -, 一般接0V。  
* PIN1------ GND 电源接入 -, 一般接0V。  
+
 
* PIN2------电源接入 +, 一般接5V。  
 
* PIN2------电源接入 +, 一般接5V。  
 
* PIN3------对比度调整端,VDD和GND接可调电阻两端,中间抽头接至V0。  
 
* PIN3------对比度调整端,VDD和GND接可调电阻两端,中间抽头接至V0。  
第44行: 第43行:
 
* PIN19 ----LED+ ,背光 +,一般接5V。  
 
* PIN19 ----LED+ ,背光 +,一般接5V。  
 
* PIN20 ----LED- ,背光 -,一般接GND。
 
* PIN20 ----LED- ,背光 -,一般接GND。
 +
==使用方法==
 
===使用硬件===
 
===使用硬件===
 
* Carduino UNO 控制器 * 1个
 
* Carduino UNO 控制器 * 1个
 
* LCD12864 点阵液晶扩展版 * 1个
 
* LCD12864 点阵液晶扩展版 * 1个
 
* USB 数据线 * 1条
 
* USB 数据线 * 1条
 +
* V5.0传感器扩展板 * 1个
 
===例子程序===
 
===例子程序===
程序上传前需要先[http://pan.baidu.com/s/1dD2mU3Z 点此下载]12864点阵液晶扩展版使用的库文件,解压后放到Arduino安装目录下的libraries文件夹下。<br/>
+
[http://pan.baidu.com/s/1kT0Fiar 点此下载]12864液晶扩展板使用库文件及相关例子程序<br/>
 +
[http://pan.baidu.com/s/1sj02Qh3 点此下载]12864液晶扩展板使用解码和取模软件<br/>
 +
====串行显示汉字====
 
<pre style='color:blue'>
 
<pre style='color:blue'>
#include "PIC.h"
+
#include "LCD12864RSPI.h"
int RS = 2;
+
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
int RW = 3;
+
unsigned char show0[]={
int E = 4;
+
   0xB9, 0xFE, 0xB6, 0xFB,0xB1, 0xF5, 0xB0, 0xC2, 0xCB, 0xC9, 0xBB, 0xFA, 0xC6, 0xF7, 0xC8, 0xCB}; //哈尔滨奥松机器人
//DB should be an unseparated group of pins
+
unsigned char show1[]="www.alsrobot.cn";
unsigned char DB[] = {
+
   6,7,8,9,10,11,12,13}; //wire these to DB6~13 on LCD.
+
//基本指令集预定义
+
#define LCD_DATA              1        //数据位
+
#define LCD_COMMAND            0 //命令位
+
#define LCD_CLEAR_SCREEN      0x01 //清屏
+
#define LCD_ADDRESS_RESET      0x02 //地址归零
+
#define LCD_BASIC_FUNCTION   0x30 //基本指令集
+
#define LCD_EXTEND_FUNCTION   0x34 //扩充指令集
+
 
+
//扩展指令集预定义
+
#define LCD_AWAIT_MODE 0x01 //待命模式
+
#define LCD_ROLLADDRESS_ON 0x03 //允许输入垂直卷动地址
+
#define LCD_IRAMADDRESS_ON 0x02 //允许输入IRAM地址
+
#define LCD_SLEEP_MODE 0x08 //进入睡眠模式
+
#define LCD_NO_SLEEP_MODE 0x0c //脱离睡眠模式
+
#define LCD_GRAPH_ON 0x36 //打开绘图模式
+
#define LCD_GRAPH_OFF 0x34 //关闭绘图模式
+
 
void setup()
 
void setup()
 
{
 
{
  LCD_Init();
+
LCDA.Initialise(); // 屏幕初始化
  LCD_ClearRam();
+
delay(100);
  // lcd.LCD_DisplayStrings_WithAddress(0x90,"ST7920 testing... processing");
+
  // pinMode(13,OUTPUT);
+
 
}
 
}
 +
 
void loop()
 
void loop()
 
{
 
{
  LCD_DisplayStrings_WithAddress(0x80,"  Welcome to  ");
+
LCDA.CLEAR();//清屏
  LCD_DisplayStrings_WithAddress(0x90,"www.robotbase.cn");
+
delay(100);
  LCD_DisplayStrings_WithAddress(0x88,"LCD 12864 Module");
+
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文智位机器人
  LCD_DisplayStrings_WithAddress(0x98,"ST7920 testing..");
+
delay(100);
  delay(5000);
+
LCDA.DisplayString(2,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示网址dfrobot.com/
  LCD_ClearRam();
+
delay(5000);
  chsDisplay_16bit(0x80, 0xb4f2);//
+
  chsDisplay_16bit(0x81, 0xd4ec);//造
+
  chsDisplay_16bit(0x82, 0xb9fa);//国
+
  chsDisplay_16bit(0x83, 0xc4da);//内
+
  chsDisplay_16bit(0x84, 0xcde2);//外
+
  chsDisplay_16bit(0x85, 0xd7ee);//最
+
  chsDisplay_16bit(0x86, 0xb4f3);//
+
  chsDisplay_16bit(0x90, 0xbbfa);//机
+
  chsDisplay_16bit(0x91, 0xc6f7);//器
+
  chsDisplay_16bit(0x92, 0xc8cb);//人
+
  chsDisplay_16bit(0x93, 0xc5e4);//配
+
  chsDisplay_16bit(0x94, 0xbcfe);//件
+
  chsDisplay_16bit(0x95, 0xc9cc);//商
+
  chsDisplay_16bit(0x96, 0xb3c7);//
+
  chsDisplay_16bit(0x88, 0xb8fc);//更
+
  chsDisplay_16bit(0x89, 0xb6e0);//多
+
  chsDisplay_16bit(0x8a, 0xd7ca);//资
+
  chsDisplay_16bit(0x8b, 0xd1b6);//讯
+
  chsDisplay_16bit(0x8c, 0xc7eb);//请
+
  chsDisplay_16bit(0x8d, 0xb5c7);//登
+
  chsDisplay_16bit(0x8e, 0xc2bc);//录
+
  LCD_DisplayStrings_WithAddress(0x98,"www.robotbase.cn");
+
  delay(5000);
+
  LCD_ClearRam();
+
  LCD_ImgDisplay_from_flash(logo);
+
  delay(5000);
+
  LCD_ClearRam();
+
  LCD_ImgDisplay_from_flash(QQ);
+
  delay(5000);
+
  LCD_ClearRam();
+
 
}
 
}
void LCD_Init(void)
+
</pre>
 +
====串行图片显示====
 +
<pre style='color:blue'>
 +
#include "LCD12864RSPI.h"
 +
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
 +
unsigned char logo0[]={                                        //笑脸
 +
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFA,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xF6,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xEE,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0xEE,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0x00,
 +
      0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFC,0xBF,0xFF,0xFF,0xBF,
 +
      0x7F,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xF9,0xBF,0xFF,0xFF,0xBF,
 +
      0x7F,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xF3,0x7F,0xFF,0xFF,0x7F,
 +
      0xBF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xE7,0x7F,0xFF,0xFE,0xFF,
 +
      0xBF,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xDF,0x7F,0xFF,0xFC,0xFF,
 +
      0xBF,0xFF,0xFA,0x7F,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xBF,0x7F,0xFF,0xFD,0xFF,
 +
      0xBF,0xFF,0xFB,0x9F,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0xFB,0xFF,
 +
      0xDF,0xFF,0xF7,0xE7,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFC,0xFF,0x7F,0xFF,0xF3,0xFF,
 +
      0xDF,0xFF,0xF7,0xF9,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xF9,0xFF,0x7F,0xFF,0xF7,0xFF,
 +
      0xDF,0xFF,0xF7,0xFE,0x7F,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xF3,0xFF,0x7F,0xFF,0xEF,0xFF,
 +
      0xEF,0xFF,0xF7,0xFF,0x9F,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xE7,0xFF,0x7F,0xFF,0xCF,0xFF,
 +
      0xEF,0xFF,0xEF,0xFF,0xE7,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xDF,0xFF,0x7F,0xFF,0xDF,0xFF,
 +
      0xEF,0xFF,0xEF,0xFF,0xF9,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xBF,0xFF,0x7F,0xFF,0xBF,0xFF,
 +
      0xF7,0xFF,0xEF,0xFF,0xFE,0x7F,0xFF,0xFF,
 +
      0xFF,0xFF,0x7F,0xFE,0xFF,0xFF,0x3F,0xFF,
 +
      0xF7,0xFF,0xEF,0xFF,0xFF,0x9F,0xFF,0xFF,
 +
      0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0x7F,0xFF,
 +
      0xF7,0xFF,0xDF,0xFF,0xFF,0xE7,0xFF,0xFF,
 +
      0xFF,0xF9,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,
 +
      0xF7,0xFF,0xDF,0xFF,0xFF,0xF9,0xFF,0xFF,
 +
      0xFF,0xF3,0xFF,0xFE,0xFF,0xFC,0xFF,0xFF,
 +
      0xFB,0xFF,0xDF,0xFF,0xFF,0xFE,0x7F,0xFF,
 +
      0xFF,0xE7,0xFF,0xFE,0xFF,0xFD,0xFF,0xFF,
 +
      0xFB,0xFF,0xDF,0xFF,0xFF,0xFF,0x9F,0xFF,
 +
      0xFF,0xCF,0xFF,0xFE,0xFF,0xFB,0xFF,0xFF,
 +
      0xFB,0xFF,0x9F,0xE0,0x00,0x00,0x03,0xFF,
 +
      0xFF,0xBF,0xFF,0xFE,0xE0,0x00,0x00,0x00,
 +
      0x00,0x00,0x00,0x1F,0xFF,0xFF,0xC1,0xFF,
 +
      0xF8,0x00,0x00,0x00,0x1F,0xF7,0xFF,0xFF,
 +
      0xFD,0xFF,0xBF,0xFF,0xFF,0xFF,0x1C,0xFF,
 +
      0xFF,0xFF,0xFF,0xFE,0xFF,0xEF,0xFF,0xFF,
 +
      0xFD,0xFF,0xBF,0xFF,0xFF,0xFC,0xFF,0xFF,
 +
      0xFF,0xBF,0xFF,0xFE,0xFF,0xCF,0xFF,0xFF,
 +
      0xFD,0xFF,0xBF,0xFF,0xFF,0xF3,0xFF,0xFF,
 +
      0xFF,0xDF,0xFF,0xFE,0xFF,0xDF,0xFF,0xFF,
 +
      0xFE,0xFF,0x7F,0xFF,0xFF,0xCF,0xFF,0xFF,
 +
      0xFF,0xEF,0xFF,0xFE,0xFF,0xBF,0xFF,0xFF,
 +
      0xFE,0xFF,0x7F,0xFF,0xFF,0x3F,0xFF,0xFF,
 +
      0xFF,0xF7,0xFF,0xFD,0xFF,0x3F,0xFF,0xFF,
 +
      0xFE,0xFF,0x7F,0xFF,0xFC,0xFF,0xFF,0xFF,
 +
      0xFF,0xFB,0xFF,0xFD,0xFF,0x7F,0xFF,0xFF,
 +
      0xFF,0x7F,0x7F,0xFF,0xF3,0xFF,0xFF,0xFF,
 +
      0xFF,0xFD,0xFF,0xFD,0xFE,0xFF,0xFF,0xFF,
 +
      0xFF,0x7E,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFE,0xFF,0xFD,0xFC,0xFF,0xFF,0xFF,
 +
      0xFF,0x7E,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,
 +
      0xFF,0xFE,0x7F,0xFD,0xFD,0xFF,0xFF,0xFF,
 +
      0xFF,0x7E,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0x3F,0xFD,0xFB,0xFF,0xFF,0xFF,
 +
      0xFF,0xBE,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0x9F,0xFD,0xF7,0xFF,0xFF,0xFF,
 +
      0xFF,0xBD,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xCF,0xFD,0xF7,0xFF,0xFF,0xFF,
 +
      0xFF,0xBD,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xE7,0xFD,0xEF,0xFF,0xFF,0xFF,
 +
      0xFF,0xDD,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xF3,0xFD,0xDF,0xFF,0xFF,0xFF,
 +
      0xFF,0xDD,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xF9,0xFD,0xDF,0xFF,0xFF,0xFF,
 +
      0xFF,0xDB,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFC,0xFD,0xBF,0xFF,0xFF,0xFF,
 +
      0xFF,0x80,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFE,0x7B,0x7F,0xFF,0xFF,0x80,
 +
      0x00,0x69,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0x3B,0x7F,0xC0,0x00,0x3F,
 +
      0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xBA,0x80,0x3F,0xFF,0xFF,
 +
      0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xD9,0xFF,0xFF,0xFF,0xFF,
 +
      0xFE,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xE9,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 +
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
 +
};
 +
void setup()
 
{
 
{
  pinMode(E,OUTPUT);
+
LCDA.Initialise(); // 屏幕初始化
  pinMode(RS,OUTPUT);
+
delay(100);
  pinMode(RW,OUTPUT);
+
  pinMode(6,OUTPUT);
+
  pinMode(7,OUTPUT);
+
  pinMode(8,OUTPUT);
+
  pinMode(9,OUTPUT);
+
  pinMode(10,OUTPUT);
+
  pinMode(11,OUTPUT);
+
  pinMode(12,OUTPUT);
+
  pinMode(13,OUTPUT);
+
  delay(100);
+
  LCD_Write(0,0x30); //基本指令动作 
+
  LCD_Write(0,0x02); //地址归位 
+
  LCD_Write(0,0x0C);  //开显示,关游标
+
  LCD_Write(0,0x01);//清屏,地址指针指向00H
+
  LCD_Write(0,0x06);      //光标的移动方向
+
  LCD_Write(0,0x80);          //设定显示的起始地址
+
 
}
 
}
void LCD_Write( unsigned char Data_Command , unsigned char uc_Content )
+
void loop()
{
+
  digitalWrite(RW,LOW); //RW = 0;  //写模式
+
  if(Data_Command)
+
  {
+
    digitalWrite(RS,HIGH); //RS = 1;  //数据
+
  }
+
  else
+
  {
+
    digitalWrite(RS,LOW); //RS = 0; //指令
+
  }
+
 
+
  unsigned char i;
+
  for (i=DB[0]; i <= DB[7]; i++)
+
  {
+
    digitalWrite(i,uc_Content & 0x01);
+
    uc_Content >>= 1;
+
  }//发送数据
+
  digitalWrite(E,HIGH); //E = 1;
+
  delay(5); //延时
+
  digitalWrite(E,LOW); //E = 0;
+
}
+
void LCD_ClearRam(void)
+
 
{
 
{
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION); //基本指令集
+
LCDA.DrawFullScreen(logo0);
  LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏
+
delay(5000);
 
}
 
}
void LCD_DDRAM_AddressSet(unsigned char ucDDramAdd)
+
</pre>
 +
====并行显示====
 +
<pre style='color:blue'>
 +
#include "LCD12864R.h"
 +
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
 +
unsigned char show0[]={ 0xB9, 0xFE,0xB6, 0xFB,0xB1, 0xF5,0xB0, 0xC2,0xCB, 0xC9,0xBB, 0xFA,0xF7,
 +
0xC8, 0xCB};                    //哈尔滨奥松机器人
 +
unsigned char show1[]="www.alsrobot.cn";
 +
 +
void setup()
 
{
 
{
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION); //基本指令集
+
LCDA.Initialise(); // 屏幕初始化
  LCD_Write(LCD_COMMAND,ucDDramAdd); //设定DDRAM地址到地址计数器AC
+
delay(100);
 
}
 
}
void LCD_CGRAM_AddressSet(unsigned char ucCGramAdd)
+
   
{
+
void loop()
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION); //基本指令集
+
  LCD_Write(LCD_COMMAND,ucCGramAdd); //设定CGRAM地址到地址计数器AC
+
}
+
void LCD_GDRAM_AddressSet(unsigned char ucGDramAdd)
+
{
+
  LCD_Write(LCD_COMMAND,LCD_EXTEND_FUNCTION); //扩展指令集
+
  LCD_Write(LCD_COMMAND,ucGDramAdd);
+
}
+
void chsDisplay_8bit(unsigned char ucAdd, unsigned char code)
+
{
+
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION);  //基本指令动作 
+
  LCD_DDRAM_AddressSet(ucAdd);
+
  LCD_Write(LCD_DATA, code);
+
}
+
void chsDisplay_16bit(unsigned char ucAdd, unsigned int code)
+
{
+
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION);  //基本指令动作 
+
  LCD_DDRAM_AddressSet(ucAdd);
+
  unsigned char temp;
+
  delay(2);
+
  temp = (code&0xFF00)>>8;
+
  LCD_Write(1,temp);
+
 
+
  temp = code&0x00FF;
+
  LCD_Write(1,temp);
+
}
+
void LCD_DisplayStrings_WithAddress(unsigned char ucAdd,const char *p)
+
{
+
  unsigned char length;
+
  length = strlen(p);
+
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION);  //基本指令动作 
+
  LCD_DDRAM_AddressSet(ucAdd);
+
  for( ; length ; length -- )
+
    LCD_Write(LCD_DATA, *(p++));
+
}
+
void LCD_GraphModeSet(unsigned char Select)
+
{
+
  LCD_Write(LCD_COMMAND,LCD_EXTEND_FUNCTION); //扩展指令集
+
  if(Select)
+
  {
+
    LCD_Write(LCD_COMMAND,LCD_GRAPH_ON); //打开绘图模式
+
  }
+
  else
+
  {
+
    LCD_Write(LCD_COMMAND,LCD_GRAPH_OFF); //关闭绘图模式
+
  }
+
}
+
void LCD_ImgDisplay(unsigned char *img)
+
 
{
 
{
  unsigned char i,j;
+
LCDA.CLEAR();//清屏
  LCD_GraphModeSet(0x00); //先关闭图形显示功能
+
delay(100);
  for(j=0;j<32;j++)
+
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文智位机器人
  {
+
delay(100);
    for(i=0;i<8;i++)
+
LCDA.DisplayString(2,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示网址dfrobot.com/
    {
+
delay(5000);
      LCD_Write(LCD_COMMAND,0x80+j); //设定垂直坐标
+
      LCD_Write(LCD_COMMAND,0x80+i); //设定水平坐标
+
      LCD_Write(LCD_DATA,img[j*16+i*2]); //放入数据高字节
+
      LCD_Write(LCD_DATA,img[j*16+i*2+1]); //放入数据低字节
+
    }
+
  }
+
  for(j=32;j<64;j++)
+
  {
+
    for(i=0;i<8;i++)
+
    {
+
      LCD_Write(LCD_COMMAND,0x80+j-32);
+
      LCD_Write(LCD_COMMAND,0x88+i);
+
      LCD_Write(LCD_DATA,img[j*16+i*2]);
+
      LCD_Write(LCD_DATA,img[j*16+i*2+1]);
+
    }
+
  }
+
  LCD_GraphModeSet(0x01);//最后打开图形显示功能
+
 
}
 
}
void LCD_ImgDisplay_from_flash(unsigned char *img)
+
</pre>
{
+
  unsigned char *data = img;
+
  unsigned char i,j;
+
  LCD_GraphModeSet(0x00);
+
 
+
  for(i=0;i<32;i++)     
+
  {
+
    LCD_Write(LCD_COMMAND,0x80|i); 
+
    LCD_Write(LCD_COMMAND,0x80);   
+
    for(j=0;j<16;j++)         
+
    {                       
+
      LCD_Write(LCD_DATA,pgm_read_byte(data++));
+
    }
+
  }
+
 
+
  for(i=0;i<32;i++)             
+
  {
+
    LCD_Write(LCD_COMMAND,0x80|i);       
+
    LCD_Write(LCD_COMMAND,0x88);         
+
    for(j=0;j<16;j++)               
+
    {
+
      LCD_Write(LCD_DATA,pgm_read_byte(data++));
+
    }
+
  }
+
  LCD_GraphModeSet(0x01);             
+
  LCD_Write(LCD_COMMAND,LCD_BASIC_FUNCTION);
+
}</pre>
+
 
===程序效果===
 
===程序效果===
字迹显示清晰
+
以上三个测试例程,分别通过串行和并行通信方式进行显示,文字显示:“奥松机器人,www.alsrobot.cn”,图片显示为位图,通过下载解码和取模软件可以轻松编程。
[[文件:RB-05L0031.jpg|500px|缩略图|居中]]
+
 
==视频演示==
 
==视频演示==
 
[[File:12864 ye jing.png|400px|右|link=http://v.youku.com/v_show/id_XMTc2Mzk2MDI4.html?from=y1.7-2]]
 
[[File:12864 ye jing.png|400px|右|link=http://v.youku.com/v_show/id_XMTc2Mzk2MDI4.html?from=y1.7-2]]

2015年11月2日 (一) 13:21的版本

RB-05L003.jpg

目录

产品概述

2014年最新推出的12864液晶板采用的是带汉字库图形点阵液晶显示模块,具有串行和并行接口,背光控制开关(串行与并行模式均可使用),对比度调节旋钮,板上集成IDC6插座和IDC14插座,可通过套件中附送的专用连接线与Arduino传感器扩展板连接,无需再买相关转接板,通过我们提供的例子程序,您可以用Arduino控制器做控制完成显示8192个中文汉字(16X16点阵)、128个字符(8X16点阵)和图形显示(128X64点阵)功能,轻松制作Arduino互动显示器最佳选择。

规格参数

  1. 电源电压:VDD+3.3V~+5.5V(内置升压电路,无需负压)
  2. 控制器:ST7920
  3. 点阵个数:128列×64行
  4. 显示颜色:蓝底白字
  5. 可视角度:170度
  6. LCD类型:STN
  7. 控制接口:8位或4位并行和3位串行
  8. LED背光:蓝色
  9. 软件功能:光标显示、画面移位、自定义字符、反白显示、睡眠模式等
  10. 逻辑工作电压(VDD):4.5~5.5V
  11. 电源地(GND):0V
  12. 工作温度:-20℃~70℃
  13. 存储温度:-30℃~80℃
  14. 模块尺寸:93×70×22mm
  15. 视域尺寸:73×39mm

发货清单

  • 12864 液晶扩展版 * 1个
  • 6P 双头线 * 1条
  • 14P 双头线 * 1条

12864液晶屏接口定义

  • PIN1------GND 电源接入 -, 一般接0V。
  • PIN2------电源接入 +, 一般接5V。
  • PIN3------对比度调整端,VDD和GND接可调电阻两端,中间抽头接至V0。
  • PIN4------RS 指令/数据选择
  • PIN5------R/W 读写选择
  • PIN6------E,信号使能
  • PIN7------D0,数据位0
  • PIN8------D1,数据位1
  • PIN9------D2,数据位2
  • PIN10-----D3,数据位3
  • PIN11-----D4,数据位4
  • PIN12-----D5,数据位5
  • PIN13-----D6,数据位6
  • PIN14-----D7,数据位7
  • PIN15-----PSB 并行:PSB=1,可以接VCC; 串行:PSB=0,一般接GND
  • PIN16 ----NC,不连接
  • PIN17-----~RST,模块复位,可不连接
  • PIN18 ----NC,不连接
  • PIN19 ----LED+ ,背光 +,一般接5V。
  • PIN20 ----LED- ,背光 -,一般接GND。

使用方法

使用硬件

  • Carduino UNO 控制器 * 1个
  • LCD12864 点阵液晶扩展版 * 1个
  • USB 数据线 * 1条
  • V5.0传感器扩展板 * 1个

例子程序

点此下载12864液晶扩展板使用库文件及相关例子程序
点此下载12864液晶扩展板使用解码和取模软件

串行显示汉字

#include "LCD12864RSPI.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
unsigned char show0[]={
  0xB9, 0xFE, 0xB6, 0xFB,0xB1, 0xF5, 0xB0, 0xC2, 0xCB, 0xC9, 0xBB, 0xFA, 0xC6, 0xF7, 0xC8, 0xCB}; //哈尔滨奥松机器人
unsigned char show1[]="www.alsrobot.cn";
void setup()
{
LCDA.Initialise(); // 屏幕初始化
delay(100);
}
 
void loop()
{
LCDA.CLEAR();//清屏
delay(100);
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文智位机器人
delay(100);
LCDA.DisplayString(2,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示网址dfrobot.com/
delay(5000);
}

串行图片显示

#include "LCD12864RSPI.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
unsigned char logo0[]={                                         //笑脸
 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xFA,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xF6,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xBF,0xFF,0xFF,0xEE,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0xEE,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0x3F,0xFF,0xFF,0x00,
      0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFC,0xBF,0xFF,0xFF,0xBF,
      0x7F,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xF9,0xBF,0xFF,0xFF,0xBF,
      0x7F,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xF3,0x7F,0xFF,0xFF,0x7F,
      0xBF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xE7,0x7F,0xFF,0xFE,0xFF,
      0xBF,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xDF,0x7F,0xFF,0xFC,0xFF,
      0xBF,0xFF,0xFA,0x7F,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xBF,0x7F,0xFF,0xFD,0xFF,
      0xBF,0xFF,0xFB,0x9F,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0x7F,0x7F,0xFF,0xFB,0xFF,
      0xDF,0xFF,0xF7,0xE7,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFC,0xFF,0x7F,0xFF,0xF3,0xFF,
      0xDF,0xFF,0xF7,0xF9,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xF9,0xFF,0x7F,0xFF,0xF7,0xFF,
      0xDF,0xFF,0xF7,0xFE,0x7F,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xF3,0xFF,0x7F,0xFF,0xEF,0xFF,
      0xEF,0xFF,0xF7,0xFF,0x9F,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xE7,0xFF,0x7F,0xFF,0xCF,0xFF,
      0xEF,0xFF,0xEF,0xFF,0xE7,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xDF,0xFF,0x7F,0xFF,0xDF,0xFF,
      0xEF,0xFF,0xEF,0xFF,0xF9,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xBF,0xFF,0x7F,0xFF,0xBF,0xFF,
      0xF7,0xFF,0xEF,0xFF,0xFE,0x7F,0xFF,0xFF,
      0xFF,0xFF,0x7F,0xFE,0xFF,0xFF,0x3F,0xFF,
      0xF7,0xFF,0xEF,0xFF,0xFF,0x9F,0xFF,0xFF,
      0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0x7F,0xFF,
      0xF7,0xFF,0xDF,0xFF,0xFF,0xE7,0xFF,0xFF,
      0xFF,0xF9,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,
      0xF7,0xFF,0xDF,0xFF,0xFF,0xF9,0xFF,0xFF,
      0xFF,0xF3,0xFF,0xFE,0xFF,0xFC,0xFF,0xFF,
      0xFB,0xFF,0xDF,0xFF,0xFF,0xFE,0x7F,0xFF,
      0xFF,0xE7,0xFF,0xFE,0xFF,0xFD,0xFF,0xFF,
      0xFB,0xFF,0xDF,0xFF,0xFF,0xFF,0x9F,0xFF,
      0xFF,0xCF,0xFF,0xFE,0xFF,0xFB,0xFF,0xFF,
      0xFB,0xFF,0x9F,0xE0,0x00,0x00,0x03,0xFF,
      0xFF,0xBF,0xFF,0xFE,0xE0,0x00,0x00,0x00,
      0x00,0x00,0x00,0x1F,0xFF,0xFF,0xC1,0xFF,
      0xF8,0x00,0x00,0x00,0x1F,0xF7,0xFF,0xFF,
      0xFD,0xFF,0xBF,0xFF,0xFF,0xFF,0x1C,0xFF,
      0xFF,0xFF,0xFF,0xFE,0xFF,0xEF,0xFF,0xFF,
      0xFD,0xFF,0xBF,0xFF,0xFF,0xFC,0xFF,0xFF,
      0xFF,0xBF,0xFF,0xFE,0xFF,0xCF,0xFF,0xFF,
      0xFD,0xFF,0xBF,0xFF,0xFF,0xF3,0xFF,0xFF,
      0xFF,0xDF,0xFF,0xFE,0xFF,0xDF,0xFF,0xFF,
      0xFE,0xFF,0x7F,0xFF,0xFF,0xCF,0xFF,0xFF,
      0xFF,0xEF,0xFF,0xFE,0xFF,0xBF,0xFF,0xFF,
      0xFE,0xFF,0x7F,0xFF,0xFF,0x3F,0xFF,0xFF,
      0xFF,0xF7,0xFF,0xFD,0xFF,0x3F,0xFF,0xFF,
      0xFE,0xFF,0x7F,0xFF,0xFC,0xFF,0xFF,0xFF,
      0xFF,0xFB,0xFF,0xFD,0xFF,0x7F,0xFF,0xFF,
      0xFF,0x7F,0x7F,0xFF,0xF3,0xFF,0xFF,0xFF,
      0xFF,0xFD,0xFF,0xFD,0xFE,0xFF,0xFF,0xFF,
      0xFF,0x7E,0xFF,0xFF,0xCF,0xFF,0xFF,0xFF,
      0xFF,0xFE,0xFF,0xFD,0xFC,0xFF,0xFF,0xFF,
      0xFF,0x7E,0xFF,0xFF,0x3F,0xFF,0xFF,0xFF,
      0xFF,0xFE,0x7F,0xFD,0xFD,0xFF,0xFF,0xFF,
      0xFF,0x7E,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0x3F,0xFD,0xFB,0xFF,0xFF,0xFF,
      0xFF,0xBE,0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0x9F,0xFD,0xF7,0xFF,0xFF,0xFF,
      0xFF,0xBD,0xFF,0x9F,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xCF,0xFD,0xF7,0xFF,0xFF,0xFF,
      0xFF,0xBD,0xFE,0x7F,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xE7,0xFD,0xEF,0xFF,0xFF,0xFF,
      0xFF,0xDD,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xF3,0xFD,0xDF,0xFF,0xFF,0xFF,
      0xFF,0xDD,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xF9,0xFD,0xDF,0xFF,0xFF,0xFF,
      0xFF,0xDB,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFC,0xFD,0xBF,0xFF,0xFF,0xFF,
      0xFF,0x80,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFE,0x7B,0x7F,0xFF,0xFF,0x80,
      0x00,0x69,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0x3B,0x7F,0xC0,0x00,0x3F,
      0xFF,0xE3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xBA,0x80,0x3F,0xFF,0xFF,
      0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xD9,0xFF,0xFF,0xFF,0xFF,
      0xFE,0x77,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xE9,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xF3,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
};
void setup()
{
LCDA.Initialise(); // 屏幕初始化
delay(100);
}
void loop()
{
LCDA.DrawFullScreen(logo0);
delay(5000);
}

并行显示

#include "LCD12864R.h"
#define AR_SIZE( a ) sizeof( a ) / sizeof( a[0] )
unsigned char show0[]={ 0xB9, 0xFE,0xB6, 0xFB,0xB1, 0xF5,0xB0, 0xC2,0xCB, 0xC9,0xBB, 0xFA,0xF7,
0xC8, 0xCB};                    //哈尔滨奥松机器人
unsigned char show1[]="www.alsrobot.cn";
 
void setup()
{
LCDA.Initialise(); // 屏幕初始化
delay(100);
}
 
void loop()
{
LCDA.CLEAR();//清屏
delay(100);
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文智位机器人
delay(100);
LCDA.DisplayString(2,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示网址dfrobot.com/
delay(5000);
}

程序效果

以上三个测试例程,分别通过串行和并行通信方式进行显示,文字显示:“奥松机器人,www.alsrobot.cn”,图片显示为位图,通过下载解码和取模软件可以轻松编程。

视频演示

12864 ye jing.png
Iic1602 01.png


产品相关推荐

Erweima.png

购买地址

LCD12864点阵液晶扩展板

周边产品推荐

Raspberry Pi 树莓派 2代 B+ 7寸液晶屏 LCD电容触摸 高清显示器
Raspberry Pi 直插 3.5寸液晶屏 树莓派2代 B+ 高清 可触摸液晶屏

相关问题解答

Arduino驱动控制12864液晶屏
12864液晶显示程序编译错误

相关学习资料

[http://www.makerspace.cn/forum.ph