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作为某测控系统的显示部分,具有工作电压低,显示清晰可靠,受干扰小等优点,同时也要注意到其反应较慢的缺陷。