LCD液晶显示模块12864应用笔记(串行方式)

合集下载

12864液晶屏幕使用说明及程序

12864液晶屏幕使用说明及程序

12864使用说明一、串/并接口1.1 串口接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。

*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。

*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。

1.2 并行接口管脚信号*注释1:如在实际应用中仅使用并口通讯模式,可将PSB 接固定高电平。

*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。

*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK 用焊锡短接。

二、模块主要硬件构成说明控制器接口信号说明:2.1、RS,R/W的配合选择决定控制界面的4种模式:2.2、E信号●忙标志BFBF 标志提供内部工作情况.BF=1 表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0 时, 模块为准备状态,随时可接受外部指令和数据.利用STATUS RD 指令,可以将BF 读到DB7 总线,从而检验模块之工作状态.●字型产生ROM(CGROM)字型产生ROM(CGROM)提供8192 个此触发器是用于模块屏幕显示开和关的控制。

DFF=1 为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。

DFF 的状态是指令DISPLAY ON/OFF 和RST 信号控制的。

●显示数据RAM(DDRAM)模块内部显示数据 RAM 提供 64×2 个位元组的空间,最多可控制 4 行 16 字(64 个字)的中文字型显示,当写入显示数据 RAM 时,可分别显示 CGROM 与CGRAM 的字型;此模块可显示三种字型,分别是半角英、数字型(16*8)、CGRAM 字型及 CGROM 的中文字型。

三种字型的选择,由在 DDRAM 中写入的编码选择,在0000H—0006H 的编码中(其代码分别是0000、0002、0004、0006 共4 个)将选择 CGRAM 的自定义字型,02H—7FH 的编码中将选择半角英数字的字型,至于A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。

lcd12864中文资料汇总(12864引脚说明及功能

lcd12864中文资料汇总(12864引脚说明及功能

lcd12864中文资料汇总(12864引脚说明及功能lcd12864简介带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。

利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字。

也可完成图形显示。

低电压低功耗是其又一显著特点。

由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

lcd12864基本特性参数(1)低电源电压(VDD:+3.0--+5.5V)(2)显示分辨率:128×64点(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)(4)内置128个16×8点阵字符(5)2MHZ时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY,1/5BIAS(8)视角方向:6点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10(10)通讯方式:串行、并口可选(11)内置DC-DC转换电路,无需外加负压(12)无需片选信号,简化软件设计(13)工作温度:0℃-+55℃,存储温度:-20℃-+60℃lcd12864引脚图及功能1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效18NC空脚19LED_A(LED+5V)背光源正极20LED_K(LED-OV)背光源和负极控制器接口信号说明1、RS,R/W的配合选择决定控制界面的4种模式:2、E信号●忙标志:BFBF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据。

12864液晶屏学习使用手册

12864液晶屏学习使用手册

12864液晶屏学习手册1.液晶模组概览12864A-1汉字图形点阵液晶显示模块,可显示汉字和图形,内置8192个汉字(16X16点矩阵,16 * 8 = 128,16 * 4 = 64,一行,4行只能写8个汉字;),128个字符(8X16点矩阵)和64X256点矩阵显示RAM(GDRAM)。

主要技术参数和显示特性:电源:VDD 3.3V〜+5伏(内置升压电路,无负压);显示内容:128列X第64行(128分)显示颜色:黄绿色显示角度:直接看6:00LCD类型:STN与MCU的接口:8位或4位并行/ 3位串行配置LED背光多种软件功能:光标显示,屏幕移位,自定义字符,睡眠模式等2.尺寸1.尺寸2。

主要尺寸项目标准尺寸单元模子片身体产品113.0X65.0X12.8毫米2.模块引脚说明逻辑工作电压(VDD):4.5〜5.5V电源地(GND):0V穿孔温度(Ta):0〜60°C(常温)/ -20〜75°C(宽温度)三,接口定时模块有两种连接方式:并行和串行(时间如下):8位并行连接时序图MPU将数据写入模块MPU从模块读取数据2,串行连接时序图串行数据传输以三个字节完成:第一个字节:串口控制—格式11111ABCA是数据传输方向控制:H表示从LCD到MCU的数据,L表示从MCU到LCD的数据B是数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三个字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T =25℃VDD = 4.5V)备注:1,在模块接受指令之前,微处理器必须首先确认模块不忙,即读取高炉签到时间高炉需要0接受新说明之前;如果你不这样做’t在发送命令之前检查高炉商标,(通常在输入每日命令之前添加延迟)那么上一条指令和该指令之间必须有很长的延迟,也就是等待上一条命令的执行完成,有关命令的执行时间,请参阅命令表中的各个命令描述。

LCD12864使用手册

LCD12864使用手册

文件型号LCD12864文件类型服务文件版本 1.0图形点阵液晶显示模块使用手册LCD12864一.概述HEM12864I是一种图形点阵液晶显示器。

它主要采用动态驱动原理由行驱动—控制器和列驱动器两部分组成了128(列)×64(行)的全点阵液晶显示。

此显示器采用了COB的软封装方式,通过导电橡胶和压框连接LCD,使其寿命长,连接可靠。

二.特性1.工作电压为+5V±10% ,可自带驱动LCD所需的负电压。

2.全屏幕点阵,点阵数为128(列)×64(行),可显示8(/行)×4(行)个(16×16点阵)汉字,也可完成图形,字符的显示。

3.与CPU接口采用5条位控制总线和8位并行数据总线输入输出,适配M6800系列时序。

4.内部有显示数据锁存器。

5.简单的操作指令,显示开关设置,显示起始行设置,地址指针设置和数据读/写等指令。

三.外形尺寸1.外形尺寸图2.主要外形尺寸项目标 准 尺 寸 单 位模 块 体 积 54.0×50.0×6.5mm定 位 尺 寸 49.0×45.0mm视 域43.5×29.0 mm行 列 点 阵 数 128×64dots点 距 离 0.32×0.39mm点 大 小0.28×0.35mm四.硬件说明1.引脚特性2.引脚号引脚名称 级 别 引脚功能描述1 VSS0V电源地2 VDD +5V 电源电压3 VLCD 0~-10V LCD驱动负电压,要求VDD-VLCD=13V4 RS H/L 寄存器选择信号5 R/W H/L 读/写操作选择信号6 E H/L 使能信号7 DB08 DB19 DB210 DB3H/L八位三态并行数据总线11 DB412 DB513 DB614 DB715 CS1 H/L 片选信号,当CS1=H时,液晶左半屏显示16 CS2 H/L 片选信号,当CS2=H时,液晶右半屏显示17 /RES H/L 复位信号,低有效18 VEE -10V 输出-10V的负电压(单电源供电)19 BLA+5V 背光电源20 BLK 0V 背光电源2.原理简图3.主要各部分详解99999991)显示数据RAM(DDRAM)DDRAM(64×8×8 bits)是存储图形显示数据的。

12864液晶显示串行程序(英飞凌xc824)

12864液晶显示串行程序(英飞凌xc824)

12864液晶显示串行程序(英飞凌xc824)
先说说我的调试初衷前一阵看实验室的兄弟姐妹们都闲的无聊,就有人DIY 了,有人个BF 做电子时钟,一个液晶30 多,一个12C887 20 多,板子加器件还有单片机算下来少说也有70 大洋。

感觉实在不划算,但是对液晶还是
蛮感兴趣的,一方面熟悉一下串行设备,一方面为以后做准备,毕竟液晶显示
操作起来要比LED 简单,而且能实时显示,到什么时候都能用上。

所以,这
次液晶屏的调试,我就想搜集一些常用的程序,适当的修改,让液晶屏达到拿
来就能用上的目的。

先说说我这次调试的液晶屏,12864,带子库的,蓝色屏幕。

就是这张图了
单片机我选的是英飞凌xc824,新出的哦。

不是有啥特殊偏好,手头就有这个,就先用这个吧,主要是我对这个最小系统板上的触摸按键比较感兴趣。


然了,它也有缺点,内存太小,连一个12864 的图片都装不下。

:Q 闲话少说,先从最基本的数据手册开始吧
中显液晶12864.pdf
这是中文资料,因为这种东西已经被使用的多的不能再多了,而且厂家众多,但是有细微差别,比如串行和并行,有的是焊点切换的,有的是软件切换的。

我这个是后者。

刚接线的时候还出了个笑话,太相信实物和datasheet 和对应的了,结果屏幕的背光接反了,幸好没烧。

硬件方面,我选串行是因为它用线少,我很懒的。

:) P1.0 口对应CS,P1.1 口对应SID,P1.2 口对应CLK.
参考时序在datasheet 上写的很清楚有这个当指导思想,照着写程序吧.动手之。

12864液晶屏学习使用手册

12864液晶屏学习使用手册

12864液晶屏学习手册1.液晶模组概览12864A-1汉字图形点阵液晶显示模块,可显示汉字和图形,内置8192个汉字(16X16点矩阵,16 * 8 = 128,16 * 4 = 64,一行,4行只能写8个汉字;),128个字符(8X16点矩阵)和64X256点矩阵显示RAM(GDRAM)。

主要技术参数和显示特性:电源:VDD 3.3V〜+5伏(内置升压电路,无负压);显示内容:128列X第64行(128分)显示颜色:黄绿色显示角度:直接看6:00LCD类型:STN与MCU的接口:8位或4位并行/ 3位串行配置LED背光多种软件功能:光标显示,屏幕移位,自定义字符,睡眠模式等2.尺寸1.尺寸2。

主要尺寸项目标准尺寸单元模子片身体产品113.0X65.0X12.8毫米2.模块引脚说明逻辑工作电压(VDD):4.5〜5.5V电源地(GND):0V穿孔温度(Ta):0〜60°C(常温)/ -20〜75°C(宽温度)三,接口定时模块有两种连接方式:并行和串行(时间如下):8位并行连接时序图MPU将数据写入模块MPU从模块读取数据2,串行连接时序图串行数据传输以三个字节完成:第一个字节:串口控制—格式11111ABCA是数据传输方向控制:H表示从LCD到MCU的数据,L表示从MCU到LCD的数据B是数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三个字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T =25℃VDD = 4.5V)备注:1,在模块接受指令之前,微处理器必须首先确认模块不忙,即读取高炉签到时间高炉需要0接受新说明之前;如果你不这样做’t在发送命令之前检查高炉商标,(通常在输入每日命令之前添加延迟)那么上一条指令和该指令之间必须有很长的延迟,也就是等待上一条命令的执行完成,有关命令的执行时间,请参阅命令表中的各个命令描述。

12864串行方式使用体会

12864串行方式使用体会

12864使用心得论文一、硬件连接1.1 12864引脚示意图1.2 本次实验中12864与MCU的连接示意图/****************晶振为11.0592**********************/sbit PSB = P1^0; //并1/串0选择//串行接法sbit CS = P1^3; //串片选sbit DS = P1^2; //串数据口sbit SCK = P1^1; //串时钟信号/*//并行接法sbit RS = P1^3; //数据/命令选择端sbit RW = P1^2; //读写选择端sbit E = P1^1; //使能信号端#define DataIO P0 //并行数据口*/二、底层基本程序(串行方式)2.1 基本写字节程序//写一个字节(以SCK上升沿接收一个位)void sendbyte(uint8 zdata){uint16 i;for(i=0; i<8; i++){if((zdata << i) & 0x80){DS = 1;}else {DS = 0;}SCK = 0;SCK = 1;}}2.2 写命令程序(若晶振频率>11.0592,则需加延时处理)//写命令void writeCmd(uint8 cmdcode){CS = 1;sendbyte(0xf8);sendbyte(cmdcode & 0xf0);sendbyte((cmdcode << 4) & 0xf0);// delayMs(1); //若晶振频率>11.0592,则需延时}2.3 写数据程序(若晶振频率>11.0592,则需加延时处理)//写数据void writeData(uint8 dispdata){CS = 1;sendbyte(0xfa);sendbyte(dispdata & 0xf0);sendbyte((dispdata << 4) & 0xf0);// delayMs(1); //若晶振频率>11.0592,则需延时}2.4 通用软件毫秒延时程序//延时程序void delayMs(uint16 xms){uint16 i,j;for (i=0;i<=xms;i++)for (j=0;j<=123;j++);}三、文本显示3.1 LCD12864初始化//LCD12864初始化void LCD12864Init(){PSB = 0; //串行writeCmd(0x30); //基本指令模式writeCmd(0x04); //游标右移一位writeCmd(0x0c); //显示开,关光标writeCmd(0x01); //清除LCD的内容(仅字符模式) }模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指令表1:(RE=0:基本指令)指令表2:(RE=1:扩充指令)3.2 LCD12864字符串的显示//写字符串函数,参数line第1/2行beSpace字符前面的空格数pString指针uint8 write12864String(uint8 line,uint8 beSpace,char *pString){uint8 i=0;uint8 sLength = strlen(pString); //字符串长度if (pString == NULL) //空字符串return -1;writeCmd(0x30); //基本指令模式//设置写在的位置if (line == 1){writeCmd(0x80 + beSpace); //写在第一行的位置}else if (line == 2){writeCmd(0x90 + beSpace); //写在第二行的位置}else if (line == 3){writeCmd(0x88 + beSpace); //写在第三行的位置}else if (line == 4){writeCmd(0x98 + beSpace); //写在第四行的位置}else{return -1;}//写数据for (i=0;i< sLength;i++){writeData ( *pString );pString ++;}return 0;}12864每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。

12864串行显示中文讲解

12864串行显示中文讲解

12864串行显示中文,按键选择显示页面,并且可调数值。

单片机P1口接矩阵按键,其它接口按程序中定义去接只需要接12864LCD上GND VCC RS RW E PSB RST A K程序如下/********************************12864.h头文件*******************************/ #ifndef _12864_h#define _12864_h/*****包含头文件**************/#include<reg51.h>/********定义I/0口**********/#define GPIO_KEY P1sbit LCD12864_SCLK = P2^7; //Esbit LCD12864_SID = P2^5; //RWsbit LCD12864_CS = P2^6; //RSsbit LCD12864_RET= P2^0;sbit LCD12864_PSB =P2^2;/*声明全局变量*/extern unsigned char keyvalue;/******声明全局函数*********/void Delay1ms(unsigned int); //声明延时函数unsigned char KeyDown(void);void LCD_sendbyte(unsigned char);void WrCom(unsigned char);void WrDat(unsigned char);void LcdInit(void);//void Print(unsigned char);void SetAddress( unsigned char,unsigned char );void DisplayString(unsigned char x ,unsigned char y,unsigned char *add);#endif/********************************12864.C*************************************/ #include"12864.h"#include<reg51.h>#include"string.h"//#define LCM_ST7920_FIRST_LINE_ADDRESS 0x80//#define LCM_ST7920_SECOND_LINE_ADDRESS 0x90//#define LCM_ST7920_THIRD_LINE_ADDRESS 0x88//#define LCM_ST7920_FOURTH_LINE_ADDRESS 0x98/*定义全局变量*/unsigned char keyvalue=0;/****************************************************************************** ** 函数名: Delay1ms* 函数功能: 延时函数,延时1ms* 输入: c* 输出 e : 无* 说名: 该函数是在12MHZ晶振下,12分频单片机的延时。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

data++;
}
}
2
DisplayC_LCD ( 0x93, “
”, 4 );
-3-
2. void DisplayD_LCD ( unsigned char addr,
unsigned char data1, unsigned char data2 ) { SendCMD_LCD( addr ); SendDAT_LCD( data1 ); SendDAT_LCD( data2 ); } 2 DisplayD_LCD ( 0x93, 0xB9, 0xE3 );
case 0: SendDAT_LCD( ‘0’ );
case 1: SendDAT_LCD( ‘0’ );
……
case 14: SendDAT_LCD( ‘E’ );
case 15: SendDAT_LCD( ‘F’ );
default: SendDAT_LCD( ‘R’ );
}
}
2
5
SendCMD_LCD( 0x93 );
//
unsigned char *data,
//
unsigned char num )
//
{
unsigned char n;
SendCMD_LCD( addr );
for ( n=0; n<num; n++){
SendDAT_LCD( data );
//
data++;
SendDAT_LCD( data );
-2-
1.
SendCMD_LCD
void SendCMD_LCD(unsigned char dat){
SendByte_LCD( 0xf8 );
SendByte_LCD( dat & 0xf0 );
SendByte_LCD( (dat << 4 ) & 0xf0 );
}
// 1 1 1 1 1 0 0 0
2.
SendDAT_LCD
void SendDAT_LCD(unsigned char dat){
SendByte_LCD( 0xfa );
SendByte_LCD( dat & 0xf0 );
SendByte_LCD( (dat << 4 ) & 0xf0 );
}
// 1 1 1 1 1 0 1 0
15
PSB
H—
L—
16
NC
17
/RET
18
NC
19
LED_A(+)
20
LED_B(-)
-1-
SendByte_LCD
data—
void SendByte_LCD(unsigned char data){
unsigned char i;
CS
= 1;
CLK = 0;
for(i=0; i<8; i++){
LCD
12864
. 1.
性将个程点然 意将个 成将个 指将个
.
12时×控成
16×引控
引性时
脚致算 个


意将意V 指将带V
带 控带
-性带
8×引控
64×性指控
点脚 点程K 脚相然 个
7指

时引有性 置满符商用然置满符在 个

.
1
VSS
2
VDD
3
V0
LCD
4
RS
CS
5
R/W
CLK
6
E
SID
7~14
DB0~DB8
84H
85H
86H
87H
Line 2 90H
91H92H93H源自94H95H96H
97H
======================================================================
ohy3686@ 2012-11-25
-5-
DisplayN2S_LCD( 5 );
//
break; break; break; break; break;
-4-
.
30H
8
04H
DDRAM
1.
0CH
01H
DDRAM 20H
AC
00H
02H
DDRAM
AC 00H
DARAM
.
LCD
12232F
12232F
X
Line 1 80H
81H
82H
83H
if(data & 0x80) {SID =1;}
//
else {SID =0;}
data << 1;
//
CLK = 1;
Delay(200);
//
CLK = 0;
}
CS
= 0;
}
.
11111ABC
A
H—
LCD MCU
L—
MCU LCD
B
H—
L—
C
0.
8
4 D7 D6 D5 D4 0 0 0 0
8
4 D3 D2 D1 D0 0 0 0 0
// // //
B9H, E3H
3.
void DisplayN_LCD ( unsigned char addr,
//
unsigned char *data,
//
unsigned char num )
//
{
unsigned char n;
SendCMD_LCD( addr );
for ( n=0; n<num; n++){
SendDAT_LCD( data );
//
data++;
}
}
2
12345678ABCD
DisplayN_LCD ( 0x93, 12345678ABCD , 12 );
4.
void DisplayN2S_LCD (unsigned char num )
{
SendCMD_LCD( addr );
switch ( num ){
X
Line 1 80H
81H
82H
83H
84H
85H
86H
87H
Line 2 90H
91H
92H
93H
94H
95H
96H
97H
Line 3 88H
89H
8AH 8BH
8CH
8DH 8EH
8FH
Line 4 98H
99H
9AH 9BH
9CH
9DH 9EH
9FH
. LCD
1.
void DisplayC_LCD ( unsigned char addr,
相关文档
最新文档