微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 液晶控制器与单片机mPSD3334D的接口及显示设计

液晶控制器与单片机mPSD3334D的接口及显示设计

时间:03-06 来源:互联网 点击:

中任意一项。主程序必须初始化VM寄存器使能PA口外围设备I/O模式。

设置PB4、PB3逻辑,使能LCD_E1、LCD_E2信号用于选中LCD模块的Master、Slave控制器。当I/O地址范围在Hex Start和Hex End之间,且读或写信号有效时,LCD_E1和LCD_E2引脚信号被选中。

LCD_RW用于区别命令或数据的读、写,LCD_A0用于区别命令或数据。在I/O逻辑功能设置中,根据片选信号的设置,LCD_RW与地址信号a0相连,LCD_A0与地址信号a1相连,LCD_A0=0表示命令,LCD_A0=1表示数据。

根据上述设置情况可以看出,地址信号a2用于区分master、Slave驱动器的选择,a1a0组合实现对命令、数据的读写控制。GXM12232-1模块Master、Slave驱动器相应命令、数据控制地址如表1所示。

液晶模块显示软件设计流程

SED1520控制器的控制命令是单字节指令。在GXM12232-1模块中进行控制时,根据Master、Slave模块的数据、命令地址送出相应数据、命令字节。但是在每次读写数据或命令时,必须进行忙状态检测。有关命令字在前面和相关数据手册中有具体介绍。图2给出了控制命令字流程图。


图2 控制命令流程图

SED1520控制器正常工作必须进行一定配置,其中包括显示开关、静态或动态显示、占空比等,该过程主要是写命令控制过程,通过多次调用OutMasterCom(unsigned char i)、OutSlaveCom(unsigned char i)完成。以GXM12232-1模块的Master控制器为例,其命令控制代码如下。对于Slave控制器,更改相应地址即可。

void OutMasterCom( unsigned char i ) // write master command
{
while ((rm_status 0x80)); //rm_status the command read address of master
wm_command = i; //wm_command the command write address of master
}
以GXM12232-1模块的Master控制器为例,其写数据代码如下。
void OutMasterDat( unsigned char i ) //write master data
{
while ((rm_status 0x80));
wm_data = i; //wm_data the data write address of master
}

液晶屏的数据显示过程主要分为显示地址命令设置和送出显示数据两步。GXM12232-1模块由Master、Slave两个控制器构成。当设置显示列地址大于60时,显示窗口切换为Slave,即屏幕显示的右半屏。在应用中显示数据采用纵向取模方式。在GXM12232-1模块进行字符、图形显示时必须注意显示窗口和PAGE的范围。程序流程如图3所示。因对于不同的显示对象页占据的大小不同,在页范围检测时需根据对象大小确定检测范围。


图3 字符、图形显示流程图

结语

本文介绍了mPSD系列单片机PA口在外围设备I/O模式下与GXM12232-1模块的连接与相应显示程序设计。GXM12232-1模块的程序设计采用了C51硬件语言,可移植性较强,同时有助于其他内置SED1520液晶控制器的模块应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top