图形点阵液晶12864的原理与应用Word文件下载.docx

上传人:b****5 文档编号:17601909 上传时间:2022-12-07 格式:DOCX 页数:23 大小:180.92KB
下载 相关 举报
图形点阵液晶12864的原理与应用Word文件下载.docx_第1页
第1页 / 共23页
图形点阵液晶12864的原理与应用Word文件下载.docx_第2页
第2页 / 共23页
图形点阵液晶12864的原理与应用Word文件下载.docx_第3页
第3页 / 共23页
图形点阵液晶12864的原理与应用Word文件下载.docx_第4页
第4页 / 共23页
图形点阵液晶12864的原理与应用Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

图形点阵液晶12864的原理与应用Word文件下载.docx

《图形点阵液晶12864的原理与应用Word文件下载.docx》由会员分享,可在线阅读,更多相关《图形点阵液晶12864的原理与应用Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

图形点阵液晶12864的原理与应用Word文件下载.docx

读信号

7

/CE

片选信号

8

C/D

H/L

指令/数据选择(H:

指令L:

数据)

9

/RESET

复位(模块内已带上电复位电路,加电后可自动复位)

10~17

DB0~DB7

数据总线0(三态数据总线)

18

FS

字体选择(H:

6X8点;

L:

8X8点,图形方式时建议接低)

19

LED+

--

LED背光电源输入(+5V)或EL背光电源输入(AC80V)

20

LED-

LED背光电源输入负极

T6963C是日本东芝公司专门为中等规模LCD模块设计的一款控制器,它通过外部MCU方便地实现对LCD驱动器和显示缓存的管理。

其特点为8位80或Z80系列总线,内部有128个常用字符表,可管理外部扩展显示缓存64KB(本模块为32KB),并具有丰富的指令供MCU实现对LCD显示屏幕的操作与编辑。

其指令如表3-6-2所示:

表3-6-2T6963C指令表

命令

命令码

参数D1

参数D2

功能

地址

指针设置

00100001(21H)

00100010(22H)

00100100(24H)

X横向地址

偏置地址

低8位地址

Y垂直地址

00H

高8位地址

光标地址设置

CGRAM偏置地址设置

读写显缓地址设置

显示

区域设置

01000000(40H)

01000001(41H)

01000010(42H)

01000011(43H)

每行字符数

每行字节数

文本显示区首地址

文本显示区宽度

图形显示区首地址

图形显示区宽度

方式设置

10000000(80H)

10000001(81H)

10000011(83H)

10000100(84H)

-

文本与图形逻辑"

或"

合成显示

异或"

合成显示

与"

文本显示特征以双字节表示

显示状态设置

10010000(90H)

10010010(92H)

10010011(93H)

10010100(94H)

10011000(98H)

10011100(9CH)

关所有显示

光标显示但不闪

光标闪动显示

文本显示,图形关闭

文本关闭,图形显示

文本和图形都显示

光标

大小设置

10100000(A0H)

10100001(A1H)

10100010(A2H)

10100011(A3H)

10100100(A4H)

10100101(A5H)

10100110(A6H)

10100111(A7H)

1行八点光标

2行八点光标

3行八点光标

4行八点光标

5行八点光标

6行八点光标

7行八点光标

8行八点光标

进入/退出显示数据自动读/写方式设置

10110000(B0H)

10110001(B1H)

10110010(B2H)

1011001110110011(B3H)

-

进入显示数据自动写方式

进入显示数据自动读方式

退出自动读/写方式

进入显示数据一次读/写方式设置

11000000(C0H)

11000001(C1H)

11000010(C2H)

11000011(C3H)

11000100(C4H)

11000101(C5H)

数据

写一字节数据,地址指针加一

读一字节数据,地址指针加一

写一字节数据,地址指针减一

读一字节数据,地址指针减一

写一字节数据,地址指针不变

读一字节数据,地址指针不变

屏读一

字节

11100000(E0H)

从当前地址指针(在图形区内)读一字节屏幕显示数据

屏读拷贝(一行)

11101000(E8H)

从当前地址指针(在图形区内)读一行屏幕显示数据并写回

显示数据

位操作设置

111110XXX

11111XXX

1111X000

1111X001

1111X010

1111X011

1111X100

1111X101

1111X110

1111X111

-

位清零

位置位

设位地址Bit0(LSB)

设位地址Bit1

设位地址Bit2

设位地址Bit3

设位地址Bit4

设位地址Bit5

设位地址Bit6

设位地址Bit7(MSB)

其读写时序如下图7-2所示

图7-2T6963C读写时序图

状态判断指令功能描述

无论是向T6963C读写数据还是写入命令,都必需判断忙状态。

读忙状态满足以下条件:

/RD:

L;

/WR:

H;

/CE:

C/D:

D0~D7状态字

T6963C状态字定义如下

MSB

LSB

STA7

STA6

STA5

STA4

STA3

STA2

STA1

STA0

D7

D6

D5

D4

D3

D2

D1

D0

其各位状态描述如下表所示

指令读写状态

0:

忙1:

数据读写状态

数据自动读状态

数据自动写状态

未用

控制器运行检测可能性

不能1:

可能

屏读/屏拷贝出错状态

对1:

闪烁状态检测

关1:

说明1.STA0和STA1在大多数命令和数据传送前必需在同一时刻判断,否则可能会出错;

2.在数据自动读写时判断STA2和STA3;

3.在屏读/屏拷贝时判断STA6;

4.STA5和STA7为厂家测试时用。

7.2电路原理图

液晶12864和单片机的连接示意图如下图3-6-3所示。

WR接P24,RD接P23,CE接P22,CD接P21,RST接P20。

D0~D7接单片机的八位数据口P0,12864的第4脚接变位器,调节背光显示。

图3-6-3STC89C51和LCD12864连接示意图

7.312864液晶C51参考程序

例子:

用C语言编程,在12864液晶上显示两屏画面,开机画面显示“河南科技学院信息工程学院”、“9876543210;

”和河南科技学院的网站地址“”,第二屏显示“一路平安万事如意”八个祝福的汉字。

程序代码如下:

#include<

reg51.h>

#include<

intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

/**************************************************************

*12864(T6963)液晶显示器端口配置,I/O接法

***************************************************************/

sbitREST=P2^0;

//Resetsignal,active"

L"

sbitC_D=P2^1;

//L:

dataH:

code

sbitC_E=P2^2;

//Chipenablesignal,active"

sbitR_D=P2^3;

//readsignal,active"

sbitW_R=P2^4;

//writesignal,active"

#include"

祝福.c"

数字.c"

小字体.c"

12864.c"

/***********************************************************

*以下函数功能是从x.y位置开始显示从j到k个16*16的汉字

************************************************************/

voidxiaoziti(ucharx,uchary,ucharj)

{

unsignedintaddress;

ucharn,m=0;

address=LcmLengthDots/8*y+x+0x0800;

for(n=0;

n<

16;

n++)

{

write_ddc(0x24,(uchar)(address),(uchar)(address>

>

8));

write_dc(0xc0,keji[j][m++]);

address=address+128/8;

x=x+4;

y++;

}

}

voiddis_henankeji(ucharx,uchary,uchara,ucharb)

{

ucharm,n;

m=x;

n=y;

for(;

a<

b;

a++)

{

xiaoziti(m,n,a);

m+=2;

}

/********************************************************

*以下程序是显示“一路平安万事如意”测试程序32*32的字体

*********************************************************/

voidzhufu_oneword(ucharx,uchary,ucharj)

for(n=0;

32;

{

write_ddc(0x24,(uchar)(address),(uchar)(address>

write_dc(0xc0,zhufu[j][m++]);

address=address+128/8;

x=x+4;

y++;

}

}

voiddis_zhufu()

zhufu_oneword(0,0,0);

//yilupingan

zhufu_oneword(4,0,1);

//x每变化1就改变横向改变8个小点

zhufu_oneword(8,0,2);

zhufu_oneword(12,0,3);

zhufu_oneword(0,32,4);

//wanshiruyi

zhufu_oneword(4,32,5);

//y没变化1就改变1个“一个”小点

zhufu_oneword(8,32,6);

zhufu_oneword(12,32,7);

/***************************************************

*以下程序是显示0~6个大字体的测试程序

****************************************************/

voidshuzi_oneword(ucharx,uchary,ucharj)

for(n=0;

n++)//数字取的字模为24*32所以为shuzi[][96]其中96=24*(32除以8)

write_dc(0xc0,shuzi[j][m++]);

/*********************************************

*显示开机画面函数

*********************************************/

voiddis_kjhuamian()

dis_henankeji(2,0,0,6);

dis_henankeji(2,16,6,12);

display_string(0,5,"

================"

);

display_string(2,6,"

9876543210;

"

display_string(0,7,"

ldelay(500);

F12864_clear();

/*主程序*/

voidmain()

F12864_init();

F12864_clear();

dis_kjhuamian();

//开机画面

while

(1)

dis_zhufu();

//祝福的东西

ldelay(700);

/*以下为程序中用到的几个子函数*/

/*****小字体.c*****/

ucharcodekeji[][32]={

/*--文字:

河--*/

/*--宋体12;

此字体下对应的点阵为:

宽x高=16x16--*/

0x20,0x00,0x17,0xFE,0x10,0x08,0x00,0x08,0x88,0x08,0x4B,0xC8,0x52,0x48,0x12,0x48,

0x22,0x48,0x23,0xC8,0xE2,0x48,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x28,0x20,0x10,

南--*/

0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x00,0x3F,0xFC,0x24,0x24,0x22,0x44,

0x2F,0xF4,0x21,0x04,0x3F,0xFC,0x21,0x04,0x21,0x04,0x21,0x14,0x21,0x08,0x00,0x00,

科--*/

0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48,

0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,

技--*/

0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08,

0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00,

学--*/

0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,

0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,

院--*/

0x00,0x80,0xF8,0x40,0x8F,0xFE,0x94,0x04,0xA0,0x00,0xA3,0xF8,0x90,0x00,0x88,0x00,

0x8F,0xFE,0xA9,0x20,0x91,0x20,0x81,0x20,0x82,0x22,0x82,0x22,0x84,0x22,0x88,0x1E,

信--*/

0x08,0x80,0x0C,0x60,0x18,0x40,0x17,0xFE,0x30,0x00,0x33,0xF8,0x50,0x00,0x93,0xF8,

0x10,0x00,0x13,0xF8,0x12,0x08,0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08,0x00,0x00,

息--*/

0x01,0x00,0x02,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,

0x1F,0xF0,0x00,0x00,0x09,0x00,0x28,0x84,0x28,0x92,0x68,0x12,0x07,0xF0,0x00,0x00,

工--*/

0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,

0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,

程--*/

0x0D,0xF8,0x71,0x08,0x11,0x08,0x11,0x08,0xFD,0x08,0x11,0xF8,0x30,0x00,0x3B,0xFC,

0x54,0x40,0x50,0x40,0x93,0xFC,0x10,0x40,0x10,0x40,0x10,0x40,0x17,0xFE,0x10,0x00,

};

/*****祝福.c*****/

ucharcodezhufu[][128]={

一--*/

/*--华文行楷22;

宽x高=29x30--*/

/*--宽度不是8的倍数,现调整为:

宽度x高度=32x30--*/

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1