ADSP2181与液晶显示模块SMC1602B的接口设计

2007-01-15 13:44:36来源: 电子设计应用
引言

  常用液晶显示模块的种类有笔段式、字符式和图形式等,可方便地用于各种嵌入式系统的液晶显示。字符式液晶显示模块SMC1602B是长沙太阳人电子有限公司的8位并行接口、内藏控制器HD44780的背光式两行液晶显示模块。

  本文使用的DSP是AD公司的一种低价格、高性能的16位定点运算DSP—ADSP2181。它集成度高,在ADSP21XX基础上,把24x16KB的程序存储器,16x16KB的数据存储器,两路串行接口和两路DMA都集成在一个芯片上,运行速度快,指令周期可达25ns。它具有2048个存储单元的I/O口,支持并行的外围设备以及相应的可编程等待状态发生器,适合与不同速度的外设接口,可扩展性强。

SMC1602B的原理

  字符式液晶显示模块SMC1602B由一块5x7点阵液晶屏和控制芯片HD44780及其辅助电路组成。它可以显示字母、数字、符号等,显示容量为16x2个字符,芯片工作电压为4.5~5.

5V,工作电流为2mA(5V),模块最佳工作电压为5V,字符尺寸为4.95x7.95(W×H)mm。

接口信号说明

  SMC1602B液晶显示模块具有16条接口信号线,包括8条三态数据线,使能信号线E,读写选择信号线R/W,命令/数据选择信号线RS等,其详细的接口信号说明如表1所示。

  其中,VL为液晶屏的参考电源,外接可调电阻可用来调节液晶屏的对比度。R/W为读写选择信号,R/W=1为读状态,R/W=0为写状态。RS为寄存器选择信号,RS=1为指令寄存器,RS=0为数据寄存器。E为使能信号,读状态在高电平有效,写状态在高脉冲下降沿有效。这三条控制线用于主控CPU访问模块内部控制器HD44780使用。

读写操作时序

  SMC1602B模块接口控制时序适合M6800系列MPU,具有较宽的适应能力,其具体读、写操作时序如图1所示。

图1 SMC1602B读、写操作时序图

RAM地址映射图

  模块SMC1602B内部的控制器是日立公司的HD44780,它是专用于字符显示的液晶显示控制驱动集成电路,集驱动器与控制器于一体,内藏有显示缓冲区DDRAM和用户自定义的字符发生器CGRAM。其中,显示缓冲区DDRAM是用来存储显示字符代码的,共有80x8位(80个字节),CPU可对DDRAM进行读、写操作,读、写单元的地址由内部地址计数器AC提供。DDRAM各个单元均对应着显示屏上的各个字符位,他们的对应关系如图2所示。即使显示屏没有这么大,但他们的对应关系依然存在,由HD44780内定的,是不可更改的。因此,当需要在屏幕上某行某列显示某个字符时,CPU只需将字符对应的数据写入显示DDRAM相应的地址处即可,该模块会自动将显示DDRAM内容送往液晶屏,完成相应的显示。可见,SMC1602B模块能根据主控CPU写入到该模块的各种命令字及显示RAM数据,自行对液晶屏进行一系列操作,而不再需要主控CPU的参与。

图2 RAM地址映射图

图3 ADSP2181与SMC1602B的接口电路

指令说明

  液晶模块SMC1602B具有特定的指令,指令格式非常简单,主控CPU只需通过接口将指令写入到液晶模块就可设置工作方式,或者控制液晶模块实现某种功能。常用的指令如表2所示。

状态字说明


  液晶显示模块SMC1602B内有一个忙标志位STA7,它反映了控制器HD44780内部运行时序状态。当STA7=1时,表示内部操作正在运行,不能接受外部数据;当STA7=0时,表示已准备好接收,可以随时接收CPU发来的数据和命令,这是SMC1602B向CPU发出的唯一联络信号。CPU对模块的读操作(RS=0,R/W=1),读出来的状态字是忙标志位与7位当前数据地址指针值的组合,其格式如表3所示。因此,对控制器每次进行读写操作之前,都必须进行读写检测,确保STA7为0。

图4 液晶显示流程图

ADSP2181与SMC1602B硬件接口设计

  一般地,主控CPU与SMC1602B液晶模块的硬件接口有总线方式和模拟口线方式两种,这里,我们以ADSP2181作为主控CPU,使用总线接口方式,如图3所示。通过数据总线与控制总线,直接采用I/O设备访问形式控制该液晶显示模块。

  根据液晶模块的读写时序要求,使能信号E由适合的逻辑器件组合控制,同时也可增加适当的硬件延时。由于液晶显示模块SMC1602B是8位μP接口的,故只须将ADSP2181的低8位数据总线与之相连即可。工作时,地址线A9为低电平,同时,地址线A1和A0分别控制模块的读写选择信号R/W与命令数据选择信号RS,相应的操作即可直接对DSP的I/O存储器空间进行。根据接口电路设计,相应的I/O操作口地址有四种:写指令为IO(0X000),写数据为IO(0X001),读状态为IO(0X010),读数据为IO(0X011)。

ADSP2181与SMC1602B软件接口设计

  相对快速的DSP而言,SMC1602B是一慢速的外设,但ADSP2181内置有可编程等待状态产生器,等状态控制寄存器映射于数据存储区DM(0X3FFE)。在CPU读写I/O端口时,通过增加0~7个等待状态,可以加长CPU等待外部I/O口响应的时间,完全满足SMC1602B的时序要求。另外,在连续向液晶模块写数据时,为了解决LCD反应太慢的问题,在连续写之间调用了延时5ms子程序。在系统DSP程序中,液晶显示模块子程序流程图如图4所示,其中,对LCD读写位于I/O存储器地址0X000~0X003。

结语

  本文以ADSP2181为主控CPU,实现了与液晶模块SMC1602B的接口,较好地解决了两者之间的速度匹配问题,类似地,51系列、96系列、M6800系列等单片机以及其他系列的DSP器件都可以实现液晶显示。以液晶模块SMC1602B作为某测控系统的显示部分,具有工作电压低,显示清晰可靠,受干扰小等优点,同时也要注意到其反应较慢的缺陷。

参考文献

1 ADSP-2100 Family Use誷 Manual. Analog Devices Inc. 1995
2 李维缇.郭强.液晶显示器应用技术.北京:北京邮电学院出版社.1993

关键字:控制器  DSP  DMA

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/ledanddisplay/200701/7886.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
控制器
DSP
DMA

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved