用80C31和SED1335控制三星320×240LCD模块

发布者:sunyouz1最新更新时间:2015-04-16 来源: eechina关键字:80C31  SED1335  LCD模块 手机看文章 扫描二维码
随时随地手机看文章
韩国三星320×240LCD LCD模块是一款低价位高品质的LCD模块,具有高分辨率(点为0.27mm×0.27mm)、高对比度FSTN、高可靠性、低功耗、低价格等优点,特别适用于数控机床、PDA、掌上电脑、游戏机等产品。

SED1335是日本SEIKOEPSON公司出品的液晶显示控制器,在同类产品中是功能很强。其特点为:有较强功能的I/O缓冲器;指令功能丰富;四位数据并行发送;图形和文本方式混合显示。

SED1335指令集

SED1335有13条指令,多数指令带有参数,参数值由用户根据所控制的液晶显示模块的特征和显示的需要来设置。指令表如表1所示。

SED1335液晶控制板是用于MPU系统与液晶模块之间的控制接口板,接收来自MPU系统的指令与数据,并产生相应的时序及数据控制模块的显示。A0为LCD控制器寄存器选择输入,类似于通常字符点阵LCD模块的RS或D/I。MPU把指令代码写入指令输入缓冲器内(即A0=1),指令的参数数据则随后通过数据输入缓冲器(A0=0)写入。带有参数指令代码的作用之一就是选通相应的参数寄存器,除SLEEPIN、CSRDIR、CSRR和MREAD外任一条指令的执行都产生在附属参数的输入完成之后。MPU可用写入新参数与余下的旧参数有效地组合成新的参数,需要注意的是所写参数的顺序不能改变,也不能省略。

表1 SED1335指令集 

功能 指令 代码 说明 参数量
系统控制 SYSTEM SET 40H 初始化,显示窗口空闲操作 8
  SLEEP IN 53H   -
显示操作 DISP ON/OFF 59H/58H 设置开关,设置显示方式 1
  SCROLL 44H 设置显示区域,卷动 10
  CSRFORM 5DH 设置光标形状
         

硬件接口电路

一般SED1335控制板有一跳线,用来选择MPU是MCS51或MC68000单片机。此处硬件设计采用单片机80C31控制SED1335来完成对液晶显示模块的控制,接口电路图如图1所示。

80C31外扩32K的27256 EEPROM,用以存储程序及显示资料。LCD的八位数据D0~D7接到80C31的外部数据总线P0.0-P0.7上,LCD的片选CS接80C31的P2.7(A15),LCD的A0接80C31的P2.0(A8),所以LCD的口地址为0XXXXXX0XXXXXXXXB或0XXXXXX1XXXXXXXXB,V0为LCD的对比度调节,接一个20K的电位器中间抽头,当向VEE方向调时,LCD对比度增大,向VDD方向调时,LCD对比度减小。

软件

SEED1335的程序设计非常简洁方便,其流程是:

在硬件系统上电复位后,软件根据液晶模块的参数(如液晶的行数、列数、扫描频率等)和需要的显示方式设置各个指令的参数来初始化系统,之后就可以由单片机把数据直接送给SED1335的显示缓存,SED1335就可以控制液晶显示。如果在后面需要改变显示的形式(如使原来静止的图片翻转),只要对应表1中的指令改变相应指令的参数,然后重新输入数据即可改变显示的方式。

设置系统命令参数或送数据给显缓的方法是:先将指令代码送到SED1335的命令口地址,然后把该指令的参数送到数据口地址后即可把数据送到数据口地址。语法如下:

  MOV DPTR,#XXXXH;XXXXH为命令口或数据口地址
  MOV A,#XXH;XXH为指令代码、代码参数、数据
  MOVX @DPTR,A

软件初始化就是根据表1中提供的指令集设置一些有关LCD的参数,以便LCD能正确显示图文信息。对80C31而言,所有对LCD操作的指令均为访外部I/O指令MOVX。例如,要显示320×240的黑白位图,先将位图反色,把bmp.hex和程序一起烧录到27256中,位图存放在1000H开始的地址。针对320×240LCD点阵三层图形叠加显示初始化程序如下。[page]

  INIT:
  MOV DPTR,#0101H;命令40H参数设置,#0101H为命令口地址
  MOV A,#40H
  MOVX @DPTR,A;把命令代码送给命令口地址 
  MOV A,#30H
  MOV DPTR,#0000H;#0000H为数据口地址
  MOVX @DPTR,A;把参数送给数据口地址
  MOV A,#07H;设置光标宽度为8
  MOVX @DPTR,A
  MOV A,#07H;设置光标高度为8
  MOVX @DPTR,A
  MOV A,#27H;设置LCD每行需要的字节数,每行320个点,行数为320/8-1=39
  MOVX @DPTR,A
  MOV A,#36H;设置液晶的扫描频率约为70HZ
  MOVX @DPTR,A
  MOV A,#239D;设置LCD的列数为239
  MOVX @DPTR,A
  ……
  MOV DPTR,#0101H;命令5AH,设置点单元卷动位置参数
  MOV A,#5AH
  MOVX @DPTR,A
  MOV DPTR,#0000H
  MOV A,#00H;送水平方向移动位数参数0
  MOVX @DPTR,A;无须移动
  MOV DPTR,#0101H;命令4CH,设置光标移动方向参数
  MOV A,#4CH
  MOVX @DPTR,A
  MOV DPTR,#0101H;命令5BH,设置合成显示方式参数
  MOV A,#5BH
  MOVX @DPTR,A
  MOV DPTR,#0000H
  MOV A,#1CH;送显示方式为三屏图形叠加方式
  ……
  MOV DPTR,#0101H;下面为清屏程序
  MOV A,#42H;给SED1335显缓写操作命令
  MOVX @DPTR,A
  MOV R7,#81H;下面程序将32K显缓全部清零
  MOV DPTR,#0000H
  LOOP: MOV R6,#0FFH
  LOOP1: MOV A,#00H
  MOVX @DPTR,A
  DJNZ R6,LOOP1
  DJNZ R7,LOOP
  RET

以上初始化程序只列出了部分命令代码和参数设置。

主程序是把图片数据送给SED1335让液晶显示。

  DAT EQU #0000H;SED1335控制器数据口地址
  COM EQU #0101H;SED1335控制器命令口地址
  SD1L EQU #00H;第一屏开始显示的显缓首地址的低八位
  SD1H EQU #00H;第一屏开始显示的显缓首地址的高八位
  ……
  PIC EQU #1000H;图片数据存放起始地址
  ORG 0000H
  AJMP START
  ORG 0080H
  START:
  MOV SP,#60H
  LCALL INIT;初始化LCD
  MOV DPTR,COM
  MOV A,#46H
  MOVX @DPTR,A
  MOV DPTR,DAT
  MOV A,SD1L
  MOVX @DPTR,A
  MOV DPTR,COM
  MOV A,#42H;数据写入显示缓冲区指令42H
  MOVX @DPTR,A
  MOV DPTR,PIC
  MOV R7,#240D;送外循环次数240行
  BMP:MOV R6,#40D;每行320点需要40个字节数据
  BMP1:MOV A,#3EH;位图数据相对于bmp文件头的地址
  MOVC A,@A+DPTR;查取位图数据
  INC DPTR
  PUSH DPL
  PUSH DPH
  MOV DPTR,DAT
  MOVX @DPTR,A;将位图数据送入显缓区
  POP DPH
  POP DPL
  DJNZ R6,BMP1;直到将一屏位图数据全部送完
  DJNZ R7,BMP
  ……

程序运行后LCD就应该显示图2所示的图案,实际试验中可以看到非常清晰的图像显示,如果看不到或者看不到深蓝色,调节对比度就可以看到图案。注意上电之后,SED控制板要能正确复位,否则将导致错误,不能正确显示,这个时候LCD一般显示明亮的扫描线。还可以通过MPU写入新参数让显示的图像闪烁、翻转、移动来满足不同的要求。对于一般系统的显示前端,也可以通过相同的方法实时显示处理过的数据。

上面的设计过程是相对于显示一副图像时采用的,这种方法将耗费许多空间。对于一般存储空间较小的系统,如果只要显示汉字字符,可以将需要显示的字模提取出来存储,在进行显示的时候再调用,也同样容易实现而且更节省存储空间。
关键字:80C31  SED1335  LCD模块 引用地址:用80C31和SED1335控制三星320×240LCD模块

上一篇:铁电存储器FM24C16原理及其在多MCU系统中应用
下一篇:基于单片机+FPGA频谱分析仪系统电路设计详解

推荐阅读最新更新时间:2024-03-16 13:58

LCD显示接口模块的接口电路
  本设计中以PlCl6F877单片机为核心,完成对输出驱动单元、人机交互单元、执行机构单元、检测单元等部分的控制.根据设计产品的功能要求,各个功能的定义如下:   · 码盘电机的位置和方向分别由RE0和RC2控制:   · 把手电机的位置和方向分别由RB1和RC1控制:   · 码盘电机光电检测输入到RB7口;   · 把手电机光电检测输入到RBG口:   · 蜂鸣器输出通过RD0口;   · 开锁指示输出通过RD1口;   · 键盘扫描输出为RB0~RB3;   · 键盘扫描输入为RD2、RD3、RD4、RD7口:   · LCD串行通信通过RPD、REI、RE2、RD5实现。   PICI
[嵌入式]
STN-LCD彩屏模块
作者Email: alec@yuyangsemi.com 摘要:本文介绍了彩色STN-LCD模块的内部结构、主要器件,以及设计选用要求。 关键词:彩色STN-LCD模块 LCM LED 电荷泵 升压器 LDO 背光板 越来越多的手机、PDA、数码相机和视屏游戏机采用STN-LCD全彩色显示器,因此,STN-LCD彩屏模块(LCM—LCD Module)的需求量激增,国产的LCD液晶显示器的质量已可与国外的媲美,许多手机设计、生产厂商开始要求使用国内LCD厂家生产的LCD彩屏模块。2001年全世界生产手机3.8亿部,2003年将增长到4.3亿部,2005年将增长到5.2亿部。2004年LCM彩屏手机会占整个手机产量的3
[电源管理]
LCD1602液晶显示模块的单片机驱动深入详解之软件篇(AVR)
LCD1602液晶显示模块的驱动虽然比七段数码管之类的显示要复杂一些,但实际上也并不是很难,最主要的还是初始化,为什么这么说呢?我们在调试一块新液晶屏的时候,都会先初始化看看有没有光标在闪,没有光标前是一番努力(PROTEUS上也是这么做的),光标出来之后就相对很容易了,因为光标出来了,至少说明硬件连接是没有问题的,模块也已经成功接收到了指令,后面就是啃数据手册、改程序、烧录程序观察显示的循环了。 那初始化的流程是怎么样的呢?我们还是看看HD44780的数据手册吧,如下图所示: 可以看到,初始化的主要步骤如下: (1)上电:这特么也算是一个步骤么?是的!如果你用的是其它液晶模块,比如LCD12864,会发现有一个复位引脚,LC
[单片机]
<font color='red'>LCD</font>1602液晶显示<font color='red'>模块</font>的单片机驱动深入详解之软件篇(AVR)
LCD1602液晶显示模块的单片机驱动深入详解之硬件篇
(本文以HD44780主控芯片的LCD1602为蓝本进行描述,其中的截图也来自HD44780数据手册,用户可自行搜索其datasheet,有部分整理网上的,但绝对要比你看到的要深入得多) 一.接口 LCD1602是很多单片机爱好者较早接触的字符型液晶显示器,它的主控芯片是HD44780或者其它兼容芯片。刚开始接触它的大多是单片机的初学者。由于对它的不了解,不能随心所欲地对它进行驱动。经过一段时间的学习,我对它的驱动有了一点点心得,今天把它记录在这里,以备以后查阅。与此相仿的是LCD12864液晶显示器,它是一种图形点阵显示器,能显示的内容比LCD1602要丰富得多,除了普通字符外,还可以显示点阵图案,带有汉字库的还可以显示汉
[单片机]
<font color='red'>LCD</font>1602液晶显示<font color='red'>模块</font>的单片机驱动深入详解之硬件篇
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved