SED1335与51单片机的接口程序设计

在以单片机为核心的嵌入式应用中 , 友好的人机交互界面起着十分重要的作用 。 典型的显示器件是LED数码管 , 其亮度高 , 适应于大多数应用场合 。 缺点是接口电路复杂 , 功耗高 。 液晶显示器件是利用液晶的电光效应制作的 , 具有功耗低、接口控制方便等优点 , 而且模块的接口信号和操作指令具有广泛的兼容性 , 并能直接与单片机接口 , 它还具有专用指令 , 可方便地实现各种不同的操作 , 同样的显示面积LCD其功耗为LED显示器的几百之一 , 所以它特别适宜与COMS电路直接相配 。 随着液晶显示技术的进步 , 高质量的液晶显示模块被日趋广泛地应用于各种嵌入式系统中 。  
  现以笔者在某仪器设计中用到的图形点阵液晶模块TM320240E为例 , 介绍一种320×240图形点阵液晶与51单片机的接口设计方案 。
  一.TM320240E及其驱动芯片简介
  是天马公司推出的一款单色图形点阵液晶显示模块 , 可以显示320×240点阵的图形 , 也可以显示20×15个汉字(16×16点阵) 。
  的驱动芯片为SED1335 。 SED1335是日本EPSON公司出品的液晶显示控制器 , 在同类产品中功能较强:有较强功能的I/O缓冲器;指令功能丰富;四位数据并行发送;图形和文本方式混合显示 。 SED1335的应用非常广泛 , 目前市场上的320×240图形点阵液晶模块多数都是采用这一款驱动芯片 。
  二.SED1335指令集
  有13条指令 , 多数指令带有参数 , 如表1所示 。
 

SED1335与51单片机的接口程序设计

文章插图

参数值由用户根据所控制的液晶显示模块的特征和显示的需要来设置 。
接收到来自MPU系统的指令与数据后 , 产生相应的时序和数据来控制液晶模块的显示 。 除SLEEP IN、CSRDIR、CSRR和MREAD外 , 任何一条指令的执行都发生在附属参数输入完成之后 。 MPU可用写入新的指令代码来结束上一条指令参数的写入 。 MPU可用写入新参数与余下的旧参数有效地组合成新的参数 , 但是所写参数的顺序不能改变 , 也不能省略 。
三.硬件接口电路
与51单片机的硬件接口电路如图1所示 。
SED1335与51单片机的接口程序设计

文章插图

图1 TM320240E与51单片机的硬件接口电路图
SEL1(18脚)为微处理器接口选择端 , 接高电平时为MC68000单片机接口时序 , 接低电平为51系列单片机接口时序;A0(4脚)为命令/数据选择端 , 1为命令 , 0为数据;V0(3脚)为对比度电压输入端 。 本系统中 , 为了防止系统内其他部件引起总线上有大电压脉冲对LCD造成损害 , 采用了一片8位双向总线驱动芯片74ALS245将LCD的数据总线与系统总线进行了隔离驱动 , 可以在一定程度上对液晶模块进行保护 。
 
此外 , 关于液晶对比度调节电压的产生 , TM320240E模块自带了负压输出(VEE , 17脚) , 但是也有一些320240模块没有此电压 , 这时可以采用图2所示电路 , 利用一片MAX749来产生负压 , 此电路在笔者以前的设计中应用过 , 且效果较好 。
负压产生电路
SED1335与51单片机的接口程序设计

文章插图

 
四.接口程序设计
 
与51单片机的接口程序设计非常简洁方便 。 在硬件系统上电复位后 , 单片机根据液晶模块的参数(如液晶的行数、列数、扫描频率等)和需要的显示方式等 , 设置各个指令的参数来初始化系统 , 之后就可以由单片机把数据直接送给SED1335的显示缓存 , SED1335就可以控制液晶显示 。 如果在后面需要改变显示的图形或文字 , 只要对应表1 中的指令改变相应指令的参数 , 然后重新输入数据即可实现 。
 
【SED1335与51单片机的接口程序设计】 设置系统命令参数或送数据给显示缓冲区的方法是:先将指令代码送到SED1335的命令口地址 , 然后把该指令的参数送到数据口地址后即可把数据送到数据口地址 。