单片机用串口液晶显示屏_第1页
单片机用串口液晶显示屏_第2页
单片机用串口液晶显示屏_第3页
单片机用串口液晶显示屏_第4页
单片机用串口液晶显示屏_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、OCM12864液晶显示模块概述1. OCM12864液晶显示模块是128 X 64点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。采用 KS0107控制IC。2. 外观尺寸:113X 65x 11mm(ocm12864-1), 93 x 70X 10mm(ocm12864-2)78 x 70 x 10mm(ocm12864-3),3. 视域尺寸:73.4 乂 38.8mm(ocm12864-1)70.7x 38mm(ocm12864-2),64 >44mm(ocm12864-3)4. 重量:大约 gl补充说明:外观尺寸可根据用

2、户的要求进行适度调整。二、最大工作范围1、逻辑工作电压(Vcc) : 4.55.5V2、电源地(GND) : 0V3、LCD 驱动电压(Vee): 0-10V4、 输入电压:VeeVdd5、 工作温度(Ta): 055 C (常温)/ -2070 C (宽温)6、保存温度(Tstg): -1065 C三、电气特性(测试条件 Ta=25,Vdd=5.0+/-0.25V)1、输入高电平(Vih) : 3.5Vmin2、输入低电平(Vil) : 0.55Vmax3、输出高电平(Voh): 3.75Vmin4、输出低电平(Vol) : 1.0Vmax5、工作电流:2.0mAmax四、接口说明1.128

3、64-1,12864-2 接口说明表管脚号管脚电平说明1 VSS 0V逻辑电源地。2 VDD 5.0V 逻辑电源正。3 V0 LCD驱动电压,应用时在 VEE与V0之间加一 2K可调电阻。4 D/I H/L数据指令选择:高电平:数据D0-D7将送入显示RAM低电平:数据D0-D7将送入指令寄存器执行。5R/WH/L读写选择:高电平:读数据;低电平:写数据。6E H.H/L读写使能,高电平有效,下降沿锁定数据。7DB0H/L数据输入输出引脚。8DB1H/L数据输入输出引脚。9DB2H/L数据输入输出引脚。10DB3H/L数据输入输出引脚。11DB4H/L数据输入输出引脚。12DB5H/L数据输入

4、输出引脚。13DB6H/L数据输入输出引脚。14DB7H/L数据输入输出引脚。15CS1H/L片选择信号,低电平时选择前64列。16CS2H片选择信号,低电平时选择后64列。17RETL复位信号,低电平有效。18 VEE -10V LCD 驱动电源。19 BL AC 背光电源,LED+。20 BL AC 背光电源,LED-。2. 12864-3A接口说明表管脚号管脚电平说明1CSAH/L片选择信号,低电平时选择前64列。2CSBH片选择信号,低电平时选择后64列。3GND0V逻辑电源地。4VCC5V逻辑电源。5VEE-10V LCD驱动电源。6D/IH/L数据指令选择,高电平:数据D0-D7将

5、送入显示RAM ;低电平:数据D0-D7将送入指令寄存器执行。7R/WH/L读写选择,高电平:读数据;低电平:写数据。8E H.H/L读写使能,高电平有效,下降沿锁定数据。9DB0H/L数据输入输出引脚。10DB1H/L数据输入输出引脚。11DB2H/L数据输入输出引脚。12DB3H/L数据输入输出引脚。13DB4H/L数据输入输出引脚。14DB5H/L数据输入输出引脚。15DB6H/L数据输入输出引脚。16DB7H/L数据输入输出引脚。3.12864-3B接口说明表管脚号管脚电平说明1 CSAH/L 片选择信号,低电平时选择前64列。2 CSBH 片选择信号,低电平时选择后64列。3 GND

6、0V 逻辑电源地。4 VCC5V 逻辑电源。5 V0-10V LCD驱动电源。6 D/IH/L 数据 指令选择,高电平:数据 D0-D7将送入显示RAM ;低电平:数据D0-D7将送入指令寄存器执行。7R/WH/L读写选择,高电平:读数据;低电平:写数据。8E H.H/L读写使能,高电平有效,下降沿锁定数据。9DB0H/L数据输入输出引脚。10DB1H/L数据输入输出引脚。11DB2H/L数据输入输出引脚。12DB3H/L数据输入输出引脚。13DB4H/L数据输入输出引脚。14DB5H/L数据输入输出引脚。15DB6H/L数据输入输出引脚。16DB7H/L数据输入输出引脚。17RETL复位信号

7、,低电平有效。18 VEE -10V LCD 驱动电源。19 BL AC 背光电源,LED+。20 BL AC 背光电源,LED-。五、指令描述1、显示开/关设置CODE :R/WD/IDB7DB6DB5DB4DB3DB2DB1DB0L L LL HH HH H H/LRAM(DD RAM)中的内容。DB4 DB3DB2功能:设置屏幕显示开/关。DB0=H,开显示;DB0=L ,关显示。不影响显示2、设置显示起始行CODE : R/W D/I DB7 DB6 DB5DB1 DB0L L H H行地址(063)功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,

8、该命令自动将 A0-A5位地址送入Z地址计数器,起始地址可以是 0-63范围内任意 一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。3、设置页地址CODE : R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0L L H L H H H 页地址(07)功能:执行本指令后,下面的读写操作将在指定页内,直到重新设置。页地址就是DD RAM的行地址,页地址存储在X地址计数器中,A2-A0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。DD RAM地址映像表Y地址0 1 2 6162

9、63DB0/PAGE0DB7 X=0DB0/PAGE1DB7 X=1/PAGE6DB7X=7DB0/PAGE7DB7X=84、设置列地址CODE : R/WDB1DB0D/IDB7DB6DB5DB4DB3DB2L L L H功能:DD RAM列地址(063)的列地址存储在 Y地址计数器中,读写数据对列地址有影响,在对DD RAM进行读写操作后,5、状态检测CODE : R/WY地址自动加一。D/IDB7DB6DB5DB4DB3DB2DB1DB0H L BF L ON/OFF RST L L功能:读忙信与标志位(BF)、复位标志位BF=H :内部正在执行操作;RST=H :正处于复位初始化状态;

10、ON/OFF=H :表示显示关闭;6、写显示数据CODE : R/WD/IDB7L L(RST)以及显示状态位(ON/OFF)。BF=L :空闲状态。RST=L :正常状态。ON/OFF-L :表示显示开。DB6DB5DB4DB3DB2DB1 DB0L H D7 D6 D5 D4 D3 D2 D1 D0功能:写数据到 DD RAM , DD RAM是存储图形显示数据的,写指令执行后 Y地址计数器 自动加1。D7-D0位数据为1表示显示,数据为 0表示不显示。写数据到 DD RAM前,要 先执行“设置页地址”及“设置列地址”命令。7、读显示数据CODEDB1H HRSDB0D7 D6R/WD5

11、D4DB7D3 D2 D1DB6D0DB5DB4DB3DB2功能:先执行从 DD RAM"设置贞地址读数据,” 及读指令执行后 丫地址计数器自动加 "设置列地址"命令。1。从DD RAM读数据前要六、接口时序1.写操作时序时序14.读操作时序*串行连接操作程序新势力单片机网站:url/url对外函数列表:void LCD_Init( void ); / 初始化void LCD_PutStr(unsigned char row,unsigned char col,unsigned char *puts); /写入文本void LCD_PutBMP(unsigned

12、char *puts); / 写入图片void LCD_ClearTXT( void ); / 清除文本void LCD_ClearBMP( void ); / 清除图片*/#define LCDNOP() NOP();NOP()以下配置IO管脚/=#define LCDSIDPORT PORTE /SID PORT#define LCDSIDDDR DDRE /SID DDR#define LCDSIDPIN PINE /SID PINE#define LCDSIDIO 2 /SID IO#define LCDSCLKPORT PORTE#define LCDSCLKDDR DDRE#def

13、ine LCDSCLKPIN PINE#define LCDSCLKIO 3#define LCDRSTPORT PORTE#define LCDRSTDDR DDRE#define LCDRSTPIN PINE#define LCDRSTIO 4/=#define OUTLCDSCLK() LCDSCLKDDR |= 1 << LCDSCLKIO /设置输出#define SETLCDSCLK() LCDSCLKPORT |= 1 << LCDSCLKIO / 拉高#define CLRLCDSCLK() LCDSCLKPORT &= (1 <<

14、LCDSCLKIO) / 拉低#define OUTLCDSID() LCDSIDDDR |= 1 << LCDSIDIO /设置输出#define INLCDSID() LCDSIDDDR &= (1 << LCDSIDIO); LCDSIDPORT |= 1 << LCDSIDIO设置输入#define SETLCDSID() LCDSIDPORT |= 1 << LCDSIDIO / 拉高#define CLRLCDSID() LCDSIDPORT &= (1 << LCDSIDIO) / 拉低#define G

15、ETLCDSID() (LCDSIDPIN & (1 << LCDSIDIO) >> LCDSIDIO) / 读 IO 值const unsigned char AC_TABLE=(第一行汉字位置第二行汉字位置第三行汉字位置第四行汉字位置0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,;/串口发

16、送一个字节void LCD_WriteByte(unsigned char Dbyte)unsigned char i;OUTLCDSCLK();OUTLCDSID();for(i=0;i<8;i+)CLRLCDSCLK();Dbyte=Dbyte<<1;左移一位if (SREG & 1)SETLCDSID();elseCLRLCDSID();SETLCDSCLK();LCDNOP();CLRLCDSCLK();return;/串口接收一个字节/仅在读取数据的时候用到/而读出的数据是一次只能读出4bit的unsigned char LCD_ReadByte(void)

17、unsigned char i,temp1,temp2;temp1=temp2=0;OUTLCDSCLK();INLCDSID();for(i=0;i<8;i+)temp1=temp1<<1;CLRLCDSCLK();LCDNOP();SETLCDSCLK();LCDNOP();CLRLCDSCLK();if(GETLCDSID() temp1+;for(i=0;i<8;i+)temp2=temp2<<1;CLRLCDSCLK();LCDNOP();SETLCDSCLK();LCDNOP();CLRLCDSCLK();if(GETLCDSID() temp2

18、+;return (0xf0&temp1)+(0x0f&temp2); void LCD_CheckBusy( void ) LCDNOP();/11111,RW(1),RS(0),0/BF(.7)=1 Busy/11111,RW(0),RS(0),0高四位低四位(先执行<<)return;do LCD_WriteByte(0xfc);while(0x80&LCD_ReadByte();void LCD_WriteCmd( unsigned char Cbyte )/LCD_CS = 1;LCD_CheckBusy();LCD_WriteByte(0xf8)

19、;LCD_WriteByte(0xf0&Cbyte);LCD_WriteByte(0xf0&Cbyte<<4);/ /LCD_CS = 0;void LCD_WriteData( unsigned char Dbyte )/LCD_CS = 1;LCD_CheckBusy();LCD_WriteByte(0xfa);/11111,RW(0),RS(1),0LCD_WriteByte(0xf0&Dbyte);/ 高四位LCD_WriteByte(0xf0&Dbyte<<4);/ 低四位(先执行 <<) /LCD_CS = 0;u

20、nsigned char LCD_ReadData( void ) (LCD_CheckBusy();LCD_WriteByte(0xfe); return LCD_ReadByte();void LCD_Init( void )(LCD_WriteCmd(0x30);LCD_WriteCmd(0x03);LCD_WriteCmd(0x0C);LCD_WriteCmd(0x01);LCD_WriteCmd(0x06);文本区清RAM函数void LCD_ClearTXT( void )(unsigned char i;LCD_WriteCmd(0x30);LCD_WriteCmd(0x80);

21、for(i=0;i<64;i+)LCD_WriteData(0x20);/图形区和文本区显示在两个不同的图形区清RAM函数void LCD_ClearBMP( void )(unsigned char i,j;LCD_WriteCmd(0x34);LCD_WriteCmd(0x36);for(i=0;i<32;i+)(/11111,RW(1),RS(1),0/8BitMCU,基本指令集合/AC归0,不改变DDRAM内容/显示ON,游标OFF,游标位反白OFF/清屏,AC归0写入时,游标右移动/8BitMCU,基本指令集合/AC归起始位RAM区/8Bit扩充指令集,即使是36H也要写两次绘图ON,基本指令集里面36H不能开绘图/12864 实际为 256x32行位置列位置/256/8=32 byte/8BitMCU,基本指令集合起始位置/判断字符串是否显示完毕LCD_WriteCmd(0x80|i);LCD_WriteCmd(0x80);for(j=0;j<32;j+)LCD_WriteData(0);void LCD_PutStr(unsigned char row,unsigned char co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论