基于红外遥控的液晶显示器翻页设计
2019-09-13刘赫洋姜欣欣
余 江,刘赫洋,姜欣欣
(延边大学工学院,电子信息工程专业,吉林 延吉 133002)
0 引 言
随着社会的发展,各种各样的液晶显示器应运而生,且广泛应用于仪器仪表、通信产品、医疗设备及家用电器等设备,可精确且及时地显示各种参数的数据,由人或机器监测,从而有效控制各种事故的发生。
目前,作为教学用途的中低端液晶显示器主要以LCD1602、LCD12864为主,具有低功耗、控制简单及成本较低等优点;缺点是尺寸有限,LCD1602显示容量为16×2个字符,LCD12864具有128×64点阵液晶的点阵数,故显示的信息量不足。
因此,在不增加液晶显示器数量的条件下,设计能使液晶显示器翻页的功能,使液晶显示器能够显示更多的信息。
本文以LCD1602液晶显示器为例,针对相应红外按键控制液晶显示器翻页的设计问题进行了探讨。
1 AT89C51单片机简介
ATMEL公司开发的AT89C51单片机是一款具有低电压、高性能指标的CMOS8位单片机[1]。片内集成有4 KB的Flash存储器和128 B的数据存储器,拥有速度快、可靠性高及实时性好等特点,被广泛应用于电子领域。
AT89C51拥有40个引脚,其中包括:4个8位并行I/O端口(P0口、P1口、P2口及P3口),5个中断源,3个程序加密锁,2个16位可编程定时器/计数器中断,1个全双工的异步串行口,1个看门狗定时器,同样还拥有26个特殊功能寄存器[2]。
2 硬件电路设计
系统主要由红外遥控器、红外接收模块、液晶显示模块及控制芯片AT89C51组成,其原理电路如图1所示。
其中,38K载波由红外遥控器中时基电路NE555产生,通过Q1管放大后与输出信号进行调制后发送,红外接收电路对接收信号进行监控、放大、滤波及解调后输出基带信号。当HS0038监测到有38K红外信号时,就会在输出端OUT输出低电平;当没有38K信号时,OUT引脚就会输出高电平。OUT引脚接到了AT89C51的P3.3引脚上,通过触发外部中断1判断高电平的时间,从而判断数据位的电平的高低,读8次数据位,从而读出按键键码后再对LCD1602液晶显示屏进行翻页操作。
3 系统软件设计
3.1 系统主程序流程
系统主程序流程如图2所示。
3.2 系统主程序
系统初始化后,检测是否成功接受完数据,再判断所发送数据格式中的按键键码,并实现相应的功能。
下面是I/O接口定义以及相关变量定义的代码:
#include
#define LCD1602_DB P0 //数据并行输出引脚
sbit LCD1602_RS=P1^1; //LCD1602数据、命令选择引脚
sbit LCD1602_RW=P1^3; //LCD1602读、写选择引脚
sbit LCD1602_E=P1^5; //LCD1602使能引脚
sbit IR_INPUT=P3^3; //红外接收引脚
bit irflag=0; //红外接收标志,收到一帧正确数据后置1
unsigned char ircode[4]; //红外代码接收缓冲区
unsigned char page; //液晶显示器页码
图1 系统原理图
图2 主程序流程图
3.3 红外接收程序设计
本装置使用的红外遥控器采用NEC协议,其数据格式包括了引导码、用户码、用户反码、按键键码、按键反码及最后一位停止位。停止位主要起隔离作用,编程时不用考虑。其中数据编码共4个字节32位[3]。
红外接收引脚接到了AT89C51的P3.3引脚上,通过触发外部中断1判断高电平的时间,从而判断数据位的电平的高低,最终读出按键键码。
4 实物图及结果
每按下一次红外翻页按键(可上下翻页),LCD1602显示屏会刷新出一个新的界面,新界面不仅可静态显示,而且能动态显示,如图3和图4所示(只是其中部分显示界面)。
5 结 论
本设计以AT89C51单片机、LCD1602、HS0038B红外一体化接收探头、红外遥控器为系统构成,并利用C51语言对所要实现的功能进行编程,在不增加液晶显示器数量的条件下,用红外按键控制液晶显示器进行翻页,从而使液晶显示器能够显示更多的信息量,更加有利于对显示在液晶显示屏的众多参数进行实时记录与监控,最终成功实现了预期的功能。
图3 界面1显示
图4 界面2显示