Nokia5110液晶屏.docx_第1页
Nokia5110液晶屏.docx_第2页
Nokia5110液晶屏.docx_第3页
Nokia5110液晶屏.docx_第4页
Nokia5110液晶屏.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

一、硬件链接:首先,看一下硬件(仅供参考,读者已对自己的硬件很熟悉,可以直接跳过。):说明:图1: 排针从左至右1到8位。图2: 5110接口在板子中的区域。图3: 8位排针对应连接5110液晶屏相应的引脚。图4: 5110液晶显示屏对应8位排针JP19的插入方向。再看一下我的板子的原理图:图5中,显示了8位排针JP19(即5110液晶屏的引脚)其中的5根与51单片机(本人的为STC89C516RD+)的PB I/O口的连接方式:5110_RST PB2(P1.2)5110_SCE PB3(P1.3)MOSI(sdin) PB5(P1.5)MISO(dc) PB6(P1.6)SCK PB7(P1.7)这样,我们知道了用51单片机中的I/O口和5110引脚的链接方式。二、引脚接线图请根据程序里的定义连接,51的程序默认接线为:sbit sce = P13; /片选sbit res = P12; /复位,0复位sbit dc = P16; /1写数据,0写指令sbit sdin = P15; /数据sbit sclk = P17; /时钟 看了这些默认接线,可能有个疑问:“这些位变量(引脚)究竟有什么用呢?”,带着这个疑问,请看5110芯片手册中的引脚说明(重点看红色区域):从这个引脚说明中,我们知道了不同的引脚,对应的功能。那么,如何使用这些引脚来控制5110工作呢?三、指令5110液晶显示屏(PCD8544芯片),是通过发送指令和写入数据RAM来控制和显示数据的。指令格式分为两种模式:1、如果D/C(模式选择)置为低(为0),即位变量 dc = 0,为发送指令模式,那么接下来发送的8位字节解释为命令字节。2、如果D/C置为高,即dc = 1; 为写入数据RAM模式,接下来的字节将存储到显示数据RAM。注意:1、每一个数据字节存入之后, 地址计数自动递增。 在数据字节最后一位期间会读取D/C信号的电平。2、每一条指令可用任意次序发送到PCD8544。首先传送的是字节的MSB(高位)。指令集:结合表1和表2, 指令集不难读懂。现在以红色横线所标识的指令来举例说明:第一条(红色横线1),功能设置指令:首先,D/C为0, 表示现在是指令模式,然后从表2看:若要“使用基本指令集”,则PD = 0, V = 0, H = 0,那么相应地DB7DB0分别为 00100000b,即0x20。也就是说,发送0x20就能设置液晶“使用基本指令集”。同理,使用“使用扩展指令集”,指令值为0x21。第二条(红色横线2),显示控制:显示模式有4种,分别是:显示空白,普通模式,开所有显示段,反转映象模式。这些模式分别使用D and E来组合控制。这样,我们控制显示为“普通模式”, 那么D要为1,E要为0, 这时DB7DB0分别为 0000 1100b,即指令值为0x0C。第三条(红色横线3),写入数据指令:写入数据,首先D/C必须为1,表示现在是写入数据RAM模式,DB7DB0就是相应的数据值。到这里,我们知道了5110液晶屏是使用这样的指令集来控制和显示数据的。那么,我们如何把指令值写进去呢?四、时序图没错,要向液晶屏写入数据,我们需要通过模拟一个串行总线协议来写入数据。先来看看传送一个字节(指令)的时序图:如果能看懂时这些序图的兄弟,就不要听我废话啦。请飘过从时序图1看出:1. SCE片选为0时开始发送数据。2. 时钟信号SCLK仅在SCE片选为0时有效。3. SDIN数据输入,需要在时钟信号SCLK有效时开始发送数据,且在SCLK的正边缘取样, 注意,数据是从高位开始发送的。知道了传送数据的时序,我们需要使用程序来模拟这个时序,从而发送指令控制液晶屏。接下来,看看实例。五、程序实例代码一:/*-LCD_write_byte: 使用SPI接口写数据到LCD输入参数:dt:写入的数据;command :写数据/命令选择;编写日期:20080918-*/void LCD_write_byte(unsigned char dt, unsigned char command) unsigned char i; sce=0; dc=command; for(i=0;i8;i+) if(dt&0x80) sdin=1; else sdin=0; dt=dt1; sclk=0; sclk=1; dc=1; sce=1; sdin=1;代码分析:这个是一个写入一个字节数据的模拟时序函数,具有两个参数,dt为要写入的字节,command为数据/命令选择。首先,需要sce拉低电平,开始发送数据。i循环8次,写入8位数据,现以“设置扩展指令集”(即写入0x21)全过程如下: i = 0:dt = 0x21 = 0010 0001 bdt & 0x80:0010 00001000 0000 &0000 0000 = 0,则sdin = 0 (DB7),dt左移1位,dt1 = 0100 0010 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 1: dt = 0100 0010bdt & 0x80:0100 00101000 0000 &0000 0000 = 0,则sdin = 0 (DB6),dt左移1位,dt1 = 1000 0100 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 2: dt = 1000 0100bdt & 0x80:1000 01001000 0000 &1000 0000 != 0,则sdin = 1(DB5),dt左移1位,dt1 = 0000 1000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 3:dt = 0000 1000bdt & 0x80:0000 10001000 0000 &0000 0000 = 0,则sdin = 0(DB4),dt左移1位,dt1 = 0001 0000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 4:dt = 0001 0000bdt & 0x80:0001 00001000 0000 &0000 0000 = 0,则sdin = 0(DB3),dt左移1位,dt1 = 0010 0000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 5:dt = 0010 0000bdt & 0x80:0010 00001000 0000 &0000 0000 = 0,则sdin = 0(DB2),dt左移1位,dt1 = 0100 0000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 6:dt = 0100 0000bdt & 0x80:0100 00001000 0000 &0000 0000 = 0,则sdin = 0(DB1),dt左移1位,dt1 = 1000 0000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样 i = 7:dt = 1000 0000bdt & 0x80:1000 00001000 0000 &1000 0000 != 0,则sdin = 1(DB0),dt左移1位,dt1 = 0000 0000 b,模拟时钟信号sclk = 0, sclk = 1,以使采样过程很罗嗦,不过很简单,呵呵可见,这样循环8次,写入了8位数,DB7DB0 = 0010 0001b = 0x20,正是“扩展指令集”的指令值。代码二:/*-LCD_init: 初始化LCD_init输入参数:无编写日期:20080918-*/void LCD_init(void) res=0; delayms(10); res=1; LCD_write_byte(0x21,0);/1、初始化Lcd,功能设定使用扩充指令 LCD_write_byte(0xd0,0);/2、设定液晶偏置电压 LCD_write_byte(0x20,0);/3、使用基本指令 LCD_write_byte(0x0C,0);/4、设定显示模式,正常显示代码分析:初始化步骤可以参照芯片手册中的编程示例:代码三:/*-LCD_write_char : 显示英文字符输入参数:c :显示的字符;编写日期 :2004-8-10 最后修改日期 :2004-8-10 -*/void LCD_write_char_my(unsigned char *font) unsigned char i; for (i=0; i6; i+) LCD_write_byte(fonti, 1);代码分析:我们可以使用字模软件,求出一个

温馨提示

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

评论

0/150

提交评论