12864LCD液晶显示原理及使用方法_第1页
12864LCD液晶显示原理及使用方法_第2页
12864LCD液晶显示原理及使用方法_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、12864LCD 液晶显示原理及使用方法液晶简介具有各向异性的晶体所特有的双折射性又具有液体的流动性液晶显示器件 (英文的简写为LCD)就是利用液晶态物质的液晶分子排列状态在电场中改变而调制外界光的被动型显示器件。点阵式图形液晶显示屏是 LCD 的一种能够动态显示图形汉字以及各种符号信息为各种电子产品提供了友好的人机界面点阵式图形液晶显示屏的主要特点如下 (这些特点也就是LCD 的特点)长等特点。12864LCD,它主要由行驱动器/列驱动器及12864 全点阵84 个(1616 点阵)汉字或者显示164(816 点阵)ASCII需要自己提供字库字模,此时可以根据个人喜好设置各种字体显示风格,设

2、计上较为灵活。带字库的 提供字库字模,但是只能显示GB2312的宋体。各有优缺点,根据不同应用场景灵活选择。其液晶模块原理图如下所示。12864LCD点阵图形液晶模块原理框图管脚号管脚名称LEVER 管脚功能描述管脚号管脚名称LEVER 管脚功能描述1GND0电源地2VCC+5.0V 电源电压3VLCD-液晶显示器驱动电压4RS (D/I) H/LD/I=“H”,表示 DB7DB0 为显示数据D/I=“L”,表示 DB7DB0 为显示指令数据5R/W H/L R/W=“H”,E=“H”数据被读到 DB7DB0R/W=“L”,E=“HL”数据被写到IR 或DR 6ENH/L 信号下降沿锁存DB7

3、DB0R/W=“H”,E=“H”DDRAM 数据读到DB7DB07DB0 H/L 数据线8DB1 H/L 8DB1 H/L 数据线9DB2 H/L 数据线10DB3 H/L 数据线11DB4 H/L 数据线12DB5 H/L 数据线13DB6 H/L 数据线14DB7 H/L 数据线15CS1 H/L 选择芯片(右半屏)信号16CS2 H/L 选择芯片(左半屏)信号17RET H/L 复位信号,低电平复位18VEE19LED+20LED-10VLCD 驱动负电压-LED 背光板电源LED 背光板电源12864LCD点阵图形液晶模块应用连接电路液晶驱动设置在理解12864LCD硬件原理和管脚功能

4、之后,可以针对LCD进行驱动的编写,分两种情况: 仿真环境下和实物开发板编程。#define #define#define#define #define#defineuint8uint32unsigned charunsigned intLCD_databusP0/LCD8 位数据口sbitDI = P22;/DI 0 数据sbitsbitRW = P21;/RW1 写;0 读EN = P20;/使能端sbitsbitsbitCS1 = P24; 1 低电平有效,控制左半屏CS2 = P23; 1 低电平有效,控制右半屏uchar DIN8 = 24, 23, 20, 21, 28, 29,

5、19, 22;/8 uchar DIN8 = 24, 23, 20, 21, 28, 29, 19, 22;/8 位数据线的接线方式P2.24, P2.23,P2.22 对于 D0,D1,D7,低位到高位#defineLCD_PORT_NUM0 /LCD 端口P0#defineDATA_PORT_NUM1 /数据端口P1#defineCS1_PIN23/片选 1 低电平有效,控制左半屏#defineCS2_PIN24/片选 1 低电平有效,控制右半屏#defineRST_PIN21/复位信号低电平有效#defineRW_PIN20/RW 为 1 写;0 读#defineDI_PIN19/DI

6、为 0 写指令或读状态;1 数据#defineEN_PIN22/使能端涉及到的一些控制指令:0 x3E关显示,0 x3F开显示;总共有八页,一页占八行点阵点,页的首地址为0 xB8;行的起始地址为0 xC0,有规律的改变起始行号可以实现滚屏的效果; 列的起始地址为0 x40一直到0 x7F共64列;读状态指令时,数据位最高位D7为1内部忙,为0空闲;对应接线为P2.22;通过GPIO_ReadValue获取P2端口的32位数据P2.0到P2.31,然后进行相应的与或操作进行判断。void delay(uint8 i) /延时函数void delay(uint8 i) /延时函数while(-i

7、);voidvoid Read_busy()/数据位的最高位D7 1 则忙P0 = 0X00; DI = 0;RW = 1;EN = 1while(P0 & 0 x80);EN = 0;void write_LCD_command(uint8 value) /void write_LCD_command(uint8 value) /写命令函数Read_busy();/每次读写都要忙判DI = 0;/选择命令RWRW = 0;/读操作LCD_databus = value;EN = 1;/EN 10 锁存有效数据_nop_();_nop_(); EN = 0;voidvoid write_LCD

8、_data(uint8 value)/写数据函数Read_busy();DI = 1;/RW = 0;LCD_databus = value;EN = 1;/EN10锁存有效数据_nop_();_nop_(); EN = 0;voidvoid Set_page(uint8 page)/设置显示起始页page = 0 xB8 | page;/wite_LCD_command(page);voidvoid Set_line(uint8 startline)/设置显示的起始行startline = 0 xC0 |startline; write_LCD_command(startline);void

9、 void Set_column(uint8 column)/设置显示的列column = column & 0 x3F;/列的最大值为64 column = column | 0 x40;/列的首地址为write_LCD_command(column);void SetOnOff(uint8 onoff)/显示开关函数;0 x3E是关显示,0 x3F是开显示onoff = 0 x3E | onoff; write_LCD_command(onoff);voidvoid SelectScreen(uint8 screen)/选择屏幕switch(screen)case 0: CS1 = 0;

10、CS2 = 0; break;/全屏case 1: CS1 = 0; CS2 = 1; break;/左半屏case 2: CS1 = 1; CS2 = 0; break;/右半屏default: break;void ClearScreen(uint8 screen)void ClearScreen(uint8 screen)uint8i, j; SelectScreen(screen); for(i=0;i8;i+)Set_page(i); Set_column(0);for(j=0;j64;j+)write_LCD_data(0 x00);/清屏/01voidvoid InitLCD()

11、/LCD 初始化Read_busy(); SelectScreen(0); SetOnOff(0);/关显SelectScreen(0); SetOnOff(1);/开显SelectScreen(0); ClearScreen(0); Set_line(0);voidLCD_Check_Busy(void)voidLCD_Check_Busy(void)unsignedint value = 0, rvalue = 0;GPIO_SetDir(DATA_PORT_NUM, 0 x31F80000L, 0); GPIO_ClearValue(LCD_PORT_NUM, (1 DI_PIN); GPIO_SetValue(LCD_PORT_NUM, (1 RW_PIN);GPIO_SetValue(LCD_PORT_NUM, (1

温馨提示

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

评论

0/150

提交评论