12864液晶显示图片原理(完整版)

合集下载

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细)点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。

而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码。

那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示:图1“A”字模图而中文的“你”在字模中的记载却如图2所示:图2“你”字模图12864点阵型LCD简介12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示,也可以显示8×4个(16×16点阵)汉字。

管脚号管脚名称LEVER管脚功能描述1VSS0电源地2VDD+5.0V电源电压3V0-液晶显示器驱动电压4D/I(RS)H/L D/I=“H”,表示DB7∽DB0为显示数据D/I=“L”,表示DB7∽DB0为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DR 6E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0 7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15CS1H/L H:选择芯片(右半屏)信号16CS2H/L H:选择芯片(左半屏)信号17RET H/L复位信号,低电平复位18VOUT-10V LCD驱动负电压19LED+-LED背光板电源20LED--LED背光板电源表1:12864LCD的引脚说明在使用12864LCD前先必须了解以下功能器件才能进行编程。

12864液晶图像显示图文教程——最全版

12864液晶图像显示图文教程——最全版

由图可以看到水平坐标一个单位是两字节(即 16 位 D15~D0),X 地址会自动加 1,是直接加一个单位 (即两字节 16 位),比如 0001(也即 0X80+000X80+01),从第一行第一列跳到第一行第二列。 代码: void display_image(uchar *p) { uchar i,j; write_cmd(0x34);//扩充指令集动作 write_cmd(0x34);//关绘图显示功能 /*上半屏显示设置*/ for(i=0;i<32;i++)//上半屏 { write_cmd(0x80+i);//垂直地址 write_cmd(0x80); //水平地址 for(j=0;j<16;j++) { write_data(*p);//连续写入 16 个字节 p++; } } /*下半屏半屏显示设置*/ for(i=0;i<32;i++)//下半屏 { write_cmd(0x80+i);//垂直地址 write_cmd(0x88);//水平地址 for(j=0;j<16;j++)//连续写入 16 个字节 { write_data(*p); p++; } } write_cmd(0x36);//开绘图显示 write_cmd(0x30);//回到基本指令集 } 源程序: #include <reg52.h> #include "12864.h" X 坐标(水平)方向以 2 字节 Byte 为单位,Y 坐标(垂直) 方向以 1 位 Bit 为单位,先连续写入垂直与水平坐标,再写入 两字节数据到 GDRAM。 这里是这样进行的:i=0 时,j=0,1 时,写入两字节到垂直 (0X80+00)水平(0X80+00)这格(D15~D0)里;然后 X 坐标地址自增 1, 地址变为垂直 (0X80+00) , 水平 (0X80+01) 这格,在 j=2,3 时写入两字节,………一直到垂直(0X80+00) 水平(0X80+07)这格,在 j=14,15 时写入两字节,此时循环 for(j=0;j<16;j++)结束跳出,刚好第一行 128 位写完数据;然后 i++,开始写第二行……

12864LCD液晶显示原理及使用方法

12864LCD液晶显示原理及使用方法

12864LCD液晶显示原理及使用方法
一、液晶显示原理
1.液晶材料的性质
液晶是介于固体和液体之间的一种物质状态。

它具有流动性和定向性,通过控制电场可以改变其流动性。

液晶分子呈现出各种不同的排列方式,
包括向列排列、向行排列、扭曲排列等。

2.电场的作用
当液晶材料处于电场作用下时,液晶分子会发生定向排列。

电场的存
在导致液晶分子的定向,形成一定的直流电场效应。

通过改变电场的强度
和方向,可以改变液晶分子的排列状态。

3.光的传输
液晶分子的定向排列对入射光的传播具有影响。

根据液晶分子的不同
排列状态,可以选择性地传递或阻挡入射光。

通过控制电场的强度和方向,可以调节液晶分子的排列状态,从而改变光的传输效果。

4.显示原理
二、液晶显示的使用方法
1.连接电源
2.初始化
在液晶屏开始显示之前,需要进行初始化设置。

通过向液晶屏发送命令,配置液晶屏的各种参数,如显示模式、显示偏移量、对比度等。

3.显示图像
初始化完成后,可以通过向液晶屏发送数据以显示图像。

可以通过控制每个像素点的液晶分子排列状态,从而显示出对应的图像。

可以通过编写程序或者使用液晶屏驱动库来控制显示内容。

4.其他控制
除了显示图像外,液晶显示屏还具有其他一些控制功能。

例如,可以通过发送命令来设置光标位置、清除屏幕内容、切换显示区域等。

总结:。

12864液晶的说明

12864液晶的说明

液晶12864(KS0108主控)12864市面上比较流行的有两种,一种是以KS0108为主控芯片的,不带字库的,说白了就是只能靠打点才能显示出字符或图形的,当然要借助取模软件;另一种是以ST7920为主控芯片的,带ASCII码和中文字库。

至于两种的区别下一篇再讨论,这篇先讲述KS0108为主控芯片的12864的原理。

这是网上找的一个管脚图,当然不同品牌的可能略有差异,但是主要的还是一样的重点要讲一下CS1和CS2,KS0108控制的12864内部有两个控制器,分别控制左半屏和右半屏,如下图所示左半屏和右半屏操作时写的地址其实是一样的,那么只能通过片选CS1和CS2来选择哪半个屏了,如果两个都选通,则相当于两块64x64的液晶了,而且显示的内容是一样的,取模方式是纵向8点下高位。

好了,来说下原理,列的范围是0~63,我已经标出了,行是不能按位来写的,而是写“页”,一个页相当于8个点,也就是8位,即一个字符,高位在下面,那么页的范围是0~7,共8页,8页x8个点正好64个点。

这是我用取模软件截的一个“们”字,可以看出它是16x16大小的,实际上占用了两个“页”,16个列,而我们操作时先固定一个页,比如这个就先写上面那页,假设为n好了,从列0写到16,然后页n+1,再从列0写到16,这样一个“们”字就出来了,下面是其代码0x40,0x20,0xF8,0x07,0x00,0xF8,0x02,0x04, 0x08,0x04,0x04,0x04,0x04,0xF E,0x04,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F ,0x00,0x00,可见16x16的字符占了32个字节(上面n页16个字节加n+1页16个),那么如果一幅满幅的图片,就是128x64,占用128x8=1K个字节,可见还是非常占空间的。

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

12864点阵型液晶显示屏的基本原理与使用方法(很详细)

0
0
1
1
1
0
0
1
1
X
X
X
0
0
1
0
1
1
1
0
0
0
1
X
X
X
1
0 BUSY 0 ON/OFF RST 0
0
1
写数据
1
1
读数据
DB2 1 X X X 0
DB1 1 X X X 0
DB0 1/0
X X X 0
表 2:12864LCD 指令表
各功能指令分别介绍如下。
显示开/关指令
R/WRS 00
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00111111/0
设置了页地址和列地址,就唯一确定了显示 RAM 中的一个单元,这样 MPU 就可以
用读、写指令读出该单元中的内容或向该单元写进一个字节数据。
5、读状态指令
R/WRS 10
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 BUSY0ON/OFFREST0000
该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:
图 2 “你”字模图
12864 点阵型 LCD 简介
12864 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及 128×64 全点阵液晶显示器组成。 可完成图形显示,也可以显示 8×4 个(16×16 点阵)汉字。
管脚号 1 2 3 4
管脚名称 VSS VDD V0
D/I(RS)
LEVER 0
12864LCD 的指令系统及时序
该类液晶显示模块(即 KS0108B 及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指 令表如表 2 所示:

YM-12864显示原理

YM-12864显示原理

12864点阵液晶显示模块的原理2008-02-1713:2712864点阵液晶显示模块的原理(c h e n c h e n g原创,基于T S12864A1)12864点阵液晶显示模块(L C M)就是由128*64个液晶显示点组成的一个128列*64行的阵列。

每个显示点对应一位二进制数,1表示亮,0表示灭。

存储这些点阵信息的R A M称为显示数据存储器。

要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。

图形或汉字的点阵信息当然由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。

由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8b i t s显示数据R A M。

左右半屏驱动电路及存储器分别由片选信号C S1和C S2选择。

(少数厂商为了简化用户设计,在模块中增加译码电路,使得128*64液晶屏就是一个整屏,只需一个片选信号。

)显示点在64*64液晶屏上的位置由行号(l i n e,0~63)与列号(c o l u m n,0~63)确定。

512*8b i t s R A M中某个存储单元的地址由页地址(X p a g e,0~7)和列地址(Y a d d r e s s,0~63)确定。

每个存储单元存储8个液晶点的显示信息。

为了使液晶点位置信息与存储地址的对应关系更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵。

每列中的8行点阵信息构成一个8b i t s二进制数,存储在一个存储单元中。

(需要注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的R A M区称为存储页。

即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。

因此存储单元地址包括页地址(X p a g e,0~7)和列地址(Y a d d r e s s,0~63)。

12864液晶程序和原理图

12864液晶程序和原理图
{0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00,
0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00},/*"院",9*/
{
setpos(line,colum);//显示第i列上面8个点
write_dat(*(add+i));
setpos(line+1,colum++);//显示第i列下面8个点,然后列加1
write_dat(*(add+16+i));
delay(1000);//延时,达到汉字从左到右扫描显示的效果
}
}
{0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},/*"工",12*/
void write_com(uchar);//写指令
void write_dat(uchar);//写数据
void setpos(uchar,uchar); //设置显示的起始位置
void main()
{
init();
for(i=0;i<6;i++)
{
if(i<3)
{
select(0);

12864液晶原理

12864液晶原理

12864液晶原理+程序+ 照片+电路图2007/0726∙已有0条评论∙文章分类:单片机技术LCD_X EQU 30HLCD_Y EQU 31HCOUNT EQU 32HCOUNT1 EQU 33HCOUNT2 EQU 34HCOUNT3 EQU 35H;-----------------------------------------------LCD_DATA EQU 36HLCD_DATA1 EQU 37HLCD_DATA2 EQU 38HSTORE EQU 39H;-----------------------------------------------ORG 0000HLJMP MAINORG 0100H;-----------------------------------------------MAIN:MOV SP,#5FHCLR RST ;复位LCALL DELAY4SETB RSTNOPSETB PSB ;通讯方式为8位数据并口;********************初始化********************** LGS0: MOV A,#34H ;34H--扩充指令操作LCALL SEND_IMOV A,#30H ;30H--基本指令操作LCALL SEND_IMOV A,#01H ;清除显示LCALL SEND_IMOV A,#06H ;指定在资料写入或读取时,光标的移动方向LCALL SEND_I ;DDRAM 的地址计数器(AC)加1MOV A,#0CH ;开显示,关光标,不闪烁LCALL SEND_I;=============================================== TU_PLAY1:MOV DPTR,#TU_TAB1 ;显示图形LCALL PHO_DISPLCALL DELAY3;================================================= ;;显示汉字和字符;加入80ms的延时,使你能够看清楚显示的过程;根据汉字显示坐标分段写入(顺序写入);================================================= HAN_WR2:LCALL CLEAR_PHAN_WR2A:MOV DPTR,#TAB1A ;显示汉字和字符MOV COUNT,#10H ;地址计数器设为16。

9--12864液晶显示原理+电路图+程序

9--12864液晶显示原理+电路图+程序

带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

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

基本特性:l低电源电压(VDD:+3.0--+5.5V)l显示分辨率:128×64点l内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)l内置128个16×8点阵字符l2MHZ时钟频率l显示方式:STN、半透、正显l驱动方式:1/32DUTY,1/5BIASl视角方向:6点l背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10 l通讯方式:串行、并口可选l内置DC-DC转换电路,无需外加负压l无需片选信号,简化软件设计l工作温度:0℃-+55℃,存储温度:-20℃-+60℃模块接口说明*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。

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

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

2.2并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC 3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7——DB0为显示数据RS=“L”,表示DB7——DB0为显示指令数据5R/W(SID)H/L R/W=“H”,E=“H”,数据被读到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线是用于模块屏幕显示开和关的控制。

第六节图形点阵液晶12864的原理与应用PPT课件

第六节图形点阵液晶12864的原理与应用PPT课件

VCC
1
2 3 4 5 6 7 8
P1.0 P1.1 P1.2
P1.3 P1.4 P1.5 P1.6 P1.7
P3.0/RXD P3.1/TXD
P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11
12 13 14 15 16
17
VCC
LCD12864
6
表4-6-2 T6963C指令表
7
8
9
其读写时序如下图4-6-2所示
图4-6-2 T6963C读写时序图
10
状态判断指令功能描述 无论是向T6963C读写数据还是写入命令,都必需判
断忙状态。读忙状态满足以下条件: /RD:L;/WR:H;/CE:L;C/D:H;D0~D7 状态字 T6963C状态字定义如下
12
说明 1.STA0 和STA1 在大多数命令和数据传送前必 需在同一时刻判断,否则可能会出错; 2.在数据自动读写时判断STA2和STA3; 3.在屏读/屏拷贝时判断STA6; 4.STA5 和STA7为厂家测试时用。
13
4.6.2 电路原理图
液晶12864和单片机的连接示意图如下 图4-6-3所示。WR接P24,RD接P23 ,CE接P22,CD接P21,RST接P20 。D0~D7接单片机的八位数据口P0, 12864的第4脚接变位器,调节背光显 示。
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
39 D0 38 D1 37 D2 36 D3 35 D4 34 D5 33 D6 32 D7
21 P2.0 22 P2.1 23 P2.2 24 P2.3 25 P2.4 26 27 28

LCD12864原理与应用(源程序+原理图+proteus仿真)

LCD12864原理与应用(源程序+原理图+proteus仿真)

LCD12864原理与应用1、LCD12864简介:LCD12864分为两种,带字库的和不带字库的,不带字库的液晶显示汉字的时候可以选择自己喜欢的字体。

而带字库的液晶,只能显示GB2312字体,当然也可以显示其他的字体,不过是用图片的形式显示。

下面介绍不带字库的LCD12864,以Proteus中的AMPIRE128×64为例,如下图所示,它的液晶驱动器为KS0108。

引脚功能:引脚符号状态引脚名称功能,输入芯片片选端,都是低电平有效CS1=0开左屏幕,CS1=1关左屏幕CS2=0开右屏幕,CS2=1关右屏幕RS 输入数据/命令选择信号RS=1为数据操作,RS=0为写指令或读状态RW 输入读写选择信号R/W=1为读选通,R/W=0为写选通E 输入读写使能信号在E下降沿,数据被锁存(写)入液晶,在E高电平期间,数据被读出DB0—DB7 三态数据总线数据或指令的传送通道输入复位信号,低电平时复位复位时,关闭液晶显示,使显示起始行为0,可以跟单片机的复位引脚RST相连,也可以直接接VCC,使之不起作用V0 液晶显示器驱动电压-Vout -10V LCD驱动负电压与带字库的液晶不同,此块液晶含有两个液晶驱动器,每块驱动器都控制64*64个点,分为左右两个屏幕显示,总共为128*64个点(即有128×64个点)。

这就是为什么AMPIRE128*64有CS1和CS2两个片选端的原因。

此液晶有8页,一页有8行点阵点,左右各64列,共128列。

如下图所示:2、LCD12864中的几条重要指令(一)行(line)设置命令:由此可见显示的起始行地址为0XC0,共64行,有规律地改变起始行号,可以实现滚屏效果。

(二)页(page)设置指令:起始页地址为0XB8,因为液晶有64行点,分为8页,每页就有8行点。

(三)列(column)地址设置指令每块驱动器的列地址都是从0X40到0X7F,共64列,所以此液晶共有128列点。

12864液晶图像显示图文教程——最全版

12864液晶图像显示图文教程——最全版
2:1 的过程中图片会被拉伸变形,不过缩小到 128*64 像素后也不 是太明显。 也可以使用 windows 操作系统自带的绘图工具修改图片大小,并保存为.bmp 格式文件,再利用自摸 提取软件提取字模。 例子如下:(该图片是利用 Photoshop 软件编辑而成的,像素 128*64,经绘图工具保存为.bmp 格式)
uchar i,j; write_cmd(0x34);//扩充指令集动作 write_cmd(0x34);//关绘图显示功能 for(i=0;i<32;i++)//上半屏 { write_cmd(0x80+i);//垂直地址 write_cmd(0x80); //水平地址,水平地址自动加 1 for(j=0;j<16;j++) { write_data(0x00); } } for(i=0;i<32;i++)//下半屏 { write_cmd(0x88+i);//垂直地址 write_cmd(0x88);//水平地址,水平地址自动加 1 for(j=0;j<16;j++) { write_data(0x00); } } write_cmd(0x36);//开绘图显示 write_cmd(0x30);//回到基本指令集 } //函数名称:display_image(uchar *p) //函数功能:显示图片 void display_image(uchar *p) { uchar i,j; write_cmd(0x34);//扩充指令集动作 write_cmd(0x34);//关绘图显示功能 /*上半屏显示设置*/ for(i=0;i<32;i++)//上半屏 { write_cmd(0x80+i);//垂直地址 write_cmd(0x80); //水平地址,水平地址自动加 1

lcd12864液晶屏原理图

lcd12864液晶屏原理图

lcd12864 液晶屏原理图液晶作为一种显示器件,以其特有的优势正广泛应用于仪器、仪表、电子设备等低功耗产品中。

以往的测控仪器的显示部分大都采用LED 式液晶显示屏进行参数设定和结果显示,其显示信息量少、形式单一、人机交互性差、操作人员要求较高。

而液晶显示器(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线、及汉字,并且可实现屏幕上下左右滚动、动画、闪烁、文本特征显示等功能;人机界面更加友好,使用操作也更加灵活、方便,使其日益成为智能仪器仪表和测试设备的首选显示器件。

液晶作为一种显示器件,以其特有的优势正广泛应用于仪器、仪表、电子设备等低功耗产品中。

以往的测控仪器的显示部分大都采用LED 式液晶显示屏进行参数设定和结果显示,其显示信息量少、形式单一、人机交互性差、操作人员要求较高。

而液晶显示器(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线、及汉字,并且可实现屏幕上下左右滚动、动画、闪烁、文本特征显示等功能;人机界面更加友好,使用操作也更加灵活、方便,使其日益成为智能仪器仪表和测试设备的首选显示器件。

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

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

可以显示8&TImes;4 行16&TImes;16 点阵的汉字。

也可完成图形显示。

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

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

12864液晶

12864液晶

12864一、液晶显示模块概述12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵,16*8=128,16*4=64,一行只能写8个汉字,4行;)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。

主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压);显示内容:128列× 64行(128表示点数)显示颜色:黄绿显示角度:6:00钟直视LCD类型:STN与MCU接口:8位或4位并行/3位串行配置LED背光多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等二、外形尺寸1.外形尺寸图2.主要外形尺寸二、模块引脚说明逻辑工作电压(VDD):4.5~5.5V电源地(GND):0V工作温度(Ta):0~60℃(常温) / -20~75℃(宽温)三、接口时序模块有并行和串行两种连接方法(时序如下):8位并行连接时序图MPU写资料到模块MPU从模块读出资料2、串行连接时序图串行数据传送共分三个字节完成:第一字节:串口控制—格式11111ABCA为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择:H表示数据是显示数据,L表示数据是控制指令C固定为0第二字节:(并行)8位数据的高4位—格式DDDD0000第三字节:(并行)8位数据的低4位—格式0000DDDD串行接口时序参数:(测试条件:T=25℃VDD=4.5V)备注:1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,(一般在输入每天指令前加个delay)那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。

2、“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。

12864显示文字+图像

12864显示文字+图像

引用12864液晶原理分析3他山之石2010-07-21 20:52:05 阅读7 评论0 字号:大中小小峰的12864液晶原理分析3一、ST7920控制IC的LCD12864实现反白显示从使用手册上可知,扩展指令里的0x03+行号即可实现反白对应行。

但是ST7920 控制器的128×64 点阵液晶其实原理上等同256×32 点阵,第三行对应的DDRAM 地址紧接第一行;第四行对应的DDRAM 地址紧接第二行。

所以128×64 点阵的液晶执行反白功能时实用意义不大,因为用户对第一行执行反白显示操作时,第三行必然也反白显示;第二行反白,第四行也必然反白。

其实还是有办法做到单行反白的,解决方法就是混用图形显示和字符显示。

其理论支持在于:在ST7920中,字符显示的DDRAM和图形的GDRAM是相互独立的,而最后显示到液晶上的结果,是两个RAM中数据的异或。

具体来说:假如某个点上,绘图RAM的没有绘图(数据为0),而字符RAM上有点阵(数据为1),那么异或的结果就是1,也就是说正常显示字符;当字符上RAM没有点阵的时候,异或的结果是0,自然也就不显示了。

假如该点上绘图RAM绘图了(数据为1),当字符RAM上有点阵(数据为1时),异或的结果为0,效果就是反白显示;如果字符RAM没有点阵(数据为0时),异或结果为1,效果就是显示绘图的背景。

所以,如果要在某个地方反白显示,那么就在该点绘图并且写字,如果要取消反白,就重新用全0擦掉那个地方的绘图!这样一来可以实现任何地方、任意大小的反白显示,反而比原指令中的单行反白的功能更好更强大。

二、对于整屏既有图象又有文本,则可以用两种方式实现:1、首先文本DDRAM写入要写的字符,其余全部空格(即0X00),然后再在没有字符的地方(即非点亮的晶格中,0X00)绘入图象。

DDRAM与GDRAM异或后就可以整屏实现图象与文本。

参见程序实例1。

电子小设计液晶显示屏幕元器件基础知识LCD12864点阵型液晶介绍

电子小设计液晶显示屏幕元器件基础知识LCD12864点阵型液晶介绍

电子小设计液晶显示屏幕元器件基础知识LCD12864点阵型液晶介绍LCD12864点阵型液晶简介:12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。

可完成图形显示,也可以显示8×4个(16×16点阵)汉字。

LCD12864点阵型液晶实物LCD12864 引脚介绍:管脚号管脚名称LEVER 管脚功能描述1 VSS 0 电源地2 VDD 5.0V 电源电压3 V0 - 液晶显示器驱动电压4 D/I(RS) H/L D/I=“H”,表示DB7∽DB0为显示数据D/I=“L”,表示DB7∽DB0为显示指令数据5 R/W H/L R/W=“H”,E=“H”数据被读到DB7∽DB0R/W=“L”,E=“H→L”数据被写到IR或DR6 E H/L R/W=“L”,E信号下降沿锁存DB7∽DB0R/W=“H”,E=“H”DDRAM数据读到DB7∽DB07 DB0 H/L 数据线8 DB1 H/L 数据线9 DB2 H/L 数据线10 DB3 H/L 数据线11 DB4 H/L 数据线12 DB5 H/L 数据线13 DB6 H/L 数据线14 DB7 H/L 数据线15 CS1 H/L H:选择芯片(右半屏)信号16 CS2 H/L H:选择芯片(左半屏)信号17 RET H/L 复位信号,低电平复位18 VOUT -10V LCD驱动负电压19 LED - LED背光板电源20 LED- - LED背光板电源LCD12864液晶屏幕原理图:LCD12864液晶屏幕原理图LCD12864液晶屏幕驱动程序://12864液晶操作口sbit rs = P1^0;sbit rw = P1^1;sbit en = P1^2;/*******12864驱动程序************///===========液晶写指令========== void writecommand(uchar command){checkbusy();rs=0;rw=0;en=1;P0=command; //液晶数据线P0en=0;}//============液晶写数据============ void writedata(uchar date){checkbusy();rs=1;rw=0;en=1;P0=date;en=0;}//=========液晶设置==========void lcdset(void){writecommand(0x30); //基本指令集writecommand(0x01); //清屏,DDRAM的地址归零writecommand(0x02); //地址归位writecommand(0x0c); //显示开,光标关,反白关writecommand(0x06); //DDRAM地址加1}//=========设置光标===========void cursor(uchar y,uchar x){uchar command = 0x80;writecommand(0x0f);//开光标闪烁if( y == 2)y = 3;else if(y == 3)y = 2;command |= (y-1) << 3;command = (x-1);writecommand(command);}//========字符显示=======void display(uchar y, uchar x, uchar *p){switch (y){case 1:writecommand(0x7f x); break; //液晶第一行case 2:writecommand(0x8f x); break; //0x90 (x-1) case 3:writecommand(0x87 x);break;case 4:writecommand(0x97 x);break;default:break;}while(*p)writedata(*p );}//=========显示数字=======void displayNumber(uchar y,uchar x,uchar number) {switch (number){//引号内数字为中文全角输入占据一个汉字位置case 0:display(y,x,'0');break;case 1:display(y,x,'1');break;case 2:display(y,x,'2');break;case 3:display(y,x,'3');break;case 4:display(y,x,'4');break;case 5:display(y,x,'5');break;case 6:display(y,x,'6');break;case 7:display(y,x,'7');break;case 8:display(y,x,'8');break;case 9:display(y,x,'9');break;default:break;}}void displaytime0(void) //静态数据{display(1, 2, '智能作息系统');display(2, 3, '年');display(2, 6, '月');display(3, 1, '星期');display(3, 8, '℃');display(4, 3, '-'); //全角输入display(4, 6, '-');}/*******12864主程序调用************/lcdset();delay(1000);lcdset(); //调用两次可以解决上电后液晶不能自动复位问题/*显示版本信息*/display(1,3,'welcome!');display(2,2,'智能作息系统');display(3,3,'版本1.0');display(4,1,'制作人: 马云');writecommand(0x01); //清屏LCD12864液晶屏幕显示效果:LCD12864液晶屏幕显示效果。

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

51单片机综合学习12864液晶原理分析1辛勤学习了好几天,终于对12864液晶有了些初步了解~没有视频教程学起来真有些累,基本上内部程序写入顺序都是根据程序自我变动,然后逆向反推出原理……芯片:YM12864R P-1 控制芯片:ST7920A 带中文字库初步小结:1、控制芯片不同,寄存器定义会不同2、显示方式有并行和串行,程序不同3、含字库芯片显示字符时不必对字符取模了4、对芯片的结构地址一定要理解清楚5、显示汉字时液晶芯片写入数据的顺序(即显示的顺序)要清楚6、显示图片时液晶芯片写入数据的顺序(即显示的顺序)要清楚7、显示汉字时的二级单元(一级为八位数据写入单元)要清楚8、显示图片时的二级单元(一级为八位数据写入单元)要清楚 12864点阵液晶显示模块(LCM)就是由128*64个液晶显示点组成的一个128列*64行的阵列。

每个显示点对应一位二进制数,1表示亮,0表示灭。

存储这些点阵信息的RAM 称为显示数据存储器。

要显示某个图形或汉字就是将相应的点阵信息写入到相应的存储单元中。

图形或汉字的点阵信息由自己设计,问题的关键就是显示点在液晶屏上的位置(行和列)与其在存储器中的地址之间的关系。

由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64*64液晶屏拼接而成,每半屏有一个512*8 bits显示数据RAM。

左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。

显示点在64*64液晶屏上的位置由行号(line,0~63)与列号(column,0~63)确定。

512*8 bits RAM中某个存储单元的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)确定。

每个存储单元存储8个液晶点的显示信息。

为了使液晶点位置信息与存储地址的对应关系更直观关,将64*64液晶屏从上至下8等分为8个显示块,每块包括8行*64列个点阵。

每列中的8行点阵信息构成一个8bits二进制数,存储在一个存储单元中。

(注意:二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM区称为存储页。

即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。

因此存储单元地址包括页地址(Xpage,0~7)和列地址(Yaddress,0~63)。

例如点亮128*64的屏中(20,30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,所以CS1有效;行地址20除以8取整得2,取余得4,该点在RAM中页地址为2,在字节中的序号为4;所以将二进制数据00010000(也可能是00001000,高低顺序取决于制造商)写入Xpage=2,Yaddress=29的存储单元中即点亮(20,30)上的液晶点。

芯片的结构一定要清楚! 点阵LCD的显示原理在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。

而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。

而剩下的低128位则留给英文字符使用,即英文的内码。

那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示: 图1 “A”字模图 而中文的“你”在字模中的记载却如图2所示: 图 2 “你”字模图图3图4 字符二级单元(图3中阴影部分)一个汉字的二级单元是一个16*16的区域,因些128*64液晶可以显示4行8列共32个汉字(如图3)。

而它的一个二级单元如图4(在无字库时,对汉字的取模有横向跟纵向两种,要注意),对于并行含有子库芯片的显示,只要设定好这个二级单元的地址(如0X80+i,这样设定i的范围为0~31,这里注意第一行会直接跳到第三行;或者根据自己需要如第二行0X90+i,i范围为0~7;第三行0X88+i,i范围为0~7;),然后直接把汉字写入就OK了~(串行无字符库的后面再做分析) 图5:垂直坐标:上半屏00~1F,总共为32 水平坐标:上半屏水平坐标分别为0X80+(00~07) 下半屏00~1F,总共为32 下半屏水平坐标分别为0X88+(00~07) 图片显示芯片结构分块与汉字显示不一样  图象显示过程是这样的:首先设置垂直地址,再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址,然后在每个地址里写入16位数据)。

垂直地址范围 AC5...AC0 水平地址范围 AC3…AC0绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。

GDRAM 的坐标地址与资料排列顺序如图5:分上下屏写入。

for(i=0;i<32;i++) // 上半屏32个垂直地址{write_com(0x80 + i); // 垂直地址write_com(0x80); // 水平地址for(j=0;j<16;j++){ write_data(*adder);adder++;} }带中文字库的128X64显示模块时应注意以下几点:①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。

②显示ASCII字符过程与显示中文字符过程相同。

不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。

③当字符编码为2字节时,应先写入高位字节,再写入低位字节。

④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。

如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。

指令执行的时间请参考指令表中的指令执行时间说明。

⑤“RE”为基本指令集与扩充指令集的选择控制位。

当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。

程序———————并行(串行后面再分析)——————————————————————————#include <stdio.h>#include <reg52.h>#include <intrins.h>#include <string.h>#define uchar unsigned char#define uint unsigned intuchar code LCD_data1[];uchar code LCD_data2[];uchar code LCD_picture1[];uchar code LCD_picture2[];sbit RS = P2^4;sbit RW = P2^5;sbit EN = P2^6;sbit PSB = P2^1;sbit RES = P2^3;sbit Dataport = P0; sbit Busyport = P0^7;///////////////////////////////////// /////////////////////////void delay_ms(unsigned int n) //延时10×n毫秒程序{ unsigned int i,j; for(i=0;i<n;i++) for(j=0;j<2000;j++);} void delay(unsigned int m) //1US延时程序{ unsigned int i,j; for(i=0;i<m;i++) for(j=0;j<10;j++);}///////////////////////////////////// ////////////////////////////判LCM忙子函数void check_LCD_busy (void){ Dataport = 0xff; RS = 0; RW = 1; EN = 1; while (Busyport); EN = 0;}///////////////////////////////////// ////////////////////////////写命令子函数void write_com(uchar Command){ check_LCD_busy(); RW=0; RS=0; delay(1); P0=Command; EN=1; delay(1); EN=0;}///////////////////////////////////////写数据子函数void write_data(uchar Data){ check_LCD_busy(); RW=0; RS=1; delay(1); P0=Data; EN=1; delay(1); EN=0;}///////////////////////////////////// //////////////////////////////LCM清屏函数void lcdClear (void){ write_com(0x01);}///////////////////////////////////////LCM复位函数void reset (){ RES=0; //复位 delay(1); //延时 RES=1; //复位置高 delay(10);}///////////////////////////////////// ////////////////////////////显示汉字void dispString (uchar X, Y,uchar *msg) //X为哪一行,Y为哪一列。

msg为汉字{ if(X==0) X = 0x80; //第一行,汉字显示坐标 else if(X==1) X = 0x90; //第二行 else if(X==2) X = 0x88; //第三行 else X = 0x98; //第四行 Y = X + Y; //Y为1往右移一位 write_com(Y); //写入坐标while (*msg){ write_data(*msg++); //显示汉字}}///////////////////////////////////// ////////////////////////////显示图象void disppicture(uchar code *adder){ uint i,j;//*******显示上半屏内容设置for(i=0;i<32;i++) // 上半屏32个列地址{ write_com(0x80 + i); //SET 垂直地址 VERTICAL ADD write_com(0x80); // SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; }}//*******显示下半屏内容设置for(i=0;i<32;i++) //{ write_com(0x80 + i); //SET 垂直地址 VERTICAL ADD write_com(0x88); // SET 水平地址 HORIZONTAL ADD for(j=0;j<16;j++) { write_data(*adder); adder++; }}}///////////////////////////////////// ////////////////////////////LCD字库初始化函数void lcdinit_str(void){ delay(40); //大于40MS的延时程序 PSB=1; //设置为8BIT并口工作模式 delay(1); //延时 reset(); //复位 write_com(0x30); //Exte nded Function Set :8BIT设置,RE=0: basic instruction set, G=0 :graphic display OFF delay(100); //大于100uS的延时程序 write_com(0x30); //Func tion Set delay(37); ////大于37uS的延时程序 write_com(0x08); //Disp lay on Control delay(100); //大于100uS的延时程序 write_com(0x10); //Curs or Display Control光标设置 delay(100); //大于100uS的延时程序 write_com(0x0C); //Displ ay Control,D=1,显示开 delay(100); //大于100uS的延时程序 write_com(0x01); //Disp lay Clear delay(10); //大于10mS的延时程序 write_com(0x06); //EnryMode Set,光标从右向左加1位移动 delay(100); //大于100uS的延时程序}///////////////////////////////////// ///////////////////////////////LCD图片(扩展)初始化函数void lcdinit_pic(void){ delay(40); //大于40MS的延时程序 PSB=1; //设置为8BIT并口工作模式 delay(1); //延时 reset(); write_com(0x36); //Ext ended Function Set RE=1: extended instruction delay(100); / /大于100uS的延时程序 write_com(0x36); //Extended Function Set:RE=1: extended instruction set delay(37); ////大于37uS的延时程序 write_com(0x3E); / /EXFUNCTION(DL=8BITS,RE=1,G=1) delay(100); //大于100uS的延时程序 write_com(0x01); //CLE AR SCREEN delay(100); //大于100uS的延时程序}///////////////////////////////////// ////////////////////////////void main(){ while(1) { lcdinit_str(); delay_ms(10); //此延时如果没有的话第一行会一直在第一列 dispString(0, 1,"祖国江山好"); delay_ms(10); dispString(1, 1,"爱情少不了"); delay_ms(10); dispString(2, 1,"为了下一代"); delay_ms(10); dispString(3, 1,"赶紧谈恋爱"); delay_ms(200); delay_ms(200); lcdClear(); delay_ms(10); dispString(0, 1,"大名吴建峰"); delay_ms(10); dispString(1, 1,"性别为非女"); delay_ms(10); dispString(2, 1,"芳龄二十二"); delay_ms(10); dispString(3, 1,"海拔一百六"); delay_ms(200); delay_ms(200); lcdinit_pic(); lcdClear(); delay_ms(10); disppicture(LCD_picture1); delay_ms(300); delay_ms(300); }}图象代码库见最后!~成果——————————————————————————————————图形取模方法(转): 128*64的像素能显示的内容就有限,也无法要求它能多清楚,如果将一个彩色的图片转换为单色位图,效果就更差了,个人不建议用它来显示彩色的图片,如果真要用128*64的液晶显示,建议如下:1.尽量选择颜色比较单一的图片,当然一种颜色的效果最好不过了;2.图片不能选择的太大,要不缩小了就看不清楚了;3.图片的调整可以这样(仅供参考):1>调整图片的宽高比大致为2:1;2>将图片缩小到128*64像素;3>保存为单色位图;图片的大小缩放不太好操作,我通常是这样做的:你用画图程序打开你要显示的图片后,首先要操作的查看属性(点击菜单栏的图像->属性,单位选择为像素后,宽高值就出来了),比如:宽:603,高:444,这显然宽高比不是2:1,你就要调整了,444*2=888,现在为603,所以888/603=1.47,所以宽要放大为147%(点击菜单栏的图像->拉伸/扭曲,在拉伸里面的水平处改为147),现在就调整为2:1了;接下来就要将图片缩小到128*64像素,先计算缩放的比例,128/888=0.144,所以相同的操作(点击菜单栏的图像->拉伸/扭曲,在拉伸里面的水平处改为14,垂直里面也要改为14);最后就是保存为单色位图(文件->另存为->文件类型选择为:单色位图(.bmp))?试过颜色比较单一的,效果还可以,复杂的彩色图片效果就很不理想了...说明:在调整图片的宽高比大致为2:1的过程中图片会被拉伸变形,不过缩小到128*64像素后也不是太明显... 图片取模图片代码——————————————————————————————————uchar code LCD_picture1[]={0x00,0x00,0x00,0x0C,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x7F,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x18 ,0x00,0x00,0x00,0x07,0xFF,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x18 ,0x00,0x03,0x00,0x07,0xEC,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x0E,0x00,0x00,0x37 ,0x80,0x03,0x00,0x00,0xEC,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x0E,0x00,0x18,0x3F ,0xC0,0x03,0x00,0x0F,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x18,0x79 ,0x80,0x03,0x00,0x0F,0x6B,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x06,0x00,0x18,0x7F ,0x00,0x1F,0xF4,0x01,0xE9,0xE0,0x00,0x00,0x 00,0x00,0x00,0x00,0xC6,0xE0,0x18,0xFF ,0x80,0x1F,0xFC,0x00,0xFB,0x30,0x00,0x00,0x 00,0x00,0x00,0x01,0xC6,0x70,0x1B,0x1E ,0xC0,0x03,0x38,0x01,0xB3,0x00,0x00,0x00,0x 00,0x00,0x00,0x03,0x86,0x38,0xDB,0xFF ,0xE0,0x03,0x70,0x07,0x9E,0x7F,0xFF,0xFF,0x FF,0xFF,0xFF,0xFF,0x26,0x18,0xDB,0x8C ,0x70,0x7F,0xFF,0x87,0x27,0xFE,0x00,0x00,0x 00,0x00,0x00,0x00,0x3E,0x01,0xFF,0xFF ,0xB8,0x7F,0xFF,0x80,0x3F,0xC0,0x00,0x00,0x 00,0x00,0x00,0x00,0x1E,0x00,0x00,0x0C,0x18,0x07,0x80,0x00,0x39,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x06,0x00,0x00,0xFF ,0xE0,0x0F,0x00,0x00,0xFB,0x1F,0xF8,0x00,0x 00,0x00,0x00,0x00,0x00,0x7F,0xF0,0xFF ,0xE0,0x1F,0x30,0x01,0xCF,0xFF,0xFF,0x09,0x 00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x0C ,0x00,0x3B,0x36,0x03,0x07,0xFF,0xFF,0xE0,0x 00,0x00,0x00,0x00,0x0F,0xFF,0xFF,0xCC ,0x00,0x73,0x76,0x03,0x3F,0xFF,0xFF,0xF7,0x 00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFC ,0x00,0x63,0xE6,0x00,0x3F,0xFF,0xFF,0xDC,0x 80,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFC ,0x00,0x03,0xFE,0x00,0x7F,0xFF,0xFF,0xAF,0x 60,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFC ,0x00,0x03,0xFE,0x00,0xFF,0xFF,0xFF,0xF5,0x C0,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFC ,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0x23,0x 20,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFE ,0x00,0x00,0x00,0x03,0xFF,0x8F,0xE3,0xEC,0x A0,0x00,0x00,0x03,0xFF,0x1F,0xC7,0xFF ,0x00,0x00,0x00,0x03,0xFF,0x07,0xC1,0x92,0x C0,0x00,0x00,0x07,0xFE,0x0F,0x83,0xFF ,0x80,0x00,0x00,0x07,0xFF,0x03,0xC0,0xE9,0x C0,0x00,0x00,0x0F,0xFE,0x07,0x81,0xFF ,0x80,0x00,0x00,0x07,0xFE,0x03,0x80,0xED,0x E0,0x00,0x00,0x0F,0xFC,0x07,0x01,0xFF ,0xC0,0x00,0x00,0x0F,0xFE,0x1B,0xB0,0xDD,0x E0,0x00,0x00,0x1F,0xFC,0x37,0x61,0xFF ,0xC0,0x00,0x00,0x0F,0xFE,0x1B,0xB0,0xFF,0xE0,0x00,0x00,0x1F,0xFC,0x37,0x61,0xFF ,0xC0,0x00,0x00,0x0F,0xFE,0x1B,0xB0,0xFF,0x F0,0x00,0x00,0x1F,0xFC,0x37,0x61,0xFF ,0xE0,0x00,0x00,0x1F,0xFE,0x1B,0xB0,0xFF,0x F0,0x00,0x00,0x3F,0xFC,0x37,0x61,0xFF ,0xE0,0x00,0x00,0x1F,0xFF,0x03,0xC0,0xFF,0x F0,0x00,0x00,0x3F,0xFE,0x07,0x81,0xFF ,0xE0,0x00,0x00,0x1F,0xFF,0x07,0xC1,0xFF,0x F0,0x00,0x00,0x3F,0xFE,0x0F,0x83,0xFF ,0xE0,0x00,0x00,0x1F,0xFF,0x8C,0x63,0xFF,0x F0,0x00,0x00,0x3F,0xFF,0x1F,0xC7,0xFF ,0xE0,0x00,0x00,0x1F,0xDF,0xFC,0x7F,0xF7,0x F0,0x00,0x00,0x3F,0xFF,0xF0,0x7F,0xFF ,0xE0,0x00,0x00,0x1F,0x07,0xFF,0xFF,0xD1,0x F0,0x00,0x00,0x3F,0xFF,0xE0,0x3F,0xFF,0xE0,0x00,0x00,0x1E,0x03,0xFF,0xFF,0x80,0x F0,0x00,0x00,0x3F,0xC0,0x00,0x00,0x07 ,0xE0,0x00,0x00,0x1E,0x03,0xFE,0xFF,0xC0,0x F0,0x00,0x00,0x3F,0xE0,0x00,0x00,0x0F ,0xE0,0x00,0x00,0x0C,0x01,0xF8,0x3F,0x80,0x E0,0x00,0x00,0x1F,0xE0,0x00,0x00,0x1F ,0xC0,0x00,0x00,0x0E,0x03,0xF0,0x1F,0xC0,0x E0,0x00,0x00,0x1F,0xF0,0x0F,0xC0,0x1F ,0xC0,0x00,0x00,0x1E,0x03,0xF0,0x1F,0x80,0x E0,0x00,0x00,0x1F,0xFC,0x0B,0x40,0x7F ,0xC0,0x00,0x00,0x7F,0x1F,0xF0,0x1F,0xC3,0x E0,0x00,0x00,0xFF,0xFF,0x0B,0x41,0xFF ,0xC0,0x00,0x00,0xFF,0xFF,0xF0,0x1F,0xF7,0x F0,0x00,0x01,0xFF,0xFF,0xC0,0x0F,0xFF ,0xF0,0x00,0x01,0xFF,0xFF,0xF8,0x3F,0xFF,0x FC,0x00,0x03,0xFF,0xFF,0xF8,0x7F,0xFF ,0xF8,0x00,0x03,0xFE,0x7F,0xFE,0xFF,0xFF,0x FE,0x00,0x07,0xFC,0xFF,0xFF,0xFF,0xFF ,0xFC,0x00,0x07,0xFC,0x1F,0xFF,0xFF,0xF8,0x FE,0x00,0x0F,0xF8,0x3F,0xFF,0xFF,0xF1 ,0xFC,0x00,0x0F,0xF8,0x07,0xFF,0xFF,0xE0,0x FF,0x00,0x1F,0xF0,0x0F,0xFF,0xFF,0xC0 ,0xFE,0x00,0x0F,0xF8,0x00,0xFF,0xFF,0x00,0x 7F,0x80,0x1F,0xF0,0x01,0xFF,0xFE,0x00 ,0xFF,0x00,0x1F,0xF0,0x00,0x02,0x00,0x00,0x 7F,0x80,0x3F,0xE0,0x00,0x00,0x00,0x00 ,0x7F,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x 3F,0xC0,0x3F,0xE0,0x00,0x00,0x00,0x00 ,0x7F,0x00,0x3F,0xF0,0x00,0x00,0x00,0x00,0x3F,0xC0,0x7F,0xE0,0x00,0x00,0x00,0x00 ,0x7F,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x 1F,0xE0,0x7F,0xC0,0x00,0x00,0x00,0x00 ,0x3F,0x00,0x3F,0xE0,0x00,0x00,0x00,0x00,0x 1F,0xE0,0x7F,0xC0,0x00,0x00,0x00,0x00 ,0x3F,0x00,0x7F,0xE0,0x01,0xC0,0xE0,0x00,0x 1F,0xE0,0xFF,0xC0,0x00,0x70,0xE0,0x00 ,0x3F,0x00,0x7F,0xE0,0x03,0xF3,0xF0,0x00,0x 1F,0xE0,0xFF,0xC0,0x00,0xF9,0xF0,0x00 ,0x3F,0x00,0x7F,0xE0,0x07,0xFF,0xF8,0x00,0x 1F,0xE0,0xFF,0xC0,0x01,0xFF,0xF8,0x00 ,0x3F,0x00,0x7F,0xE0,0x07,0xFF,0xF8,0x00,0x 1F,0xE0,0xFF,0xC0,0x01,0xFF,0xF8,0x00 ,0x3F,0x00,0x7C,0xE0,0x07,0xFF,0xF8,0x00,0x 1B,0xE0,0xF9,0xC0,0x01,0xFF,0xF8,0x000x00,0x38,0xF0,0x03,0xFF,0xF0,0x00,0x 39,0xE0,0xF1,0xE0,0x00,0xFF,0xF0,0x00 ,0x73,0x00,0x30,0x70,0x01,0xFF,0xE0,0x00,0x 30,0xC0,0x60,0xE0,0x00,0x7F,0xE0,0x00 ,0x61,0x00,0x00,0x78,0x00,0xFF,0xC0,0x00,0x 30,0x00,0x00,0xF0,0x00,0x3F,0xC0,0x00 ,0x60,0x00,0x00,0x38,0x00,0x7F,0x80,0x00,0x 60,0x00,0x00,0x70,0x00,0x1F,0x80,0x00 ,0xC0,0x00,0x00,0x1C,0x00,0x3F,0x00,0x00,0x C0,0x00,0x00,0x38,0x00,0x0F,0x00,0x01 ,0x80,0x00,0x00,0x0E,0x00,0x1E,0x00,0x00,0x 80,0x00,0x00,0x1C,0x00,0x06,0x00,0x01 ,0x00,0x00,0x00,0x07,0x00,0x0C,0x00,0x01,0x 80,0x00,0x00,0x0E,0x00,0x06,0x00,0x03二、接线方式1、并口直接访问2、并口间接访问3、串口访问三、文本(汉字,字符)输入1、文本显示RAM(DDRAM)文本显示RAM提供8个×4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型; 根据汉字显示坐标可以很容易地显示汉字以及其它字符~四、图象输入1、绘图RAM(GDRAM)绘图显示RAM提供128×8个字节的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图RAM,而地址计数器(AC)会对水平地址(X地址)自动加一,当水平地址为0XFH时会重新设为00H;不会对垂直地址做进位自动加1.。

相关文档
最新文档