基于C51的液晶显示模块接口电路与程序设计

来源 :科学与财富 | 被引量 : 0次 | 上传用户:piscisboy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:以应用广泛的MSC-G12864液晶显示模块为例,在简单介绍内部结构与操作方法的基础上,讨论了其与单片机的接口以及相应的C51编程方法和程序。
  关键词:液晶显示器;单片机接口技术;C51编程
  1. 引言
  液晶显示模块是单片机应用系统的常见外设之一,对它的编程控制的要求也是多种多样的,如显示内容,显示形式等等,这些要求都可以归结为以数组形式处理数据的方式。本文以具体的液晶显示模块为基础建立C51编程思路。
  2.MSC-G12864液晶模块内部结构
  MSC-G12864液晶显示模块是香港信利公司生产的图形显示模块,点阵数为64行×128列,其功能强,使用方便,能直接与单片机接口,具有专用指令,可方便地实现画面卷动等功能。
  MSC- G12864主要由液晶屏阵列驱动电路KS0108B、点阵式显示控制器KS0107B、LCD显示器和LED背光灯等4部分组成,由此构成完整的显示系统模块。控制器是整个显示系统的核心,具有自身的时钟信号,并提供一套完整的指令系统,其中两片KS0108B分别控制显示屏的两部分。LCD通过总线与CPU连接,实现对外部数据的读写操作,还可以方便的改变显示窗口所在的位置。
  MSC-G12864的主要引脚有外部数据总线(DB0~DB7),显示屏左右半屏的使能信号(CS1、CS2),读写控制信号(R/W),数据指令选择位(RS),模块的使能信号(E),电源(VDD,VSS)和负偏置电压(VO),背光控制端口(SLA,SLK)。
  3.MSC-G12864与MCS-51系列MCU的接口电路
  与其他液晶显示模块的接口方法相同,MSC-G12864的接口方法通常包括直接访问方式与扩展端口方式两种方法。
  3.1 直接访问方式
  MCU可以通过数据总线与控制信号直接采用存贮器访问形式或I/O设备访问形式控制该液晶显示模块。以89C55为例,该单片机是MCS-51系列中的一种新型低功耗单片机,其内部有20 k字节E2PROM,程序及需要显示的字符、汉字、图形等可以存贮在MCU内部,不用扩展外部存贮器,使得控制系统电路更为简单。MSC-G12864与89C55单片机接口电路如图1所示。89C55的P0口直接与液晶显示模块的数据口连接,A0、A1分别控制显示模块的数据/指令(RS)和读写(R/W)状态,片选信号由P2.6、P2.7控制,而E由MCU的RD、WR的与非逻辑控制。
  图1 直接连接方式电路图
  3.2 扩展端口方式
  通过扩展MCU的并行接口来间接对液晶显示模块实现控制。图2所示的就是通过扩展81C55用其PA、PB口来实现对LCD模块的控制。
  4.软件设计
  MSC-G12864的屏幕共有64行,分为8页,每页8行,每行128列。每个字节从上到下依次为低位LSB到高位MSB排列,每个字节的每一位相应的对应LCD屏上的一点的亮、灭状态:“1”表示亮,“0”表示灭,同一个字符点阵数据的各个字节从左到右排列。
  图2 扩展端口方式电路图
  C51是单片机的高级语言,具有编程简便、可靠性高、库函数丰富、容易实现模块化等一系列优点,在微机控制中得到了广泛的应用。下面介绍用C51编写的操作MSC-G12864的常用的一些基本通用程序。
  以下3个子程序分别为写命令子程序和写数据子程序。本文重点来讲述显示单个汉字子程序,这个子程序可以实现在指定位置,显示指定的汉字。另外应该还有一个清屏子程序和显示满屏子程序。清屏子程序原理上与显示单个汉字子程序基本一样,就是往每个点输送00H;显示满屏子程序是基于显示单个子程序的基础上來编写的。另外需要提及,所有的程序是用Keil c51 6.02版本编译器来编辑调试的。
  typedef unsigned char uchar;
  sbit DI=P3^0;
  sbit RW=P3^1;
  sbit EN=P3^2;
  sbit CS1=P3^4;
  sbit CS2=P3^5;
  sbit RESET=P3^3;
  void write_com(uchar cmdcode)
  {
  DI =0;
  RW =0;
  EN =1;
  P1=cmdcode; //数据送P0口
  delay(0); //延时450ns
  EN =1;
  delay(0);
  EN =0;
  }
  /*------写数据到LCD----------------*/
  void write_data(unsigned char data)
  {
  DI =1;
  RW=0;
  EN =1;
  P1=data;
  delay(0);
  EN =1;
  delay(0);
  EN =0;
  }
  /*-----指定位置显示汉字16*16--*/
  void xshz(uchar ye,uchar lie, uchar code *hzk)
  {
  unsigned char j=0,i=0;
  for(j=0;j<2;j++)
  {
  write_com(Page_Add+ye+j);
  write_com(Col_Add+lie);
  for(i=0;i<16;i++) write_data(hzk16*j+i);
  }
  }
  系统中的液晶是128×64点阵,由于汉字是16×16点阵,所以每行可以显示8个汉字,一屏可以显示4行,这样每屏最多可以显示32个汉字。在指定位置显示汉字时,我们需要先通过一些软件提取汉字的字模,存到数组hzk中,从表2中可以查出液晶显示模块的起始页地址为B8H,本例中将B8H赋予常量Page_Add,同时可查出起始列地址为40H(赋予常量Col_Add)。向液晶模块写入汉字时,首先用写入命令函数write_com()把将要在指定位置写入汉字的起始页地址和起始列地址送入液晶模块(如上例注释1和2),然后通过一个循环用写数据函数write_data()写入一个汉字的上半部分(如上例注释3),再把页数加1(上例中变量j=1)重复步骤1、2、3写入汉字的下半部分。如果要在左半屏写汉字CS1置1,在右半屏写字CS2置1,至此一个汉字就在屏幕中指定位置显示了。
  5.结论
  用C51来对液晶显示模块进行编程控制,编程效率高,处理问题方便灵活,相对汇编语言有明显的优势。
  参考文献
  1.刘子锐. Delphi数据库开发自学教程.北京:人民邮电出版社,2002
  2.徐爱钧,彭秀华.单片机高级语言C51Wind,,环境编程与应用〔M」.北京:电子工业出版社,2001.
  3.刘艺. Delphi面向对象编程思想.北京:机械工业出版社,2003
  4.李维,郭强,周云仙.液晶显示应用手册〔M〕.北京:电子工业出版社,2002
  5.郭艳玲,郭世勇.NYG12864-02CGE大规模点阵式液晶显示器和单片机接口技术.电子技术应用,1996(10)
  作者简介:
  周翔宁 (1982- )男 江苏南京人 南京信息职业技术学院。
其他文献
高新技术企业是推动我国经济高速增长的重要力量,如何利用高新技术企业的税收优惠政策,结合高新技术企业的特征及运营特点,为企业量身定制一套最能充分享受各项税收优惠政策的税
中等职业学校的学生在顶岗实习的过程中会发生人际交往困难、擅自离岗等问题,主要是学生的综合素质和专业能力不过关的原因,针对该问题,本文从实施素质教育,提高学生素质以及采取
4G是第四代移动通信及技术的简称。本文通过介绍4G概念、相关的核心技术、主要优势和存在缺陷以及发展前景,使读者更加快速地了解4G技术这一新概念。
期刊
中国是单缸柴油机生产和销售大国,单缸柴油机在2010年国内销售量达600多万台,其给用户的普遍现象是容易冒黑烟,因此研究其加速烟度的影响因素,对进一步提高传统单缸柴油机的
摘 要:从我国原生有色金属和再生有色金属的利用程度来看,我国的有色金属行业才存在技术水平低、集约化程度低和生产经营方式落后以及总体实力不强的问题。要提高我国有色金属的利用率,必须从解放思想、提高生产技术水平和规范管理、有效的结合原生和再生有色金属产业三个方面入手。  关键词:原生、再生有色金属;集约化程度;观念  0.引言  在我国的原料工业中,产业的持续发展取决于资源的保障和供给能力。在我国有色
摘 要:为了加快秸秆还田技术在颍上县的推广应用,进一步完善稻茬麦栽培技术,提高稻茬麦产量,特进行了稻茬麦免少耕秸稈覆盖种植试验。试验结果表明:稻茬麦免少耕秸秆覆盖种植提高了地温,前期出苗快,对杂草有较明显的抑制作用,后期表现有效分蘖增加,成穗率高,穗粒数增加,千粒重提高,较免耕露地种植的产量增加516kg/hm2,增产率为9.6%。  关键词:免少耕;秸秆覆盖;稻茬麦  中图分类号 S512.1