Nokia3310 5110液晶显示(使用说明+C程序)_第1页
Nokia3310 5110液晶显示(使用说明+C程序)_第2页
Nokia3310 5110液晶显示(使用说明+C程序)_第3页
Nokia3310 5110液晶显示(使用说明+C程序)_第4页
Nokia3310 5110液晶显示(使用说明+C程序)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

3 3V的稳压管 Nokia5110Nokia5110液晶屏完全新手学习笔记液晶屏完全新手学习笔记 一一 3 3人收藏此文章 我要收藏发表于1年前 已有34423442次阅读 共1 1个评论 小Jay已经很久没有接触嵌入式了 这些天在学习51 还故意买了块N okia 5110液晶屏来玩玩 因为便宜吧 嘻嘻 一开始 小Jay不才 看5110芯片资料一头雾水 囧 不过呢 小Ja y还是很努力的 经过几番研究 终于有些眉目 其实5110也并不难 的 此文提供给和我一样的鸟哥参考 希望能帮得上忙 嘻嘻 声明 1 本文章用于自己的知识回顾和提供给有需要的初学者 高手请飘过 2 本文章的内容均从 诺基亚5110液晶屏资料驱动芯片PCD8544中 文数据手册 pdf 中 结合自己的理解 整理并简化出来的知识 更 多详细内容请查看芯片手册 另外 内容有不对的地方 望指正 现在我们一步一步来 一 硬件链接 首先 看一下硬件 仅供参考 读者已对自己的硬件很熟悉 可以直 接跳过 说明 图1 排针从左至右1到8位 图2 5110接口在板子中的区域 图3 8位排 针 对应连接5110液晶屏相应的引脚 图4 5110液晶显示屏对应8位排针JP19的插入方向 再看一下我的板子的原理图 图5中 显示了8位排针JP19 即5110液晶屏的引脚 其中的5根与5 1单片机 本人的为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 即0 x20 也就是说 发送0 x20就能设置液晶 使用基 本指令集 同理 使用 使用扩展指令集 指令值为0 x21 第二条 红色横线2 显示控制 显示模式有4种 分别是 显示空白 普通模式 开所有显示段 反转 映象模式 这些模式分别使用D and E来组合控制 这样 我们控制显示为 普通模式 那么D要为1 E要为0 这时DB7 DB0分别为 0000 1100b 即指令值为0 x0C 第三条 红色横线3 写入数据指令 写入数据 首先D C必须为1 表示现在是写入数据RAM模式 DB7 D B0就是相应的数据值 到这里 我们知道了5110液晶屏是使用这样的指令集来控制和显示数 据的 那么 我们如何把指令值写进去呢 一篇发不完 请看笔记二 Nokia5110液晶屏完全新手学习笔记 二 2人收藏此文章 我要收藏发表于1年前 已有2524次阅读 共1个评论 四 时序图 没错 要向液晶屏写入数据 我们需要通过模拟一个串行总线协议来 写入数据 先来看看传送一个字节 指令 的时序图 如果能看懂时这些序图的兄弟 就不要听我废话啦 请飘过 从时序图1看出 1 SCE片选为0时开始发送数据 2 时钟信号SCLK仅在SCE片选为0时有效 3 SDIN数据输入 需要在时钟信号SCLK有效时开始发送数据 且在SCL K的正边缘取样 注意 数据是从高位开始发送的 知道了传送数据的时序 我们需要使用程序来模拟这个时序 从而发 送指令控制液晶屏 接下来 看看实例 五 程序实例 代码一 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 i 8 i if dt else sdin 0 dt dt 1 sclk 0 sclk 1 dc 1 sce 1 sdin 1 代码分析 这个是一个写入一个字节数据的模拟时序函数 具有两个参数 dt为 要写入的字节 command为数据 命令选择 首先 需要sce拉低电平 开始发送数据 i循环8次 写入8位数据 现以 设置扩展指令集 即写入0 x21 全 过程如下 i 0 dt 0 x21 0010 0001 b dt delayms 10 res 1 LCD write byte 0 x21 0 1 初始化Lcd 功能设定使用扩充指令 LCD write byte 0 xd0 0 2 设定液晶偏置电压 LCD write byte 0 x20 0 3 使用基本指令 LCD write byte 0 x0C 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 i 6 i LCD write byte font i 1 代码分析 我们可以使用字模软件 求出一个6 8大小的字符 A 该组值为 unsigned char A 6 0 x00 0 x7C 0 x1

温馨提示

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

评论

0/150

提交评论