LCD液晶显示模块12864应用笔记(串行方式)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
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
SendDAT_LCD( data );
//
data++;
}
}
2
12345678ABCD
DisplayN_LCD ( 0x93, 12345678ABCD , 12 );
4.
void DisplayN2S_LCD (unsigned char num )
{
SendCMD_LCD( addr );
switch ( num ){
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
//
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 );
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++){
-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
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 );
84H
85H
86H
87H
Line 2 90H
91H
92H
93H
94H
95H
96H
97H
======================================================================
ohy3686@foxmail.com 2012-11-25
-5-
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,
dቤተ መጻሕፍቲ ባይዱta++;
}
}
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 );
// // //
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++){
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