STC15系列单片机与LC0811型液晶屏软硬件接口的设计

2016-05-23 03:33纪松波内蒙古工业大学信息学院010080
电子测试 2016年6期
关键词:液晶显示光标子程序

师 磊,纪松波(内蒙古工业大学信息学院,010080)



STC15系列单片机与LC0811型液晶屏软硬件接口的设计

师 磊,纪松波
(内蒙古工业大学信息学院,010080)

摘要:为了实现对单行8个英文字符或数字的信息显示需求,提出了一种基于STC15F2K60S2单片机的LC0811-LY液晶显示屏的硬件接口设计,并编程实现信息显示功能。该系统的软件部分采用keil4开发,使用C语言进行编写。实际应用表明,该系统软硬件设计稳定可靠、操作简便,达到了设计要求。

关键词:单片机;液晶屏;stc15;0811

随着小型智能化电子产品的普及,普通的LED数码管只能用来显示数字,如果遇到要显示英文字母、图形或汉字时,则必须选择使用液晶显示屏(LCD)。液晶显示屏基本可分为两种类型,一种是图形模式LCD,既能显示中英字符和数字,又能显示图形,但控制操作较复杂;另一种为字符模式LCD,专门用于显示字母、数字、符号等的点阵型液晶显示屏,它是由若干个5X7或5X11等点阵字符组成,每一个点阵字符位都可以显示一个字符,点阵字符位之间的一个点距的间隔起字符间距和行距的作用。本设计方案使用STC15F2K60S2单片机和LC0811-LY字符屏实现单行8个英文字符或数字的信息显示功能。

图1 LC0811-LY接口电路图

1 硬件组成

液晶显示系统由STC15F2K60S2单片机和LC0811-LY液晶显示模块构成。STC15F2K60S2是宏晶公司最新STCl5系列增强型8051单时钟周期芯片,速度比普通8051快8~12倍。LC0811-LY液晶显示模块是一种单行的字符型液晶显示屏,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由8个5X8的点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有0.7mm的间隔,起到了字符间距的作用。

液晶屏与单片机的连接方式采用并行连接模式,图1为液晶显示屏接口电路图。使用单片机的P2口全部和P1口的部分引脚与LC0811-LY液晶显示屏连接,其中单片机P1.0接显示屏的RS,P1.1接R/W,P1.2接E,P2接DB0~DB7。

LC0811-LY的引脚排列如图1所示,它有16个引脚外界相连,各引脚功能如下:

1)GND:接地;

2)VCC:接+5V电源;

3)VO:对比度调整端;

4)RS:寄存器选择端,H为数据寄存器,L为指令寄存器;

5)R/W:读写控制端,H为读取模式,L为写入模式;

6)E:使能控制端;

7)DB0~7:数据总线;

8)BL VCC:背光正极,接+5V;

9)BL GND:背光负极,接地;

图2 LC0811-LY初始化子程序流程图

表1 LC0811-LY控制指令表

2 软件设计

显示控制软件使用keil4开发,使用C语言编写。

2.1 LC0811-LY初始化子程序

如图2所示,在对LC0811-LY液晶显示模块的初始化时,首先要对其进行数据位数、显示行数和显示模式的功能设定;然后设置显示、光标、光标闪烁的开关;最后设置液晶模块显示字符时光标或是整屏向左或右移动。需要注意的是,LC0811-LY液晶模块上电后内部复位电路会自动进行初始化设置,BF始终为忙状态直到初始化结束,如需要更改初始化设置,在输入功能设定指令时不要检查忙状态,之后输入指令前都要判断液晶模块是否处于忙状态。LC0811-LY控制指令如表1所示。

指令功能:

1)输入模式设置(默认值:0x06):I/D=1,光标右移。I/ D=0,光标左移。SH=1,整屏移动。

2)显示开关设置(默认值:0x08):D=1,整体显示开。C=1,光标开。B=1,光标闪烁开。

3)光标或显示移位:光标或显示移位指令可使光标或显示在没有读写数据的情况下,向左或向右移动,指令不改变DDRAM的内容。

4)功能设定(默认值:0x30):D/L=0/1,4/8位数据。N=0/1,单/双行显示。F=0/1,5*7/5*10点阵显示模式

初始化子程序:

void lcd_init()

{

delay_ms(30); //延时30ms

wr_ctrl(0x38); //工作方式设置:8位数据, 2行显示, 5x8字体

delay_ms(1); //延时1ms

wr_ctrl(0x38); //工作方式设置:8位数据, 2行显示, 5x8字体

delay_ms(1); //延时1ms

wr_ctrl(0x38); /*连续写3次工作方式设置指令以确保LCD初始化

写工作方式设置指令前不要检测忙状态*/

delay_ms(1);

wr_ctrl_busy(0x08); /*关显示,光标关,光标不闪烁从关显示指令起,

必须检测忙状态,否则要延时等待*/

wr_ctrl_busy(0x01); //清屏

wr_ctrl_busy(0x06); //输入方式设置: 地址自动加1,画面不移动

wr_ctrl_busy(0x0c); //开显示,光标关,光标不闪烁

wr_ctrl_busy(0x00|0x80);//设置LCD显示地址为00H(第一行第1个位置)

}

2.2 LC0811-LY显示子程序

图3 显示子程序流程图

LC0811-LY内部有两个8位寄存器,分别为指令寄存器(IR)和数据寄存器(DR),由RS引脚控制写入的寄存器。如图3所示,初始化完毕后,通过拉低RS与R/W引脚向DR发送显示数据。时序如表2所示。由于STC15F2K60S2为1T单片机,一条指令时间小于显示屏使能端要求的最小延时,因此在读写数据时需要在使能端拉高适当延时后再将其拉低。

表2 LC0811-LY时序表

显示子程序:

void wr_data_busy(uchar dispdata)

{

lcd_busy(); //检查忙状态

LCD_RW = 0; //写入模式

LCD_RS = 1; //数据模式

LCD_BUS = dispdata; //送入要显示的数据

LCD_E = 1; //拉高使能读取数据

_nop_(); //读取数据延时

LCD_E = 0; //关闭使能

}

3 总结

本文以STC15F2K60S2单片机为开发平台,对LC0811-LY液晶显示屏的特性与工作原理进行了研究,并提出了液晶显示系统的硬件接口设计。在此系统的硬件平台下,对LC0811-LY液晶显示屏的时序与指令系统进行了深入研究,进而提出了LC0811-LY液晶显示模块的初始化与显示程序的软件设计。该系统最终实现了单行8个英文字符或数字的信息显示功能,达到了预期的目标,可为实际工程应用提供参考。

参考文献

[1] 安红霞. 基于AT89S52单片机的1602型液晶屏显示技术研究[J]. 牡丹江师范学院学报:自然科学版, 2014(3):23-24.

[2] 汤泽容. 基于MCS-51单片机的液晶1602显示设计[J]. 科学与财富, 2013(12):114-114.

[3] 欧伟明. 液晶显示模块TC1602A与单片机的接口技术[J].电子设计工程, 2003(3):18-22.

[4] STC15F2K60S2单片机数据手册.

[5] LC0811-SFLYH6-D数据手册.

[6] 袁欢, 曾先文, 徐讳. 1602LCD液晶显示[J]. 商品与质量:学术观察, 2012:104-104.

[7] 张东伟, 杨中华, 杨国付. 基于μPSD3234A单片机和LCD1602液晶显示模块的设计[J]. 杨凌职业技术学院学报, 2012, 11(1):7-9.

[8] 于志赣, 刘国平, 张旭斌. 液显LCD1602模块的应用[J]. 机电技术, 2009, 32(3):21-23.

[9] 赵亮. 液晶显示模块LCD1602应用[J]. 电子制作, 2007(3).

[10] 隋清江. 基于PROTEUS的LCD1602接口设计与仿真[J].微计算机信息, 2010, 26(19):171-172.

[11] 任艳艳, 牛鑫. 基于STC15F2K60S2的便携式低频信号发生器设计[J]. 济源职业技术学院学报, 2013, 12(1):18-21.

The design of STC15 Series MCU and LC0811 type LCD screen software and hardware interface

Shuai Lei,Ji Songbo
(College of information, Inner Mongolia University of Technology, 010080)

Abstract:In order to realize the information of single eight English character or number display requirements proposed a hardware interface design based on the STC15F2K60S2 MCU LC0811-LY liquid crystal display screen, and programming to realize information display function. The software part of the system uses keil4 development,the use of C language to prepare.The practical application shows that the system is stable and reliable,easy to operate,and the design requirements are achieved.

Keywords:single chip microcomputer;LCD screen;stc15;0811

猜你喜欢
液晶显示光标子程序
基于TRIZ理论液晶显示模块开发板的创新设计
基于ARM的雷达整车智能配电系统显控管理模块的设计与实现
122×32 点阵液晶显示汉字原理实验
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
陈光标吃剩饭倒了谁的胃口
简化编程与子程序嵌套的应用
陈光标:巴菲特先生,我要裸捐!
睡着笑醒