Asynchronous Interface Design and Actualization of LCD Block with PIC Single Chip Processor
Abstract: The paper introduces the design and realization of liquid crystal display system based on PIC16F774 single chip processor consisting of the hardware interface circuits design and software realization. The graphics lattice pattern JM240128A is adopted into the LCD display module. The LCD with T6963C as its controller can be widely used in industry and is a ideal choice for Microprocessor control systems. The serial interface technique is used between the LCD block and PIC single chip processor, which makes the connection scheme easy and brief.
Key words: PIC Single Chip Processor; LCD; Serial Interface; T6963C
摘要:本文介绍了基于PIC16F774单片机开发的液晶显示系统的设计与实现,包括系统的硬件电路设计和软件实现。本系统采用图形点阵式的JM240128A液晶显示器,其驱动控制系统由内置T6963C控制器控制,该液晶显示器系统通用性强,是构成微机控制系统中显示模块的理想方案。LCD显示模块与PIC之间的接口技术采用数据串行发送方式,可以使硬件电路更加简化、紧凑和可靠,用途广泛。
关键词:PIC单片机;LCD;串行接口;T6963C
0 引言
LCD液晶显示器件作为智能仪表的信息显示界面,具有低压、微功耗、显示清晰等特点,如今广泛应用于低功耗型的智能仪器中,本文采用的JM240128A LCD是一款图形点阵式液晶显示器,它由控制器T6963C、行驱动器/列驱动器及240×128全点阵液晶显示器组成。可完成图形显示,也可以显示15×8个(16×16点阵)汉字。 T6963C的最大特点是具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数,驱动传输的字节数/行及字符的字体选择等均由引脚电平设置,这样T6963C的初始化在上电时就已经基本设置完成,软件操作的主要精力就可以全部用于显示画面的设计上了。
美国Microchip Technology 公司推出的8位PIC系列单片机,采用精简指令集(RISC)、哈佛总线(Harvard)结构、二级流水线取指令方式,具有实用、低价、指令集小、低功耗、高速度、体积小、功能强和简单易学等特点。PIC16F774属于PIC中档系列单片机的一种,采用14位的RISC指令系统,在保持低价的前提下增加了A/D、内部EEPROM存储器、比较输出、捕捉输入、PWM输出、I2C和SPI接口、异步串行通信(USART)接口、模拟电压比较器、LCD驱动、FLASH程序存储器等许多功能,是一款功能非常强大的微控制器,只要充分利用其内部资源,就能够在采用很少外围电路的情况下构成功能完善的系统。
1 LCD模块与PIC单片机的硬件电路设计
本文中PIC16F774单片机与JM240128A LCD模块的连接采用间接控制方式,其硬件电路连接如图1所示。
图1 PIC16F774单片机与JM240128A液晶显示模块的硬件电路连接图
为了节省PIC单片机有限的I/O口资源,数据传送采用串行发送方式,通过八位串行输入/并行输出移位寄存器74HC164芯片进行数据的串/并转换,并以并行方式将数据传送给LCD液晶显示模块。图1中,RA4传送数据,RA2提供时钟脉冲,C/D、/RD、/WR控制信号由PIC16F774通过RB3、RB2、RB1直接控制实现。由于集成芯片74HC164是高速器件,因此满足LCD的刷新速率要求。文中74HC164只用于液晶显示模块,所以/CE信号接地就可以了。JM240128A液晶显示模块中的V0引脚为液晶驱动电压,由于模块内自带负压,在图1中引脚悬空。若需外接负压,则接至VOUT引脚。
数据串/并转换采用的8位边沿触发式移位寄存器74HC164,是一种高速硅门 CMOS 器件,与低功耗肖特基型 TTL (LSTTL) 器件兼容。数据通过两个输入端(A或B)之一串行输入,任一个输入端可以用作高电平使能端,控制另一输入端的数据输入,也可以将两个输入端连接在一起,或者把不用的输入端接高电平,但一定不要悬空。时钟 (CP)每次由低变高时,数据右移一位输入到 Q0,Q0 是两个数据输入端(A和B)的逻辑与,它在上升时钟沿之前保持一个建立时间的长度。
LCD控制器T6963C含有67个引脚,嵌入到液晶显示模块以后,实现了行列驱动以及显示缓冲区的接口,因此我们只需要将少量的引脚和单片机相连,就能够实现复杂的中英文及图形显示。液晶显示模块与单片机的接口电路有直接控制方式和间接控制方式两种,本文采用后一种控制方式。
T6963C控制器的结构特点及工作原理如下:
T6963C是点阵式液晶图形显示控制器,字符字体由硬件设置,可以以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等,具有内部字符发生器CGROM,共有128个字符,T6963C可管理64K显示缓冲区及字符发生器CGRAM。并允许MPU随时访问显示缓冲区,甚至可以进行位操作。T6963C的初始化设置一般都由管脚设置完成,因此其指令系统将集中于显示功能的设置上。T6963C的指令可带一个或两个参数,或无参数。每条指令的执行都是先送入参数(如果有的话),再送入指令代码。内藏T6963C的液晶显示模块上已经实现了T6963C与行、列驱动器及显示缓冲区RAM的接口,同时也已用硬件设置了液晶屏的结构(单、双屏),数据传输方式,显示窗口长度、宽度等等。
2 LCD模块与PIC单片机的软件控制
软件设计流程图
PIC单片机与LCD液晶显示模块的数据传送、显示是通过控制操作T6963C来实现的,软件程序流程如图2所示。
2.2 LCD驱动子程序
液晶显示模块的系统指令集就是T6963C控制器的指令集。T6963C的指令可带1个或2个参数,或无参数。液晶显示器的驱动子程序的功能就是对液晶显示器进行读写操作。
2.3 T6963C初始化
液晶显示器在使用之前要先初始化,初始化中除设置程序堆栈指针外,主要是针对LCD模块中的控制芯片T6963C进行功能设置,如文本/图形首地址和区域设置、文本/图形开关、光标形状设置及闪烁开关、模式设置及清屏等。
2.4 汉字的显示
液晶显示模块字符的显示有文本显示和图形显示两种实现方式。这里重点介绍以图形方式显示汉字的方法。
240×128点阵的液晶显示模块能显示15×8个汉字。对于每个汉字的显示,首先应该计算该汉字在字库中的地址,然后读出该汉字的字型码。当显示至一行的末尾时要换行显示。
显示汉字时,一个16×16的汉字字型码占32个字节,每显示一行要2个字节;第二行显示时,显示地址要在前一行首字节地址上加30,共需要16次循环才能完整地显示一个汉字。
在处理汉字显示时,如果要实现汉字的反显(例如实现菜单操作),将汉字的32字节字模数据分别与0xFF异或(XRL)运算,或者取反(CPL)运算后再显示即可。
在该系统中,还需要显示数字、字母以及光标,这些都是通过图形方式16×8点阵显示的。16×8点阵的显示方法与16×16点阵显示类似,在此不再赘述。
图2程序流程图
3 LCD模块在医疗仪器中的应用
本文介绍的LCD液晶显示模块与PIC单片机的接口采用数据串行发送方式,这种方式不仅节省了I/O端口资源,而且数据传送更加稳定、可靠,操作控制更加灵活、方便,该方式已成功应用于半自动生化分析仪产品的研发。实践证明,液晶屏具有清晰的显示效果,并且无闪烁,满足了生化分析仪的显示要求。
图3 半自动生化分析仪原理框图
该半自动生化分析仪以PIC16F774作为主芯片,由吸、洗液电路模块、滤光片转动模块、多级放大电路模块、温度控制模块以及微型打印机、LCD液晶显示模块和薄膜键盘等外围输入输出设备组成,原理如图3所示。测量结果不仅可以以字符的形式显示在LCD液晶屏上,美观、方便,便于直接读取数据,也可以通过微型打印机将测量数据打印出来,便于进一步分析与研究。薄膜键盘的使用可实现翻页查询、数据录入等功能。由于PIC16F774单片机的I/O端口资源有限,LCD液晶显示模块和微型打印机接口均以串行发式与PIC16F774单片机交换数据,有效地解决了接口问题。LCD液晶显示模块的应用也为整个系统的低功耗设计提供了保障。
4 结束语
本文作者创新点在于采用了单片机与液晶显示模块的串行接口设计,利用高速八位串行输入/并行输出移位寄存器74HC164进行数据的串/并转换,执行速度快,刷新率高,满足LCD在生化分析仪中的显示要求。实践证明,采用图形点阵式JM240128A LCD模块作为智能仪器的显示终端,接口规范、界面美观。由于多数LCD型号的电气特性以及硬件电路接口都十分类似,所以本文采用的方法具有普遍适用性。
参考文献:
[1] 胡凯,张颖超.生化分析仪的设计及与PC机的通信[J].微计算机信息.2006,22(4-1):208-209
[2] 皮大能,南光群.JHD161A LCD显示器与PIC16F877单片机连接[J].微计算机信息,2004,20(10):94-95.
[3] 黄竹霞.LCD模块与单片机的串行接口技术[J].传感器技术,2002,21(11):50-51.
[4] 马鸿文.基于AT89C52单片机的自动存取柜的设计与实现[J].微计算机信息,2006,22(1-2):101-103.
[5] 余华芳,刘健.单片机与液晶显示模块的软硬件接口技术[J].液晶与显示,2003,18(2):125-128
[6] 赵立生,杜安,张伟.MSP2G320240DBCW2211N大规模点阵式LCD与PIC单片机接口技术[J].液晶与显示2004.12:478-482
[7] 李维諟,郭强.液晶显示应用技术[M]. 北京: 电子工业出版社.2005,6.
[8] 李学海.PIC单片机使用教程-提高篇[M]. 北京航空航天大学出版社.2002.3.