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

LCD显示器与PIC单片机的接口设计

时间:12-14 来源:互联网 点击:

1引言

智能仪器仪表设计中,通常都要对测控信息进行显示。受仪器功耗、体积及其它条件的影响,一般CRT显示器往往不太适用。而半导体数码管,虽能显示数码及少数字母,却无法灵活显示各种文字、图形、表格等,有着较大的局限性。而LCD显示器由于具有功能强、功耗低、显示清晰、构造轻巧等优点,被广泛运用于各类智能仪器仪表的显示。PIC单片机是美国MICROCHIP公司推出的高性能单片机,对比传统MCS51系列单片机,它具有内置功能模块多、抗干扰性好、速度快、功耗低等优点,被广泛应用于工业控制领域[1]。本文将以SED1520与PIC16F874为例介绍LCD显示器与PIC单片机接口的实用方法。

2 SED1520的结构、指令及其与PIC单片机的接口电路



SED1520的结构框图如图1所示,它主要由定时计数器、行列地址寄存与译码电路、显示RAM、MPU接口电路、LCD接口电路组成。它与外部的接口主要分三个部分:一部分是电源、复位信号和时钟;一部分是LCD接口、另一部分是与MPU(微处理器)的接口。与LCD的接口一般已由提供液晶模块的制造商负责,对于液晶模块的使用者,只须掌握与MPU接口的部分。另外,SED1520还需要提供2KHZ的时钟信号[2]。

SED1520的指令列表如表1,它的显示存储器共有4页(对应页地址0~3),每个页面上都有80个字节(对应列地址为0~79),每个字节中的8位数据都对应着显示屏上同一列的8点行。列地址指针就是管理这80个字节单元的。列地址指针是一个7位加1计数器。由它和页地址寄存器组合唯一指定了显示存储器的某一个单元。SED1520中的RAM共有32行,分为4页,每页8行,这样如果按8*8点阵显示字符,每页可以写一行10个字符,总共写4行,而汉字一般是16*16点阵,则每行可显示5个汉字,共可显示两行。如果将多个SED1520拼起来,就可组成不同显示容量的液晶模块,

SED1520与PIC16F874的接口电路如图2所示。各引脚说明如下:

A0:指令/数据选择 。高电平表示传送的是数据,低电平表示传送的是指令。

片选信号,低电平有效,高电平则MPU不访问SED1520。

读允许,低电平表示MPU从SED1520读数据或指令,高电平无效。

写允许,低电平表示MPU向SED1520写数据或指令,高电平无效。

CL:时钟输入端。由PIC16F874的 RC1提供,让其工作于PWM2输出方式。

D0~D7:数据输入输出引脚。

复位信号输入端,低电平有效。

VDD:逻辑电源正。

VSS:逻辑电源地。

SED1520的指令的解释和执行不依赖外部时钟,而是由内部时钟同步的,所以它的指令执行的速度很快,一般不需要检测SED1520是否忙。由于PIC16F874的I/O口是输出或输入要对相应寄存器进行设置[3],如图2,PIC16F874的RD口在向SED1520写数据时要被设置成输出口,而读数据时又要被设置成输入口,为了精减程序和提高速度,我们可以不用读SED1520的状态,直接向其写数据。这样SED1520的RD脚直接接高电平,PIC16F874的RC3脚也可省下留作它用。

3具体编程实例

在具体的实际应用中,我们经常要显示汉字,一般汉字的字模如图4,字节内部的8个位是横排的,而对于SED1520,字节的8个位要竖排,即每个字符要跨8行显示,需要按图5显示汉字

那么要将字模的各字节按位进行如下计算:将标准字模的字节组1的8个字节的bit7组合起来就成为SED1520汉字字模的字节1,bit6组合起来就成为SED1520汉字字模的字节2,依此类推,就可计算出SED1520汉字字模的32个字节,显示时,先确定字节1的位置(页地址与列地址),然后连续显示字节1~字节16,再页地址加1,列地址为字节1的列地址,设置好后送字节17~字节32即完一成个汉字显示。我们将以12232为例介绍液晶模块的使用方法,12232内置2个SED1520,通过片选来访问不同的SED1520,它可显示4行(对应0~3页地址),每行可显示122个字符,前61个字符对应左边SED1520,后61个字符对应右边SED1520,列地址0~60对应这61个字符的位置,列地址61~79没有使用。对SED1520初始化的程序流程图如图3。清屏是将所有的显示RAM内的数据置0,初始化后,要具体在某个位置显示字符需要设置对应的页地址(行)和列地址,然后向SED1520写数据即可。以下为显示部分初始化程序流程图。

4 结束语

SED1520是一款性能价格比很高的LCD驱动芯片,将它与单片微机接口可用于各类仪表,具有硬件省、功耗低、软件程序简洁等特点。该接口设计已成功应用于电动汽车电量管理的显示,证明该设计稳定可靠。

本文作者创新点:单片机在对LCD控制器写数据前一般都要先读它是否忙,以免写数据失败,而PIC单片机的I/O口在读与写的功能转换中要不停地更改该口的设置,这样程序就很繁琐,还有可能导致系

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

网站地图

Top