笔者最近在弄金鹏的液晶屏,现在这个年代了,不跑点液晶屏程序实在是说不过去,如果能上3G模块,wifi模块那就更加好了。

这个液晶屏相对于其它液晶屏,它没有什么特别特殊的地方,前段时间,笔者用了一个不带字库的液晶屏,那叫一个痛苦,每次显示字符或者汉字还要算出它的字符码,而且它的逻辑比较难懂,不过最后写了一个函数,即在横坐标,纵坐标确定的后,写一个字符,液晶屏程序的封装就应该这样简单!

这个液晶屏的时序相信大家都看过,也都有自己的程序,笔者这次用的是LPC1700系列中的LPC1766,但是根据自己的程序结合着PDF上的时序,对照了很长时间,觉得一点问题都没有,最后还是出不来一个汉字,无奈之下,只能求助自己的导师,导师说,这个液晶屏许多人都做不出来,不是没有理解时序,而是时序对的情况下,写的代码也要匹配,否则看似时序对,其实也不能运行。

时序的问题,大家看pdf就一目了然了,pdf连接如下:http://wenku.baidu.com/view/789a261ca300a6c30c229ff7.html

下面附上LPC1766的初始化和时序代码,希望对大家有帮助:

#define LCD_REQ      (1 << 28)
#define LCD_BUSY    (1 << 27)
void LCDInit(void)
{FIO1CLR |= LCD_REQ;                  //REQ置为低电平myDelay(10);                      //延迟,等待信号稳定FIO1CLR |= (0xff << 18);              //将输出数据端口置为0
}
void sendOneByte(uint8_t dat)
{while(FIO1PIN & LCD_BUSY);             //如果忙就一直等待,后期需要加延迟FIO1SET   |=     (dat <<18);               //在P1.18~P1.25上输出为1的数据myDelay(10);                      //延迟等待数据稳定FIO1SET |=   LCD_REQ;                //REQ置为高,告诉LCD可以取数据while((FIO1PIN & LCD_BUSY )== 0);               //等待LCD响应接收数据FIO1CLR |=    LCD_REQ;                //REQ置为低,撤销请求信号myDelay(200);FIO1CLR |=  (0xff << 18);
}

笔者用的是P1.18~P1.26表示DB0~DB7,P1.27为BUSY端,设置为输入,P1.28为REQ端

而这个字库也有一定的规律,比如“分“这个字,程序会解释为两个字节是183,,214(一个汉字为两个字节,高字节为183,低字节为214),而在字库的区位表中,它对应的是(23,54)聪明的你或许已经看出来它的规律了,没错它就是把汉字被程序解释后,高字节和低字节都减去160,就可以得到你输入的汉字,这是非常方便的

这里真是要给NXP一点建议,一个引脚输出高低,你至于每次都要用IOSET和IOCLR吗?这样很不方便,不如P1.18=1 就输出高电平这样来的直接,这虽然是51单片机的方法,但是是一个可取的方法,是值得学习的,

而且一个引脚难道不是输出就是输入码?难道它不能双端的,能输出能输入吗?在通讯中,这个是很重要的,能够大大减少负担,不然每次都要来回切换输入输出的方向,真的很烦人,编程应该方便程序员,而程序员编写的产品应该来方便大众!

OCMJ8X15B金鹏液晶屏驱动程序+字库规律相关推荐

  1. stm32驱动LCD12864液晶屏驱动程序,亲测可行,复制直接能用!

    废话不多说,直接贴程序,你自己复制过去即可,免得我通过把工程上传的方式,你下载还得需要c币,这个现在很贵呀!!! 就两个文件,LCD12864.h和LCD12864.c,自己复制过去后,改一下引脚即可 ...

  2. 基于STC8G1K08的0.96寸IIC液晶屏驱动程序

    STC8G系列单片机内部集成了一个I2C串行控制器. STC8G系列的I2C总线提供了两种操作模式:主机模式(SCL为输出口,发送同步时钟信号):从机模式(SCL为输入口,接收同步时钟信号). I2C ...

  3. 利用 STC32G12K128 的 LCM 驱动 8080 接口的液晶屏

    零.目录 零.目录 一.硬件和参考对象 二.STC32G 的 LCM 三.简要的初始化流程 四.代码的移植和修改 五.引脚接线 六.运行结果 七.总结和注意事项 一.硬件和参考对象 本次将使用 STC ...

  4. 无字库12864液晶屏滚动显示程序[转]

    同志们,做实验的时候一定要把端口重新设置成和你的实际硬件一样,不要说我是骗人的,着东西可编了我3个多小时,绝对没问题!记得P0口加上拉,或者用其他端口,如果不显示,参照我的blog中<12864 ...

  5. ht1621b和单片机电平匹配_HT1621B驱动段码液晶屏参考程序——晶拓液晶屏

    (1)    段码屏的驱动程序跟数码管的静态驱动程序一样,只要我们弄懂了怎样显示一个基本单位,根据此基本单位编写一个字库表,然后   用与(&)和或(|)这两种位运算符就可以随心所欲编写我们要 ...

  6. matlab如何将横轴上的汉字旋转90度,第72节:在液晶屏中把字体顺时针旋转90度显示的算法程序...

    从业近十年!手把手教你单片机程序框架 第72讲 开场白: 我曾经遇到过这样的项目,客户由于外壳结果的原因,故意把液晶屏物理位置逆时针旋转了90度,在这种情况下,如果按之前的显示驱动就会发现字体也跟着倒 ...

  7. msp430单片机oled汉字字模_OLED液晶屏如何显示中文呢?

    序言 之前我们分享了,如何使用STM32驱动OLED液晶屏,讲了SSD1306控制芯片的驱动,对其驱动时序和常用命令做了介绍,详细请参考下面链接: STM32驱动0.96寸OLED液晶屏 上篇中我们已 ...

  8. 如何识别液晶屏面板的型号及品牌

    液晶面板的型号不是液晶显示器外壳背后的型号,而是液晶面板样后的型号,是拆开液晶面板后,在液晶屏后看到的条形码.图1所示为液晶面板型号标注位置示意图. 图1 液晶面板型号标注位置示意图 图1中标注的液晶 ...

  9. 学习记录:调用TFTLCD液晶屏

    目录 前言 一.TFT LCD简介 二.液晶屏的信号线与8080 接口 三.TFTLCD 模块的使用流程 四.软件设计 4.1.常用的LCD函数 4.1.1.LCD地址结构体 4.1.2.清屏函数:v ...

最新文章

  1. 多线程真的会使用CPU所有的内核吗?
  2. Python---读图(glob读取图片文件列表)
  3. JVM学习笔记之-类加载子系统,类的加载与类的加载过程,双亲委派机制
  4. 批处理判断文件夹是否存在
  5. javascript中Array的操作
  6. [高光谱] Hyperspectral-Classification Pytorch 数据集的读取、划分、加载
  7. OA协同办公系统对企业建设会带来什么好处?
  8. [原创]分期还款的名义利率与真实利率
  9. (How to)使用IE9的F12开发人员工具分析模拟登陆网站(百度首页)的内部逻辑过程
  10. python利用opencv去除图片logo_用python+OpenCV去除图片水印
  11. 华为p20nfc怎么复制门禁卡_华为荣耀手机的NFC功能怎么用?怎么刷门禁卡
  12. 软件加壳的原理及实现[转]
  13. 论文阅读【A multi-task attention tree neural net for stance classification and rumor veracity detection】
  14. 数据库并发抢红包_微信高并发抢红包秒杀实战案例
  15. C++遍历文件夹下的所有文件
  16. fault tolerance中的错误和故障检测(Error and Fault Detection Mechanisms)
  17. 网站商务BD(Bussiness Development--商务拓展)
  18. 整数运算(加减法)详解
  19. 123数字黑洞-第11届蓝桥杯Scratch选拔赛真题精选
  20. 2020年数据智能领域的“三宗最”,吴晓波罗胖都没提!

热门文章

  1. 新MAC苹果M1芯片简要分析(是不是地表最强呢??)
  2. 【解决】移动硬盘被MAC电脑识别为只读盘
  3. 钉钉API考勤打卡记录获取并存入数据库(python)
  4. POI设置Excel下拉列表(数据有效性验证)
  5. c语言程序负数,C程序,检查数字是正数还是负数
  6. 小程序 input自动聚焦唤起键盘
  7. 文本数据分析:文本挖掘还是自然语言处理?
  8. 基于matlab锁相环电路,锁相环PLL的电路原理以及基本构成
  9. Photoshop cs8 颜色 查看调出 hsb模式滑块
  10. 如何查看自己电脑使用第几代内存条?