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

出处:sassos 发布于:2007-04-16 20:45:11

摘要:本文介绍了一种经过实际应用的使用单片机80C31和SED1335液晶控制器控制LCD显示模块的软硬件设计,为设计各种便携式系统的显示前端提供了一种参考。
  关键词:单片机 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点阵三层图形叠加显示初始化程序如下。
  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写入新参数让显示的图像闪烁、翻转、移动来满足不同的要求。对于一般系统的显示前端,也可以通过相同的方法实时显示处理过的数据。
  上面的设计过程是相对于显示一副图像时采用的,这种方法将耗费许多空间。对于一般存储空间较小的系统,如果只要显示汉字字符,可以将需要显示的字模提取出来存储,在进行显示的时候再调用,也同样容易实现而且更节省存储空间。




  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!