液晶显示模块LCD12864与MSP430F5529的串行通信设计

2019-11-08 02:32胡进德刘明江
求知导刊 2019年21期
关键词:硬件设计

胡进德 刘明江

摘 要:文章依项目需要针对芯河电子公司点阵图形型液晶显示屏LCD12864(带中文字库3.3V)设计了基于单片机MSP430F5529的串行通信电路及驱动程序,并重点介绍了LCD12864模块的性能特点及与MSP430F5529进行串行通信的硬件电路设计和程序设计方法。

关键词:LCD12864;MSP430F5529;串行通信;硬件设计

中图分类号:TP311

文章编号:2095-624X(2019)21-0081-02

一、 LCD12864模块的性能特点

LCD12864模块可显示数字、字母、汉字及图形,内置8192个16×16点阵汉字。电源电压VDD为3.3~5V,实际工作电压取3.3V,与MSP430F5529的工作电压相同,显示分辨率128×64点,与单片机接口可采取8位或4位并行、3线串行。

二、LCD12864模块的串行通信硬件电路设计

1.单片机MSP430F5529简介

MSP430F5529是TI公司推出的MSP430系列超低功耗16位单片机中的一种,工作电压范围1.8~3.6V,具有128 Kb闪存,8Kb的SRAM,63个可编程I/O 口,4个16 位定时器/计数器等,最高工作频率可达25MHz。

2.串行通信数据传送

LCD12864与MSP430F5529串行通信电路如图1所示。

图1中串行通信仅采用1位数据线R/W(SID)和2位控制线RS(CS)与E(CLK),串行接口信号SID、CS和CLK分别与并行接口信号R/W、RS和E复用同一引脚。在项目设计中采用MSP430F5529的P2.0~P2.2分别作为串行通信控制线CS、SID和CLK。

三、LCD12864模块的串行通信驱动程序设计

1.初始化单片机I/O口

初始化程序需要定义MSP430F5529的P2.0~P2.2为输出脚,分别连接CS、SID和CLK。相关初始化程序如下:

#define LCD_PORT_DIR P2DIR       //定义P2口方向寄存器

#define LCD_PORT_OUT P2OUT       //定义P2口输出寄存器

#define CS     BIT0        //定义串行信号CS

#define SID    BIT1        //定义串行信号SID

#define CLK    BIT2        //定义串行信号CLK

#define LCD_OUT LCD_PORT_DIR |= CS+SID+SCLK     //定义P2.0~P2.2为输出

需要注意的是,程序设计以头文件msp430F5529.h为基础,msp430f5529.h中定义了BIT0~BIT2,方便用户进行位操作。

2.写命令和写数据

写命令和写数据需要严格按照液晶模块的操作指令和时序编写。串行通信数据传送格式如图2所示。

由图2可知,串行通信每一次操作都由3个字节数据组成:

第一字节:为串行控制字节,包括起始同步码(5个“1”)、RW、RS和“0”。RW信号表示读写操作,因串行通信只有写,故其确定值为“0”;RS信号是寄存器选择信号,RS=0为指令寄存器,RS=1为数据寄存器。

第二个字节:其高4位为发送指令或数据的高4位,其低4位补0。

第三个字节:其高4位为发送指令或数据的低4位,其低4位补0。

在图2串行通信模式下,仅有写入操作,没有读入操作,包括读忙标志,所以每个指令传输之间要根据单片机的运行速度,考虑是否要加延迟时间等待。

MSP430F5529向LCD12864写命令函数如下:

void Write_Cmd(uchar cmd)   //向LCD写控制命令

{

CS_L;                  // CS=0

_NOP();

CS_H;                  //CS=1

_NOP();

Write_1byte(0,0,cmd);   // 写控制命令,cmd为控制命令

Delay_1ms();             //延时1 ms

CS_L;                    // CS=0

}

MSP430F5529向LCD12864写数据函数如下:

void Write_Dat(uchar dat)//向LCD写显示数据

{

CS_L;                   // CS=0

_NOP();

CS_H;                   //CS=1

_NOP();

Write_1byte(0,1,dat);  // 写显示数据,dat为显示数据

Delay_1ms();           //延时1 ms

CS_L;                   // CS=0

_NOP();

}

MSP430F5529能直接驱动工作电压为3.3V的LCD12864模塊,二者接口电路简单,可以很好地构成低功耗全中文人机交互图形界面。

参考文献:

[1]葛洋洋,王骥超.基于构件的串行总线通信软件设计[J].信息通信,2018(10):201-202.

[2]郭强.液晶显示模块应用与调试 [M].北京:电子工业出版社,2010(3):38-76.

作者简介:胡进德(1966—),男,副教授,硕士,研究方向:嵌入式系统;

刘明江(1978—),男,讲师,本科,研究方向:嵌入式系统。

猜你喜欢
硬件设计
基于MPC5634的混合动力汽车整车控制器硬件设计
基于STM32的家庭智能家居设计
机场行李系统输送线PLC硬件和程序设计
电力参数监测系统研究
自主巡航的四轴飞行器的硬件设计与实现
基于CAN总线的智能微喷灌监控系统中下位机的硬件电路组成与设计
计算机硬件设计安全问题分析