历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2018年03月25日 | SED1520液晶控制器的液晶模块GXM12232-1的接口

2018-03-25 来源:eefocus

    点阵液晶显示器具有可显示复杂的文字及图形,显示屏面积大小多样等优点,在智能仪器仪表、电子设备等工业、民用方面有着广泛的应用前景。

    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分别控制显示屏幕左、右半屏显示。

66.jpg?imageView2/2/w/550
              图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给出了控制命令字流程图。

67.jpg?imageView2/2/w/550
                图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所示。因对于不同的显示对象页占据的大小不同,在页范围检测时需根据对象大小确定检测范围。


68.jpg?imageView2/2/w/550
                      图3 字符、图形显示流程图

 

    结语

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


推荐阅读

史海拾趣

Engineered Components Co公司的发展小趣事

随着市场竞争的加剧,ECC意识到只有不断创新才能保持领先地位。因此,公司加大了对研发的投入,引进了一批先进的研发设备和人才。经过数年的努力,ECC成功研发出了具有更高精度、更好性能的电子连接器,并推出了一系列新型电子元件。这些新产品不仅满足了客户日益增长的需求,还为公司带来了更多的市场份额。

Great American Electronics公司的发展小趣事

Engineered Components Co(ECC)公司成立于XXXX年,由几位在电子制造领域有丰富经验的工程师共同创立。他们看到了电子行业中对于高质量、高精度电子元件的迫切需求,因此决定专注于此领域。ECC在创立初期就确立了以客户需求为导向,以技术创新为驱动的发展战略。他们通过自主研发,生产出了第一批高精度电子连接器,并在市场上获得了良好的反响。

绿索超容(GreenSource)公司的发展小趣事

在稳固了国内市场后,ECC开始积极拓展国际市场。他们参加了多个国际电子展会,展示了公司的技术和产品。通过与国际客户的交流与合作,ECC逐渐打开了国际市场的大门。同时,ECC还与国际知名电子企业建立了长期合作关系,共同研发新产品、开拓市场。这些举措使得ECC在国际市场上的知名度不断提升。

AIM公司的发展小趣事

随着公司业务的不断发展和产品线的丰富,AIM开始积极拓展市场,寻求更广阔的发展空间。公司积极参与国际电子展会和交流活动,与全球各地的客户和合作伙伴建立了紧密的合作关系。通过与国际知名企业的合作,AIM的产品和技术得以在全球范围内推广和应用,进一步提升了公司的知名度和影响力。

Efficient Power Conversion公司的发展小趣事

在追求自身发展的同时,EPC公司也积极寻求与行业内其他企业的合作。通过与全球知名的汽车制造商、通信设备制造商以及消费电子企业建立合作关系,EPC公司将其氮化镓技术广泛应用于各个领域,推动了整个电子行业的发展。同时,EPC公司也积极参与行业标准的制定和推广工作,为行业的健康发展做出了积极贡献。

德国ACAM公司的发展小趣事

近年来,ACAM公司开始将目光投向增材制造领域。ACAM公司与上海交通大学等高校建立了紧密的合作关系,共同推动增材制造技术的发展。通过合作研究,ACAM公司成功地将时间数字转换技术应用于增材制造领域,为行业的发展提供了新的动力。

问答坊 | AI 解惑

毕设求助

做的是三相无刷直流电机驱动模块。驱动芯片用的是MC33035,现在的疑问是上24v电测试时,为什么下桥臂的N沟道mos管怎么会全部导通(Vgs=13.8v)?急!…

查看全部问答>

C51里面XBYTE的使用

我看到许多的程序里面是使用XBYTE来对外部存储器进行操作的,请问一下具体是怎样实现的? 是不是当传输数据的时候,P2口就保持不变的呢?…

查看全部问答>

调查下大家对实时操作系统的需求

现在的嵌入式操作系统五花八门,当然在国内最为流行的大概还是linux,wince。我发这个帖子是想了解下,各位在工作中对实时操作系统的需求有多大,linux算不上一个实时系统。wince勉强算吧。实时系统中有一些小内核的如uc/os和freertos,还有老牌的vx ...…

查看全部问答>

Modelsim后仿真,SDF文件加载失败

请教:XILINX生成的标准时延文件,用MODELSIM后仿真,标准时延文件SDF文件加载失败,错误结果:# Loading C:/Modeltech6.2b/xilinx_lib/simprim_ver.X_ONE# Loading C:/Modeltech_6.2b/xilinx_lib/simprim_ver.X_ZERO# Loading work.glbl# ** Error ...…

查看全部问答>

05.31-DIY之步进电机进展汇报

由于近日忙于毕业毕业设计,因此对811关注减少,加上大部分是大三的,因此进度可能比别的组慢了一些,我相信大家都是付出了很多努力的,在此写一下上周的进度: 京华组:组员都是大三的,没怎么做过这些东西,可能会比较困难对于他们来说,我相信他 ...…

查看全部问答>

MSP430F149死机 看门狗不起作用

现在有个小产品用的MSP430F149,走的RS485信号,总线上共挂了6个设备(A地点)。另外在B地点也有同样的应用(A地和B地不在同一个地方,B地点无死机),现在A地会有设备死机现象,输入电源为12V,板上电源有两极稳压,一级为PWM电源芯片,二级为LDO ...…

查看全部问答>

CC2530P2_0触发中断问题

我在测试P2_0口的触发中断,配置如下:void Exti_Init(void){    EA = ENABLE;          ///开总中断    P2IEN |= 0X01;        ...…

查看全部问答>

【学习心得】MCU+TIVA C 入门学习!

【学习心得】MCU+TIVA C 入门学习! 自从大教堂推出各类视频教程深受大家喜欢! 最近的TIVA C比较喜欢,比较详细的分析,介绍TIVA C的外设设计应用,及实验调试 特别是在第四课讲解中还测试故意出现未初始化代码后,出现的调试问题,有时DEBUG还 ...…

查看全部问答>