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 液晶显示流程图