上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
ADSP2181与液晶显示模块SMC1602B的接口设计-ADSP-218X-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> ADSP-218X 今天是:
技术中心  
SigmaDSP
SHARC
A2B音频总线
Blackfin
ADI操作系统
ADSP-218X
TigerSAHRC
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
ADSP-218X  
ADSP2181与液晶显示模块SMC1602B的接口设计
[ 作者:admin ] [ 来源:ADSP开源社区 ] [ 发布时间:2011-5-28 ]
 引言

  常用液晶显示模块的种类有笔段式、字符式和图形式等,可方便地用于各种嵌入式系统的液晶显示。字符式液晶显示模块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所示。

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

图1 SMC1602B读、写操作时序图

  RAM地址映射图

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

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

  图2 RAM地址映射图

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

  图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。(部分主要程序略,详见本刊网站www.eaw.com.cn)

  结语

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

联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1