点阵液晶显示器具有可显示复杂的文字及图形,显示屏面积大小多样等优点,在智能仪器仪表、电子设备等工业、民用方面有着广泛的应用前景。
ST公司的mPSD系列单片机以其接口功能强大、存储容量大和系统开发方便等优点,逐渐被应用到对功能要求较高的控制领域。其可编程逻辑的丰富外围接口和大容量存储器的使用必须通过PSDSOft Express软件配置,与传统51系列单片机开发不同。本文通过在实际项目中对mPSD3334D的应用,重点介绍了其特点及其与内置SED1520液晶控制器的液晶模块GXM12232-1的接口,并给出了mPSD3334D的引脚配置和GXM12232-1显示控制流程图。
mPSD3334D及SED1520简介
mPSD3334D单片机
mPSD33xx系列单片机是高性能嵌入式控制器,整合了8051微控制器、灵活的存储器结构、可编程逻辑和丰富的外围接口。芯片由MCU和PSD两大模块组成。该系列不同种类单片机的区别主要体现在存储器空间大小和MCU模块、PSD模块供电电压的不同。mPSD3334D存储空间为256KB Flash、8KB SRAM,MCU模块采用3.3V供电,PSD模块采用5.5V供电。
与传统8032单片机比较,除时钟特性和可控制指令预取、跳转缓存特性不同外,其余不同主要表现在如下方面:
1. 灵活的扩展外围接口功能。PA、PB、PC、PD口为多功能复用口,通过相应寄存器的设置可根据系统需要灵活进行功能切换。端口供电电压与MCU模块电压的不同,可方便与外围不同供电电压器件接口,减少系统电压转换的设计。
2. 高性能JTAG调试、下载功能,方便产品开发和生产。
SED1520驱动器
SED1520是一种点阵图形式液晶驱动器,可直接与8位CPU相连,使用方便。SED1520通常集列驱动器和控制器于一体,作为内藏式控制器,广泛应用于小规模液晶模块的显示。
SED1520驱动器的主要特点为:
1. 内部显示RAM容量为2560b。其每一位数据控制液晶屏上一点的亮灭状态。“1”表示亮,“0”表示暗。
2. 具有16个行驱动和61个列驱动,可方便与SED1521配合,进行单一列的扩展。
3. 总线速度可达10M,显示占空比为1/16或1/32。
采用SED1520作为驱动器的液晶模块,根据液晶屏的大小不同,SED1520、SED1521对行、列的组合有所不同。如屏大小为141×16、占空比为1/16的液晶模块采用SED1521进行了列的扩展。当液晶屏行数超出单片SED1520的行驱动能力时,可采用主从式SED1520进行行扩展。如图1所示。
本文介绍的GXM12232-1液晶模块采用的SED1520驱动器的内部系统框图即为图1所示。采用主从结构的两片SED1520分别控制显示屏幕左、右半屏显示。
图1 采用主从式SED 1520进行扩展
SED1520指令与显示RAM结构
SED1520指令系统比较简单,共13条,除读状态指令、读显示RAM数据指令外,其他指令均为写操作,并且读写指令均为单字节指令。在送出每条指令时,必须进行控制器状态检测,状态字节的含义如下:
D7:1/0,模块忙/准备就绪;
D5:1/0,模块显示关/开;
D4:1/0,模块复位/正常;
D3-D0:未用
在指令使用中,关键要分清显示行、列设置和显示页面设置的关系。单片SED1520可驱动61×16液晶屏,其内部显示RAM相对于COM0每8行为一个显示页面,故本文使用的模块可显示4页。
液晶模块与mPSD3334D的
硬件接口与配置
SED1520驱动器设计有80-CPU和68-CPU两种接口时序。GXM12232-1模块在采用不同控制时序时,引脚连接功能不同。本设计在使用该模块时采用了68-CPU的控制时序。PA口与液晶模块数据线连接,PB4、PB3分别连接液晶模块引脚E1、E2,PB2连接模块RW,PB1连接模块数据命令控制引脚A0。
PSD模块PA、PB口引脚定义
mPSD3334D单片机的PA是多功能复用口,PB口具有可编程逻辑输出功能。在本文中为便于程序移植和接口时序要求,PA口设置成外围设备模式;PB4、PB3设置成CPLD输出外部片选、高电平有效模式,命名为LCD_E2、LCD_E1;PB2、PB1设置成CPLD输出Combinatorial模式,命名为LCD_RW、LCD_A0。PA口的外围设备模式的引脚定义必须使用PSDSOFt_Express软件才能完成,在程序运行时引脚工作模式不能更改。
PSD模块逻辑功能设置
根据接口时序的要求,对PA、PB口进行相应逻辑功能的设置。与本文涉及密切的逻辑功能主要有PSEL和PB[4:1]引脚信号。PSEL、PB4和PB3是片选逻辑设置,PB2和PB1是I/O逻辑功能设置。片选逻辑功能设置时必须保证与mPSD3334D中Flash和SRAM存储区的地址分布不相冲突。以上逻辑功能的设置必须在PSDsoft Express软件的设计辅助窗口中完成。
当PA口工作在外围设备I/O模式时,PSEL片选逻辑地址即为PA口的外围设备I/O地址空间。在PA口外围设备I/O模式中,可以设置其中任意一项。主程序必须初始化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液晶控制器的模块应用。
上一篇:基于仪表电机驱动芯片MC33991的车速表设计
下一篇:基于W78E51单片机的自动拨号器的实现
推荐阅读最新更新时间:2024-03-16 15:58