12864点阵型液晶显示控制设计
智能化仪表课程设计12864用点阵图形液晶模块显示信号曲线

用点阵图形液晶模块显示信号曲线关键字:液晶点阵图形液晶模块信号曲线显示液晶应用很广,例如液晶电子手表,计算器以及液晶电视、便携式计算机等,处处可以看到液晶的足迹。
本文主要介绍如何用AT8?S52单片控制点阵液晶模块将现场采集到的信号以实时曲线的方式表达,为信号的现场分析提供便利,有较高的实用价值。
本文先介绍点阵图形液晶模块显示原理,然后介绍整个控制系统的软、硬件设计。
采用点阵图形液晶模块的信号曲线显示,由AT8?S52、12位A/D转换芯片TLC2543和1 28×6?点阵图形液晶模块组成,其AT8?S52的P2.4~P2.7口分别与TLC2543的CS、DO UT、DIN和CLK端连接。
模块软件利用P2.5口向TLC2543写控制字,选择A/D通道并将转换结果通过P2.4口读到AT8?S52的某个寄存器中,再利用P1.0~P1.7口和P3.2~P 3.7口控制点阵图形液晶模块将A/D转换结果从液晶屏幕上显示。
点阵液晶模块显示原理本文采用的128*6?模组的STN点阵图形液晶模块,由两个列驱动器HD61202、和一个行驱动器HD61203组成,可以直接与8位CPU相接。
每个HD61202,每个有512 Byte(40 96bits)供RAM显示。
RAM显示的每位数据与LCD每点的状态ON/OFF完全一致。
介绍点阵图形液晶模块的显示原理,实际上就是介绍它的控制芯片。
HD61202和HD61203控制原理大致相同,下面就HD6120的控制原理简单介绍一下。
每个控制器HD61202,有512 Byte(4096Bits)供RAM显示,RAM显示的每位数据与LCD 每点的状态ON/OFF完全一致。
控制器HD61202指令共有7条,分别是显示ON/OFF指令、设置页(X地址)指令、读状态指令、显示开始行指令、显示器开始行指令、设置Y地址指令、写显示数据指令和读显示数据指令。
具体指令的书写规则,可以查HD61202使用手册,这里就不再罗列。
基于hgs12864显示屏的显控软件设计

delay(5);//延时 5ms
IO2SET=(IO2SET|oled_data);//写入数据
IO2SET=(IO2SET|OLED_WR);//低电平
IO2SET=(IO2SET|OLED_CS);//低电平
}
写入一个字节的指令的伪代码如下院
void writeCmd(unsigned char oled_cmd) //oled_cmd
作者简介:徐春梅 渊1981-冤袁 女袁 工程师袁 研究方向院 空管二次雷达应答机软件的算法及实现曰 刘太兵渊1988-冤袁 男袁 工程师袁 研究方向院 空管二次雷达应答机软件的算 法及实现遥
2020.02 13
据位袁 CS# 表示片选使能信号 渊低有效冤遥 SSD1325 是
显示屏的集成驱动袁 直接从数据存储器 渊GDDRAM冤 显
VCC GND RES# D/C# R/W# E/RD# CS# D0-D7 NC NC
SSD1325 驱动
Row02-62
Column0-127
128X64 显示屏
Row13-63
图 2 HGS12864 逻辑电路 RES# 表示复位信号 渊低有效冤袁 D/C# 表示控制数 据/指令袁 R/W# 表示读写选择位袁 E/RD 表示接收读数
1 概述 在嵌入式显示控制系统中袁 常采用显示器件显示系
统的工作状态和参数设置袁 显示器件有 LED尧 数码管和 液晶显示屏等袁 其中点阵 OLED 使用较多袁 它可以显示 ASCII 字符尧 汉字和图形[1]遥 HGS12864 型显示屏是点阵 OLED袁 分为带字库和不带字库两类遥 由于 ARM 显控系 统较小袁 且系统显示的汉字数量不多袁 不带字库的 OLED 显示屏的成本较低袁 使用不带字库的 HGS12864 型显示屏袁 LPC2294 作为微控制器袁 按键作为用户的输 入控制袁 设计并实现了显示控制软件遥 2 系统设计 2.1 总体方案
51单片机YM12864汉字图形点阵液晶显示模块

51单片机YM12864汉字图形点阵液晶显示模块­本文以AT89C51单片机控制使用比较普遍的YM12864液晶显示器为基础,介绍了一种采用分页原理实现多级中文菜单操作的方法。
给出了YM12864主要技术参数、显示特性和核心的程序。
设计的中文菜单具有一定的通用性,只需更改其中的菜单项即可将此设计应用到家电、仪器仪表等设备上,为操作者提供友好方便的中文操作界面。
51单片机YM12864汉字图形点阵液晶显示模块-_典型应用电路图。
目前小型的显示器主要有LCD和LED,LED显示器只能显示数字和有限个英文字符,不能显示汉字,显示内容不直观,操作人员只能根据约定格式了解显示内容。
而LCD则可显示各种汉字和图形,尤其能实现中文菜单显示,为操作者提供方便友好的操作界面,并且功耗低,因此LCD得到广泛应用。
而现在市面上带中文字库的LCD比比皆是,价格适中,且大部分具有与MUC统一的标准接口,为使用LCD实现中文菜单操作提供了很大的方便。
相信更多的电子产品在提升性能的同时,设计更加人性化的中文菜单交互界面,将会使产品具有更广阔的前景。
二、YM12864液晶显示模块简介YM12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:电源:VDD 3.3V~+5V(内置升压电路,无需负压)显示内容:128列×64行与MCU接口:8位或4位并行/3位串行多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。
其引脚功能为通用20脚LCD接口,用户指令集也为通用128*64LCD用户指令集,相关资料很容易获取。
因其内置中文字库,省去了自己造字库的工作量,而只需写入相应的汉字和字符内码即可显示所需要的汉字和字符,这在许多程序开发软件中很容易实现,如:WAVE、KEIL等。
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 所示:
12864点阵型LCD显示实验

/****************************************//*杭州电子&计算机工作室*//* *//*12864LCD测试程序*//*目标器件:AT89S51 *//*晶振:11.0592MHZ *//*编译环境:Keil 7.50A *//****************************************//*********************************包含头文件********************************/ #include <reg51.h>/********************************命令字定义*********************************/ #define Disp_On 0x3f#define Disp_Off 0x3e#define Col_Add 0x40#define Page_Add 0xb8#define Start_Line 0xc0/*********************************端口定义**********************************/ sbit Mcs=P2^3; //左半屏使能,当MCS=1,左半屏显示sbit Scs=P2^4; //右半屏使能,当SCS=1,右半屏显示sbit Enable=P2^2; //使能sbit Di=P2^0; //数据/命令选择(RS)sbit RW=P2^1; //读/写信号sbit Rst=P2^5; //复位脚sbit Light=P2^6; //背光脚/**********************************字模表***********************************/ /************************************************************/ char code h[]={/*-- 文字: h --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, };char code w[]={/*-- 文字: w --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00, };char code i[]={/*-- 文字: i --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,};char code f[]={/*-- 文字: f --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,};char code c[]={/*-- 文字: c --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,};char code a[]={/*-- 文字: a --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,};char code t[]={/*-- 文字: t --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,};char code o[]={/*-- 文字: o --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,};char code m[]={/*-- 文字: m --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,};char code dian[]={/*-- 文字: . --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,};/*************************************欢迎使用***********************************/char code huan[]={/*-- 文字: 欢--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x14,0x24,0x44,0x84,0x64,0x1C,0x20,0x18,0x0F,0xE8,0x08,0x08,0x28,0x18,0x08,0x00,0x20,0x10,0x4C,0x43,0x43,0x2C,0x20,0x10,0x0C,0x03,0x06,0x18,0x30,0x60,0x20,0x00,};char code yun2[]={/*-- 文字: 迎--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x41,0xCE,0x04,0x00,0xFC,0x04,0x02,0x02,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x47,0x42,0x41,0x40,0x5F,0x40,0x42,0x44,0x43,0x40,0x00,};char code shi[]={/*-- 文字: 使--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00,};char code yong[]={/*-- 文字: 用--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,};/***********************************单片机开发板*********************************/char code dan[]={/*-- 文字: 单--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00,};char code pian[]={//*-- 文字: 片--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x00,0xFE,0x10,0x10,0x10,0x10,0x10,0x1F,0x10,0x10,0x10,0x18,0x10,0x00,0x80,0x40,0x30,0x0F,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,};char code ji[]={/*-- 文字: 机--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x08,0xC8,0xFF,0x48,0x88,0x08,0x00,0xFE,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x04,0x03,0x00,0xFF,0x00,0x41,0x30,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x78,0x00,};char code kai[]={/*-- 文字: 开--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0xFE,0x42,0x42,0x42,0x42,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,};char code fa[]={/*-- 文字: 发--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x10,0x3E,0x10,0x10,0xF0,0x9F,0x90,0x90,0x92,0x94,0x1C,0x10,0x10,0x10,0x00,0x40,0x20,0x10,0x88,0x87,0x41,0x46,0x28,0x10,0x28,0x27,0x40,0xC0,0x40,0x00,0x00, };char code ban[]={/*-- 文字: 板--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x10,0xD0,0xFF,0x50,0x90,0x00,0xFE,0x62,0xA2,0x22,0x21,0xA1,0x61,0x00,0x00,0x04,0x03,0x00,0x7F,0x00,0x11,0x0E,0x41,0x20,0x11,0x0A,0x0E,0x31,0x60,0x20,0x00, };char code dang[]={/*-- 文字: 当--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x40,0x42,0x5C,0x48,0x40,0x40,0x7F,0x40,0x50,0x4E,0x44,0xC0,0x00,0x00,0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7F,0x00,0x00, };char code qian[]={/*-- 文字: 前--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x08,0xE8,0xA8,0xA9,0xAE,0xEA,0x08,0x08,0xC8,0x0C,0x0B,0xEA,0x08,0x08,0x00, 0x00,0x00,0x7F,0x04,0x24,0x44,0x3F,0x00,0x00,0x1F,0x40,0x80,0x7F,0x00,0x00,0x00, };char code zhuang[]={/*-- 文字: 状--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x00,0x04,0x02,0x01,0xFF,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x60,0x20,0x00, };char code tai1[]={/*-- 文字: 态--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x04,0x04,0x04,0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,0x00,0x60,0x39,0x01,0x00,0x3C,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00, };char code yun[]={/*-- 文字: 运--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x40,0x41,0xCE,0x04,0x00,0x20,0x22,0xA2,0x62,0x22,0xA2,0x22,0x22,0x22,0x20,0x00,0x40,0x20,0x1F,0x20,0x28,0x4C,0x4A,0x49,0x48,0x4C,0x44,0x45,0x5E,0x4C,0x40,0x00, };char code xing[]={/*-- 文字: 行--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x08,0x84,0xC6,0x73,0x22,0x40,0x44,0x44,0x44,0xC4,0x44,0x44,0x44,0x40,0x00,0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,};char code zhong[]={/*-- 文字: 中--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00,};char code maohao[]={/*-- 文字: : --*//*-- 宋体12; 此字体下对应的点阵为:宽x高=8x16 --*/0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,};/**************************************************************************** 函数功能:延时程序入口参数:t出口参数:****************************************************************************/ void delay(unsigned int t){unsigned int i,j;for(i=0;i<t;i++)for(j=0;j<10;j++);}/***************************************************************************** 函数功能:写命令到LCD程序入口参数:cmdcode出口参数:*****************************************************************************/ void write_com(unsigned char cmdcode){Di=0;RW=0;P0=cmdcode;delay(2);Enable=1;delay(2);Enable=0;}/***************************************************************************** 函数功能:写数据到LCD程序入口参数:Dispdata出口参数:*****************************************************************************/ void write_data(unsigned char Dispdata){Di=1;RW=0;P0=Dispdata;delay(2);Enable=1;delay(2);Enable=0;}/***************************************************************************** 函数功能:清除LCD内存程序入口参数:pag,col,hzk出口参数:*****************************************************************************/ void Clr_Scr(){unsigned char j,k;Mcs=1;Scs=1;write_com(Page_Add+0);write_com(Col_Add+0);for(k=0;k<8;k++){write_com(Page_Add+k);for(j=0;j<64;j++)write_data(0x00);}Mcs=0;Scs=0;}/***************************************************************************** 函数功能:指定位置显示数字16*16程序入口参数:pag,col,hzk出口参数:*****************************************************************************/ void hz_disp16(unsigned char pag,unsigned char col, unsigned char code *hzk){unsigned char j=0,i=0;for(j=0;j<2;j++){write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i<16;i++)write_data(hzk[16*j+i]);}}/***************************************************************************** 函数功能:指定位置显示数字8*16程序入口参数:pag,col,hzk出口参数:*****************************************************************************/ void hz_disp8(unsigned char pag,unsigned char col, unsigned char code *hzk){unsigned char j=0,i=0;for(j=0;j<2;j++){write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i<8;i++)write_data(hzk[8*j+i]);}}/***************************************************************************** 函数功能:LCD初始化程序入口参数:出口参数:*****************************************************************************/ void init_lcd(){delay(100);Mcs=1;Scs=1;delay(100);write_com(Disp_Off);write_com(Page_Add+0);write_com(Start_Line+0);write_com(Col_Add+0);write_com(Disp_On);}/***************************************************************************** 函数功能:主程序入口参数:出口参数:*****************************************************************************/ void main(void){Light=0; //开LCD背光init_lcd();Clr_Scr();Mcs=1;Scs=0; //左、右都显示while(1){Mcs=1;Scs=0; //左显示delay(2);//欢迎hz_disp16(0,32,huan);hz_disp16(0,48,yun2);//单片机hz_disp16(2,16,dan);hz_disp16(2,32,pian);hz_disp16(2,48,ji);//当前状态hz_disp16(4,0,dang);hz_disp16(4,16,qian);hz_disp16(4,32,zhuang);hz_disp16(4,48,tai1);//网址:www.hifihz_disp8(6,0,w);hz_disp8(6,8,w);hz_disp8(6,16,w);hz_disp8(6,24,dian);hz_disp8(6,32,h);hz_disp8(6,40,i);hz_disp8(6,48,f);hz_disp8(6,56,i);Mcs=0;Scs=1; //右显示//使用hz_disp16(0,0,shi);hz_disp16(0,16,yong);//开发板hz_disp16(2,0,kai);hz_disp16(2,16,fa);hz_disp16(2,32,ban);//:运行中hz_disp8(4,0,maohao);hz_disp16(4,8,yun);hz_disp16(4,24,xing);hz_disp16(4,40,zhong);//网址:hz_disp8(6,0,c);hz_disp8(6,8,a);hz_disp8(6,16,t);hz_disp8(6,24,dian);hz_disp8(6,32,c);hz_disp8(6,40,o);hz_disp8(6,48,m);delay(2);}}。
12864中文图形点阵液晶显示模块使用说明书

72us
读出 RAM
的值
1 1 D7
D6
D5
D4
D3
D2
D1
D0
从 内 部 RAM 读 取 数 据 (DDRAM/CGRAM/GDRAM)
72us
指令表 2:(RE=1:扩充指令集)
指令
指令码
RS RW DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
说明
执行 时间 (540K HZ)
功能:设定 CGRAM 地址到地址计数器(AC),需确定扩充指令中 SR=0(卷动地址或 RAM 地址选择)
地址
设定 CGRAM 地址到地址计数器(AC)
1 AC5 AC4 AC3 AC2 AC1 AC0 需确定扩充指令中 SR=0(卷动地址或 72us RAM 地址选择)
设定 DDRAM 0 0 1 AC6 AC5 AC4 AC3 AC2 AC1 AC0 设定 DDRAM 地址到地址计数器(AC) 72us
I/O
DB5
I/O
DB6
I/O
DB7
I/O
PSB
I
NC
-
/RST
I
VEE
-
LED+
-
LED-
-
说明
电源地
逻辑电源正(+5V)
LCD 对比度调节电压
并行模式时选择数据或指令
H: 数据 L: 指令
串行模式时选择模块与否
H: 选择 L: 不选择
并行模式时控制读写
H: 读
L: 写
串行模式时输入数据
并行模式时使能端
L
L
L
H
DL
X
RE
X
点阵型12864

点阵型12864液晶的使用【实验目的】熟悉点阵型128*64液晶显示器的驱动电路及使用方法。
掌握用A T89S52来控制液晶显示器的方法掌握用扫描法识别矩阵按键的方法进一步熟悉EDA实验平台【实验器材】EDA实验箱、PC机、DB25-ISP下载线、USB转换线、USB-BLASTER编程器等软件:Quatus II 、Keil uVision2、ISPlay等。
【实验原理】液晶作为显示器件广泛应用于各种电子仪器、便携设备上,点阵液晶可以方便的显示各种字符、图片。
WGM12864H液晶显示模块采用三星公司的KS0107液晶控制器,能够显示128*64像素图形或4行16*16中文字符。
一.系统硬件电路1.WGM12864H液晶模块2. WGM12864H 操作指令(1) 显示开关控制。
此命令用于控制液晶显示器开关。
D=1:显示开。
显示器可以进行各种显示操作。
D=0:显示关。
不能对显示器进行各种显示操作。
开显示时,液晶模块DDRAM 的内容显示在LCD 屏幕上,控制显示器的开关并不影响DDRAMA 中的数据和内部状态。
(2) 设置显示起始行。
WGM12864H 液晶模块共有64行,由Z 地址计数器进行控制。
Z 地址计数器是一个六位计数器A5:A0,此计数器具有循环计数功能,它是用于行扫描同步,当一行扫描完成时此计数器自动加一,指向下一行扫描数据,RST 复位后Z 计数器为0。
起始行可以是64行中的任一行,如设置A5:A0为62,则起始行于DDRAM 中的行对应关系如下:(3) 设置页地址。
所示:X 地址计数器为DDRAM 的页指针。
所谓页地址就是DDRAM 的行地址,8行为页。
WGM 液晶显示器共64行,即8页,A2:A0表示0~7页。
读写数据对页地址没有影响,页地址由本指令或RST 信号改变,复位后页地址为0。
(4) 设置列地址。
编址为0-63。
此指令将A5:A0送入Y地址计数器,作为DDRAM的Y地址指针。
点阵液晶显示屏SG12864—01D模块的控制与应用

点阵液晶显示屏SG12864—01D模块的控制与应用
在应用实践的基础上。
总结性地介绍了点阵液晶显示模块
SG12864—01D 的控制原理与应用技巧,给出了在模拟时序下的汇编驱动程序,最后提出了具有节约空间资源的应用方案。
引言
液晶显示模块可归结为字符型和点阵型两大类,点阵型又分为单色屏和彩色屏。
字符型模块通常包含相应的字符库,点阵型模块包含有液晶显示控制器,显示内容没有任何限制,文字图片均可。
液晶彩屏的技术含量最高,但在一般控制系统设计中,点阵单色屏已完全能够满足信息显示的需要。
1 SG12864—01 D模块应用参数与显示方式
从模块的型号可以看出,它在水平方向有128个点阵,竖直方向有64个点阵。
通常汉字取模方式为16×16,显然模块汉字显示的个数为
8X4;字符取模方式为8X 16,因此字符显示的个数为16X4。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E(SCLK)
H/L
使能信号
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
PSB
H/L
H:8位或4位并口方式,L:串口方式(见注释1)
16
(8)视角方向:6点
(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
(10)通讯方式:串行、并口可选
(11)内置DC-DC转换电路,无需外加负压
(12)无需片选信号,简化软件设计
(13)工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃
三、模块接口说明
管脚号
3.2 系统硬件电路介绍………………………………………………………………………1
3.3 LCD显示基本原理………………………………………………………………………3
3.4 系统软件介绍……………………………………………………………………………4
3.5系统软件流程……………………………………………………………………………5
二﹑基本特性
(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
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR
1 课程设计目的
通过电路结构选择、控制方式选择、参数计算、器件选型、硬件制作及软件编程调试等训练切实培养学生综合应用知识、正确分析问题、解决问题的能力,特别是实际动手和创新能力,将自动化专业知识进行整合,融会贯通。
2 课程设计题目描述和要求
设计题目:LCD显示器显示界面的设计
信息时代各种信息最终都是要通过信息显示来实现人、机交换,而信息的显示依赖于各种显示器件的应用,由于液晶显示器(LCD)具有低工作电压、微功耗、显示灵活、成本低等特点,因此在电子计算器、智能化仪器仪表、手机、掌上电脑等等领域应用极为广泛。
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
3.3 LCD显示基本原理
FYD12864-0402B是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
(1)了解128X64液晶显示器的基本结构、电路特性、软件特性、接口应用技术等;
(2)在(1)基础上能根据实际工作需要,进行液晶显示界面的任意开发;如:要求每位同学在液晶(LCD)上显示自己的学号(数字)、姓名(中文)等;
(3)撰写课程设计说明书。说明书中要求有主程序流程图、关键子程序流程图及应用系统硬件电路图;
(4)总结调试过程中出现的问题及解决办法。
3 课程设计报告内容
3.1 系统软、硬件功能设定(分工方案)
系统软件使用keil,89C51单片机,硬件则选用12864液晶显示器
3.2 系统硬件电路介绍
一﹑概述
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
关键字:单片机 LCD128*64 液晶显示模块
1 课程设计目的……………………………………………………………………………1
2 课程设计题目描述和要求………………………………………………………………1
3 课程设计报告内容………………………………………………………………………1
3.1 系统软、硬件功能设定(分工方案)………………………………………………1
4实物图………………………………………………………………………………………22
总 结…………………………………………………………………………………………23
致 谢…………………………………………………………………………………………24
参考文献………………………………………………………………………………………25
本文介绍以AT89S51单片机为控制核心,以LCD128*64液晶作为显示的模块。该模块硬件结构简单、功能齐全,工作稳定,可完成目前绝大部分设备的显示工作。12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
3.6 液晶显示模块指令系统…………………………………………………………………5
3.7系统硬件电路框图………………………………………………………………………6
3.8原理图及基本结构………………………………………………………………………7
3.9128 64点阵型液晶 C语言程序(可以显示指定点)………………………………12