精华内容
下载资源
问答
  • 点阵LCD显示原理在数字电路中,所有的数据都是以01保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000...
  • 点阵LCD显示原理

    万次阅读 2014-11-18 19:29:27
     在数字电路中,所有的数据都是以01保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的...

    点阵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

    管脚功能描述

    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∽DB0

    R/W=“L”,E=“H→L”数据被写到IR或DR

    6

    E

    H/L

    R/W=“L”,E信号下降沿锁存DB7∽DB0

    R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0

    7

    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背光板电源

    表1:12864LCD的引脚说明

         在使用12864LCD前先必须了解以下功能器件才能进行编程。12864内部功能器件及相关功能如下:

    1. 指令寄存器(IR)

         IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。

    2.数据寄存器(DR)

         DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。

    3.忙标志:BF

         BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。

         利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。

    4.显示控制触发器DFF

         此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY OFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。

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

    5.XY地址计数器

         XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。

         X地址计数器是没有记数功能的,只能用指令设置。

         Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

    6.显示数据RAM(DDRAM)

         DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表。

    7.Z地址计数器

         Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。

         Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

    12864LCD的指令系统及时序

         该类液晶显示模块(即KS0108B及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指令表如表2所示:

    指令名称

    控制信号

    控制代码

    R/W

    RS

    DB7

    DB6

    DB5

    DB4

    DB3

    DB2

    DB1

    DB0

    显示开关

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1/0

    显示起始行设置

    0

    0

    1

    1

    X

    X

    X

    X

    X

    X

    页设置

    0

    0

    1

    0

    1

    1

    1

    X

    X

    X

    列地址设置

    0

    0

    0

    1

    X

    X

    X

    X

    X

    X

    读状态

    1

    0

    BUSY

    0

    ON/OFF

    RST

    0

    0

    0

    0

    写数据

    0

    1

    写数据

    读数据

    1

    1

    读数据

    表2:12864LCD指令表

    各功能指令分别介绍如下。

    • 显示开/关指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    00111111/0

    当DB0=1时,LCD显示RAM中的内容;DB0=0时,关闭显示。

    2、显示起始行(ROW)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    11显示起始行(0~63)

    该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。

    3、页(PAGE)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    10111页号(0~7)

    显示RAM共64行,分8页,每页8行。

    4、列地址(Y Address)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    01显示列地址(0~63)

    设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以

    用读、写指令读出该单元中的内容或向该单元写进一个字节数据。

    5、读状态指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    10

    BUSY0ON/OFFREST0000

    该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:

    BUSY:1-内部在工作0-正常状态

    ON/OFF:1-显示关闭0-显示打开

    RESET:1-复位状态0-正常状态

    在BUSY和RESET状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。

    在对液晶显示模块操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。

    6、写数据指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    01

    写数据

    • 读数据指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    11

    读显示数据

         读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。

    12864点阵型LCD软硬件设计实例

         通过以上学习,现在就来实际应用12864LCD的软硬件设计。本实例将在LCD上显示如图3所示内容:

    图3 模拟显示效果图

         在调试前先将显示切换开关切换到LCD显示状态。

    图4 128*64LCD实验演示图

    硬件原理图

    图5 硬件原理图

    程序流程图

    图6 软件流程图

    软件代码

         在编写软件代码之前必须要先掌握汉字取模的方法。要得到上表中的文字,我们可以借助取模软件来完成。目前点阵LCD的取模软件有很多,我们以本开发板配套的取模软件为例来介绍一下汉字的取模方法。

         打开取模软件出现如下显示界面:

         在文字输入区中输入文字,我们以输入一个欢迎的“欢”字为例,了解其取模过程。在文字输入区中输入“欢”后按CTRL+ENTER组合键后就看到“欢”字已经在模拟显示区显示出来了

         在“取模方式”中选择“C51格式”就可以在“点阵生成区”得到你要的汉字“欢”的显示代码。

     

         经过以上步骤后一个汉字就取模成功了,在程序中只要调用这段代码就可显示出汉字“欢”了,其它汉字也用同样的方法。取完要显示的全部汉字代码后我们就可以编程了。

    展开全文
  • 点阵显示原理 在数字电路中,所有的数据都是以01保存的,对控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,...
  • LCD智能型显示模块则是一种低功耗、低损耗、低价值的显示器件,它不但可以显示各式各样的字符、汉字和图形,同时具有可编程能力,且与单片机接口方便,基于以上优点,LCD智能显示模块获得了广泛的应用。...
  • LCD显示模式

    2021-01-19 20:14:21
    由基本的LCD显示原理可知,LCD显示一个点重要的因素就是点的坐标...其中,段位式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形、曲线和汉字显示的要求;而点阵LCD不仅可以显示字符、数字,还可以显示
  • 由基本的LCD显示原理可知,LCD显示一个点最重要的因素就是点的坐标...其中,段位式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形、曲线和汉字显示的要求;而点阵LCD不仅可以显示字符、数字,还可以显示
  • ②只能显示数字和字母(5X7的点阵)不能显示汉字; ③每个字符之间有间隔; ④引脚图 2.LCD1602A中文手册 下载 3.LCD1602A接线 4. 51单片机使用lcd1602A显示例程 lcd1602A.c文件▼ #include "lcd16

    1.LCD1602A介绍

    在这里插入图片描述
    ①LCD1602A 可以显示两行字符,一行显示16个;
    ②只能显示数字和字母(5X7的点阵)不能显示汉字;
    ③每个字符之间有间隔;
    ④引脚图在这里插入图片描述

    2.LCD1602A中文手册 下载

    3.LCD1602A接线

    在这里插入图片描述

    4. 51单片机使用lcd1602A显示例程

    lcd1602A.c文件▼

    #include "lcd1602A.h"
    #include "reg51.h"
    /*******************************************************************************
    * 函 数 名         : Lcd1602_Delay1ms
    * 函数功能		   : 延时函数,延时1ms
    * 输    入         : c
    * 输    出         : 无
    * 说    名         : 该函数是在12MHZ晶振下,12分频单片机的延时。
    *******************************************************************************/
    
    void Lcd1602_Delay1ms(uint c)   //误差 0us
    {
        uchar a,b;
    	for (; c>0; c--)
    	{
    		 for (b=199;b>0;b--)
    		 {
    		  	for(a=1;a>0;a--);
    		 }      
    	}
        	
    }
    
    /*******************************************************************************
    * 函 数 名         : LcdWriteCom
    * 函数功能		   : 向LCD写入一个字节的命令
    * 输    入         : com
    * 输    出         : 无
    *******************************************************************************/
    #ifndef 	LCD1602_4PINS	 //当没有定义这个LCD1602_4PINS时
    void LcdWriteCom(uchar com)	  //写入命令
    {
    	LCD1602_E = 0;     //使能
    	LCD1602_RS = 0;	   //选择发送命令
    	LCD1602_RW = 0;	   //选择写入
    	
    	LCD1602_DATAPINS = com;     //放入命令
    	Lcd1602_Delay1ms(1);		//等待数据稳定
    
    	LCD1602_E = 1;	          //写入时序
    	Lcd1602_Delay1ms(5);	  //保持时间
    	LCD1602_E = 0;
    }
    #else 
    void LcdWriteCom(uchar com)	  //写入命令
    {
    	LCD1602_E = 0;	 //使能清零
    	LCD1602_RS = 0;	 //选择写入命令
    	LCD1602_RW = 0;	 //选择写入
    
    	LCD1602_DATAPINS = com;	//由于4位的接线是接到P0口的高四位,所以传送高四位不用改
    	Lcd1602_Delay1ms(1);
    
    	LCD1602_E = 1;	 //写入时序
    	Lcd1602_Delay1ms(5);
    	LCD1602_E = 0;
    
    	LCD1602_DATAPINS = com << 4; //发送低四位
    	Lcd1602_Delay1ms(1);
    
    	LCD1602_E = 1;	 //写入时序
    	Lcd1602_Delay1ms(5);
    	LCD1602_E = 0;
    }
    #endif
    /*******************************************************************************
    * 函 数 名         : LcdWriteData
    * 函数功能		   : 向LCD写入一个字节的数据
    * 输    入         : dat
    * 输    出         : 无
    *******************************************************************************/		   
    #ifndef 	LCD1602_4PINS		   
    void LcdWriteData(uchar dat)			//写入数据
    {
    	LCD1602_E = 0;	//使能清零
    	LCD1602_RS = 1;	//选择输入数据
    	LCD1602_RW = 0;	//选择写入
    
    	LCD1602_DATAPINS = dat; //写入数据
    	Lcd1602_Delay1ms(1);
    
    	LCD1602_E = 1;   //写入时序
    	Lcd1602_Delay1ms(5);   //保持时间
    	LCD1602_E = 0;
    }
    #else
    void LcdWriteData(uchar dat)			//写入数据
    {
    	LCD1602_E = 0;	  //使能清零
    	LCD1602_RS = 1;	  //选择写入数据
    	LCD1602_RW = 0;	  //选择写入
    
    	LCD1602_DATAPINS = dat;	//由于4位的接线是接到P0口的高四位,所以传送高四位不用改
    	Lcd1602_Delay1ms(1);
    
    	LCD1602_E = 1;	  //写入时序
    	Lcd1602_Delay1ms(5);
    	LCD1602_E = 0;
    
    	LCD1602_DATAPINS = dat << 4; //写入低四位
    	Lcd1602_Delay1ms(1);
    
    	LCD1602_E = 1;	  //写入时序
    	Lcd1602_Delay1ms(5);
    	LCD1602_E = 0;
    }
    #endif
    /*******************************************************************************
    * 函 数 名       : LcdInit()
    * 函数功能		 : 初始化LCD屏
    * 输    入       : 无
    * 输    出       : 无
    *******************************************************************************/		   
    #ifndef		LCD1602_4PINS
    void LcdInit()						  //LCD初始化子程序
    {
     	LcdWriteCom(0x38);  //开显示
    	LcdWriteCom(0x0c);  //开显示不显示光标
    	LcdWriteCom(0x06);  //写一个指针加1
    	LcdWriteCom(0x01);  //清屏
    	LcdWriteCom(0x80);  //设置数据指针起点
    }
    #else
    void LcdInit()						  //LCD初始化子程序
    {
    	LcdWriteCom(0x32);	 //将8位总线转为4位总线
    	LcdWriteCom(0x28);	 //在四位线下的初始化
    	LcdWriteCom(0x0c);  //开显示不显示光标
    	LcdWriteCom(0x06);  //写一个指针加1
    	LcdWriteCom(0x01);  //清屏
    	LcdWriteCom(0x80);  //设置数据指针起点
    }
    #endif
    
    

    lcd1602A.h 文件▼

    22#ifndef __LCD1602A_H_
    #define __LCD1602A_H_
    #include<reg52.h>
    
    //---重定义关键词---//
    #ifndef uchar
    #define uchar unsigned char
    #endif
    
    #ifndef uint 
    #define uint unsigned int
    #endif
    //io口定义
    #define LCD1602_DATAPINS P0
    sbit LCD1602_E=P2^7;
    sbit LCD1602_RW=P2^5;
    sbit LCD1602_RS=P2^6;
    
    //函数声明
    void Lcd1602_Delay1ms(uint c);   //在51单片机12MHZ时钟下的延时函数 误差 0us
    void LcdWriteCom(uchar com);     //LCD1602写入8位命令子函数
    void LcdWriteData(uchar dat);	//LCD1602写入8位数据子函数
    void LcdInit();		//LCD1602初始化子程序				  
    #endif
    
    

    把上面两个文件放到项目更目录里面。在要显示的文件里面包含 lcd1602A.h 这个头文件,然后调用 lcd1602A.h 里面的函数就可以使用了。

    展开全文
  • 点阵LCD显示原理 在数字电路中,所有的数据都是以01保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有...

    点阵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

    管脚功能描述

    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∽DB0

    R/W=“L”,E=“H→L”数据被写到IR或DR

    6

    E

    H/L

    R/W=“L”,E信号下降沿锁存DB7∽DB0

    R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0

    7

    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背光板电源

    表1:12864LCD的引脚说明

         在使用12864LCD前先必须了解以下功能器件才能进行编程。12864内部功能器件及相关功能如下:

    1. 指令寄存器(IR)

         IR是用于寄存指令码,与数据寄存器数据相对应。当D/I=0时,在E信号下降沿的作用下,指令码写入IR。

    2.数据寄存器(DR)

         DR是用于寄存数据的,与指令寄存器寄存指令相对应。当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。DR和DDRAM之间的数据传输是模块内部自动执行的。

    3.忙标志:BF

         BF标志提供内部工作情况。BF=1表示模块在内部操作,此时模块不接受外部指令和数据。BF=0时,模块为准备状态,随时可接受外部指令和数据。

         利用STATUS READ指令,可以将BF读到DB7总线,从检验模块之工作状态。

    4.显示控制触发器DFF

         此触发器是用于模块屏幕显示开和关的控制。DFF=1为开显示(DISPLAY OFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。

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

    5.XY地址计数器

         XY地址计数器是一个9位计数器。高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。

         X地址计数器是没有记数功能的,只能用指令设置。

         Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。

    6.显示数据RAM(DDRAM)

         DDRAM是存储图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。DDRAM与地址和显示位置的关系见DDRAM地址表。

    7.Z地址计数器

         Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。

         Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

    12864LCD的指令系统及时序

         该类液晶显示模块(即KS0108B及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指令表如表2所示:

    指令名称

    控制信号

    控制代码

    R/W

    RS

    DB7

    DB6

    DB5

    DB4

    DB3

    DB2

    DB1

    DB0

    显示开关

    0

    0

    0

    0

    1

    1

    1

    1

    1

    1/0

    显示起始行设置

    0

    0

    1

    1

    X

    X

    X

    X

    X

    X

    页设置

    0

    0

    1

    0

    1

    1

    1

    X

    X

    X

    列地址设置

    0

    0

    0

    1

    X

    X

    X

    X

    X

    X

    读状态

    1

    0

    BUSY

    0

    ON/OFF

    RST

    0

    0

    0

    0

    写数据

    0

    1

    写数据

    读数据

    1

    1

    读数据

    表2:12864LCD指令表

    各功能指令分别介绍如下。

    • 显示开/关指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    00111111/0

    当DB0=1时,LCD显示RAM中的内容;DB0=0时,关闭显示。

    2、显示起始行(ROW)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    11显示起始行(0~63)

    该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。

    3、页(PAGE)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    10111页号(0~7)

    显示RAM共64行,分8页,每页8行。

    4、列地址(Y Address)设置指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    00

    01显示列地址(0~63)

    设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以

    用读、写指令读出该单元中的内容或向该单元写进一个字节数据。

    5、读状态指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    10

    BUSY0ON/OFFREST0000

    该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:

    BUSY:1-内部在工作0-正常状态

    ON/OFF:1-显示关闭0-显示打开

    RESET:1-复位状态0-正常状态

    在BUSY和RESET状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。

    在对液晶显示模块操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。

    6、写数据指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    01

    写数据

    • 读数据指令

    R/WRS

    DB7 DB6 DB5 DB4 DB3DB2DB1 DB0

    11

    读显示数据

         读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。

    12864点阵型LCD软硬件设计实例

         通过以上学习,现在就来实际应用12864LCD的软硬件设计。本实例将在LCD上显示如图3所示内容:

    图3 模拟显示效果图

         在调试前先将显示切换开关切换到LCD显示状态。

    图4 128*64LCD实验演示图

    硬件原理图

    图5 硬件原理图

    程序流程图

    图6 软件流程图

    软件代码

         在编写软件代码之前必须要先掌握汉字取模的方法。要得到上表中的文字,我们可以借助取模软件来完成。目前点阵LCD的取模软件有很多,我们以本开发板配套的取模软件为例来介绍一下汉字的取模方法。

         打开取模软件出现如下显示界面:

         在文字输入区中输入文字,我们以输入一个欢迎的“欢”字为例,了解其取模过程。在文字输入区中输入“欢”后按CTRL+ENTER组合键后就看到“欢”字已经在模拟显示区显示出来了

         在“取模方式”中选择“C51格式”就可以在“点阵生成区”得到你要的汉字“欢”的显示代码。

     

         经过以上步骤后一个汉字就取模成功了,在程序中只要调用这段代码就可显示出汉字“欢”了,其它汉字也用同样的方法。取完要显示的全部汉字代码后我们就可以编程

    展开全文
  •  关键词:单片机图形显示点阵式MGLS-12032A/BWH40051引言当今世界,电子技术迅猛发展,点阵式器件在信息产业、军工产业等领域中得到了广泛的应用,点阵式器件具体包括液晶显示模块(LCD和汉字针式打印机等器件。...
  •  由于点阵式液晶显示模块功耗低、体积小,且可以显示各种字符、汉字以及图形,因而可广泛应用于数字式仪表各种低功耗监测系统中。笔者利用该模块设计的冲击力监测系统能够实时显示冲击力的大小、速度、峰值及平均...
  • 点阵式液晶任意图片显示的实现 长江大学电子信息学院 孙先松 引言 液晶显示器(Liquid Crystal Display,LCD )具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示无法比拟的优点,不仅可以显示数字、字符,还...
  • 关键词:图形点阵LCD 凌阳单片机 冲击力 实时曲线 STN3224-2A由于点阵式液晶显示模块功耗低、体积小,且可以显示各种字符、汉字以及图形,因而可广泛应用于数字式仪表各种低功耗监测系统中。笔者利用该模块...
  • 如图1-1,液晶正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被打乱,一部分液晶变的不透明,颜色加深因而能显示数字和图像。管脚一共1个CS1左半屏片选端,CS2右半屏片选端;V0液晶...
  • LCD128x64显示

    2011-05-22 09:44:16
    数字电路中,所有的数据都是以01保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是我们的...
  • LCD1602和LCD12864

    2014-06-14 09:06:00
    1602 字符型(字符型的模组) 只能显示数字与字符,不可以显示汉字 12864 点阵型(图形型的模组) 可根据需求任意显示字符 数字 汉字 图形 1602 为16字乘2行12864 为128列点阵乘64行点阵 转载于:...
    1602  字符型(字符型的模组)  只能显示数字与字符,不可以显示汉字
    12864 点阵型(图形型的模组)  可根据需求任意显示字符 数字 汉字 图形

    1602 为16字乘2行
    12864 为128列点阵乘64行点阵

    转载于:https://www.cnblogs.com/cj2014/p/3787895.html

    展开全文
  • 而液晶显示器(LCD)具有功耗低、体积小、质量轻、超薄和可编程驱动等其他显示方式无法比拟的优点,不仅可以显示数字、字符,还可以显示各种图形、曲线、及汉字,并且可实现屏幕上下左右滚动、动画、闪烁、文本特征...
  • LCD1602

    千次阅读 2018-07-15 16:28:14
    LCD不可显示汉字LCD12864可显示汉字 可显示字母 数字 符号 5*75*10的点阵字符位组成 每隔点阵位可显示一个字符 每一行 每一列都有一个间隔 1602 横着可显示 16 个字符 有两行 引脚功能 与C51连接图 ...
  • 摘要:本文介绍了一种以...常用的液晶LCD 可分为点阵字符、数字液晶LCD 和点阵图形液晶LCD,尤其是图形点阵LCD 不仅可以 显示字符、数字,还可以显示各种图形、曲线及汉字等,操作界面显示直观、友好,越 来越成为
  • 点阵式或图形式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下滚动、动画、闪烁、文本特征显示等功能,用途十分广泛。  2 键盘设计原理  采用美国Microchip Technology公司...
  • 写在前面的话 液晶(LCD显示具有功耗...其中段位式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图像曲线和汉字显示的要求;而点阵LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且...
  • LCD的一些资料

    2011-10-30 08:24:20
    LCD的一些资料.液晶屏的选型包括LCD类型、品牌与价格、供货、分辨率与尺寸、温度与亮度、接口方式等关键指标。常见液晶分为以下几类:段式、...字符型液晶用于显示字符和数字的,也可用上述方法显示少量字符、汉字
  • RAM存储器器件、点阵式图形LCD液晶显示模块T6963C, 设计一种单片机液晶图形显示接口。要求能够从LCD液晶显示 屏上清晰地显示一般图形常用汉字,通过液晶字模软件 可以按需要修改显示的图形和汉字。 要说明的,这...
  • 液晶显示LCD作为一种功耗低、体积小、无辐射的显示器件,近几年被广泛应用于各式各样的嵌入式电子产品中,LCD可分为段位式、字符式和点阵式三种,其中,段位式LCD和字符式LCD只能用于字符和数字的简单显示,...
  • 其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等...
  • 由于LCD液晶显示器具有功耗低、体积小、重量轻、超薄等诸多...点阵式或图形式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕上下滚动、动画、闪烁、文本特征显示等功能,用途十分广泛。
  • 其中,段式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形曲线和汉字显示的要求;而点阵LCD不仅可以显示字符、数字,还可以显示各种图形、曲线以及汉字、动画,并且可以实现屏幕滚动、反转、闪烁等...
  • 嵌入式arm学习总结(四)--LCD

    千次阅读 2013-11-28 15:27:59
    3)点阵型黑白屏:LCD12864 50—90之间 可以显示汉字和图片 4)STN-LCD 彩屏 成本低 响应速度慢(刷新频率低),播放视频有拖尾现象 5)TFT—LCD 彩屏,主流 6)0LED 功耗低,无需背光 日本技术 今后主流 7)LED

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

lcd点阵显示汉字和数字