Nokia5110液晶屏完全新手学习笔记(一)

假装没事ソ 提交于 2020-03-27 11:37:30

3 月,跳不动了?>>>

   小Jay已经很久没有接触嵌入式了,这些天在学习51,还故意买了块Nokia 5110液晶屏来玩玩(因为便宜吧,嘻嘻~)。

一开始,小Jay不才,看5110芯片资料一头雾水,囧!不过呢,小Jay还是很努力的,经过几番研究,终于有些眉目,其实5110也并不难的。此文提供给和我一样的鸟哥参考,希望能帮得上忙。(*^__^*) 嘻嘻


声明:
1、本文章用于自己的知识回顾和提供给有需要的初学者,高手请飘过~
2、本文章的内容均从“诺基亚5110液晶屏资料驱动芯片PCD8544中文数据手册.pdf”中,结合自己的理解,整理并简化出来的知识,更多详细内容请查看芯片手册。另外,内容有不对的地方,望指正。

现在我们一步一步来:

一、硬件链接:

首先,看一下硬件(仅供参考,读者已对自己的硬件很熟悉,可以直接跳过。):


说明:
图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 = P1^3;  //片选
sbit    res = P1^2;  //复位,0复位
sbit    dc  = P1^6;  //1写数据,0写指令
sbit    sdin = P1^5;  //数据
sbit    sclk = P1^7;  //时钟

看了这些默认接线,可能有个疑问:“这些位变量(引脚)究竟有什么用呢?”,带着这个疑问,请看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,那么相应地DB7~DB0分别为 00100000b,即0x20。也就是说,发送0x20就能设置液晶“使用基本指令集”。
同理,使用“使用扩展指令集”,指令值为0x21。

第二条(红色横线2),显示控制:
显示模式有4种,分别是:显示空白,普通模式,开所有显示段,反转映象模式。这些模式分别使用D and E来组合控制。
这样,我们控制显示为“普通模式”, 那么D要为1,E要为0, 这时DB7~DB0分别为 0000 1100b,即指令值为0x0C。

第三条(红色横线3),写入数据指令:
写入数据,首先D/C必须为1,表示现在是写入数据RAM模式,DB7~DB0就是相应的数据值。

到这里,我们知道了5110液晶屏是使用这样的指令集来控制和显示数据的。那么,我们如何把指令值写进去呢?

一篇发不完,请看笔记二。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!