基于STC89C52红外遥控系统设计LCD显示_精品文档Word文档下载推荐.doc
《基于STC89C52红外遥控系统设计LCD显示_精品文档Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《基于STC89C52红外遥控系统设计LCD显示_精品文档Word文档下载推荐.doc(14页珍藏版)》请在冰豆网上搜索。
2.1系统框图 2
2.2最小系统 3
2.3红外接收电路设计 3
2.4显示电路设计 4
3.软件设计 5
3.1红外遥控软件设计 5
3.2LCD1602软件设计 6
3.3主程序设计 8
4.设计小结 9
参考文献 9
附录:
课程设计程序清单 9
1.引言
1.1本设计意义
红外线遥控是目前使用很广泛的一种通信和遥控技术。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
红外遥控属于光控,它自身的特点是控制方向性好,控制距离完全可以满足室内的空间距离,由于红外线的波长大,所以它对其他的电子设备的干扰小,这些条件都非常理想,因此对红外遥控的设计工作是很有意义的。
当今世界,智能家居已经是一种潮流,在国外已经获得了应用,在我国还未大量推广。
随着人们的经济实力的增强,不难预测,智能家居的产品将有很广阔的发展前景,在这个背景下,红外遥控应该也会得到大家的青睐。
1.2本设计任务和主要内容
本设计的设计任务是基于STC89C52红外遥控系统设计(LCD显示)。
本设计的主要内容是:
A.查阅相关资料:
了解红外遥控器原理、LCD1602显示原理,能够运用C语言进行设计、编程、调试。
B.硬件设计:
根据设计任务选合适的单片机和适合的红外遥控器;
设计电路。
C.软件设计:
根据各电路工作原理,画出软件流程图,根据流程图编写相应的C语言程序进行调试。
D.调试:
根据所编程的程序烧入单片机内,并进行相应的调试。
E.结论:
根据各步骤写好毕业论文。
2.硬件设计
2.1系统框图
本设计由红外遥控器、STC89C52单片机、红外传感器、LCD1602、等组成,而单片机需外接12MHZ的晶振电路、复位电路、ISP下载接口、红外接收传感器等。
其基本结构图如下图2.1所示:
该设计是由红外遥控器发送信号,通过一体化接收头接收,经过单片机处理并在LCD1602显示器显示出来。
图2.1系统框图
2.2最小系统
单片机最小系统是指能进行正常工作的最简单电路。
如图2-2所示。
单片机的最小系统包括电源,晶振电路,复位电路。
晶振电路:
单片机必须提供脉冲信号才能正常工作。
复位电路:
当这个高电平持续两个机器周期以上就将复位。
图2.2STC89C52最小系统电路图
2.3红外接收电路设计
红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法,此种方法电路复杂,现一般不使用。
较好的接收方法是用一体化红外接收头。
因此本设计采用一体化红外接收头。
接收电路使用一种集红外线接收、放大和整形于一体的一体化红外线接收器,不需要接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。
接收器对外只有3个引脚:
OUT、GND、Vcc与单片机接口非常方便,如图2-3所示
图2.3红外接收器图及接收电路
1脉冲信号输出接单片机的IO口;
2GND接系统的地线(0V);
3Vcc接系统的电源正极(+5V);
2.4显示电路设计
显示电路设计采用1602液晶显示屏,该液晶显示屏的显示功能强大,内置192种字符,可显示符号、数字,清晰可见,而且功率消耗小寿命长抗干扰能力强。
所以在此设计中采用1602液晶显示屏。
2.4.1LCD1602简介
LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。
每位之间有一个点距的间隔每行之间也有也有间隔起到了字符间距和行间距的作用,正因为如此所以它不能显示图形。
LCD1602有16个引脚,各引脚与单片机及外部其他接口的连接如下图2.5所示。
图2.4LCD1602各引脚接线
2.4.2LCD与单片机的接口电路
表2.11602LCD显示器模块引脚名称和功能表
引脚序号
名称
功能
1
Vss
电源地
2
VDD
电路电源5V±
10%
3
Vo
液晶驱动电压
4
RS
寄存器选择1:
数据寄存器0:
指令寄存器
5
R/W
读/写信号1:
读0:
写
6
EN/E
显示器模块使能信号输入端,高电平有效
7~14
DB0-DB7
8位双向数据总线
15,16
BL1和BL2
背光板工作电压的输入端
3.软件设计
3.1红外遥控软件设计
红外解码程序主要工作为等待红外线信号出现,并跳过引导信号,开始收集连续32位的表面数据,存入内存的连续空间。
位信号解码的原则是:
如果从0.56ms低电平过后,开始延时0.56ms以后,若读到的电平为低,说明改为为“0”,反之则为“1”。
为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否如果则该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠。
解码的方式有两种:
一是采用外部中断方式,二是采用查询方式。
采用外部中断方式节省了CPU时间,但进入外部中断以后还是采用查询方式解码。
因此这里采用外部中断方式。
其解码过程如下:
A.初始化外部中断0(或1)为下降沿中断。
B.进入外部中断服务程序,关闭外部中断。
C.对引导码进行判断。
如果引导码正确,装备接收下面一帧遥控数据,以查询方式判断是遥控数据0还是1。
如果引导码错误,则退出外部中断。
D.先后依次接收地址码、地址反码、数据码、数据反码。
E.当接收到32位数据时,说明一帧数据接收完毕,比较数据码和数据反码。
若数据码取反后与数据反码不同,则表示为无效数据,应丢弃本接收数据。
F.开启外部中断准备下一次接收。
其流程图如下图3.1所示:
图3.1外部中断解码流程图
3.2LCD1602软件设计
3.2.1LCD1602初始化
LCD使用之前必须对它进行初始化。
初始化可通过复位完成,也可在复位后完成,初始化过程为清屏、功能设置、开/关显示设置、输入方式设置。
1602LCD的一般初始化(复位)过程:
延时15mS;
写指令38H(不检测忙信号);
延时5mS;
以后每次写指令、读/写数据操作均需要检测忙信号;
写指令38H:
显示模式设置;
写指令08H:
显示关闭;
写指令01H:
显示清屏;
写指令06H:
显示光标移动设置;
写指令0CH:
显示开及光标设置;
具体程序如附录中的(voidinit())。
3.2.2LCD读写操作时序图及指令说明如下个图及表所示
图3.2读操作时序
图3.3写操作时序
表3.11602LCD指令说明
指令功能
R\W
D7
D6
D5
D4
D3
D2
D1
D0
清屏
归位
x
输入方式设置
I\D
S
显示开关控制
D
C
B
光标或字符移位
S\C
R\L
功能设定
DL
N
F
设置CGRAM地址
6位CGRAM地址码
设置显示地址
7位DDRAM地址码
读忙标志和地址计数器
BF
7位当前显示地址码
向CGRAM\DDRAM写数据
8位数据
从CGRAM\DDRAM读数据
注:
x------任意二进制数据。
I\D------显示地址计数器模式选择。
I\D=1,选择加1模式;
I\D=0选择减1模式;
;
S------S=1;
数据读、写操作后,AC自动增一;
S=1;
数据读、写操作后,AC自动增一。
D-----显示器开关控制位。
D=1,显示器On;
D=0;
显示器Off。
C-----光标开关控制位。
C=1,光标On;
C=0,光标Off。
B-----光标闪烁开关控制位。
B=1,光标闪烁On;
B=0,光标闪烁Off。
S\C----显示器或光标移位选择。
S\C=1:
显示器平移一个字符位。
S\C=0:
光标
RL----移位方向选择
DL---传输数据的有效位长度选择。
DL=1,有效位为8位;
DL=0,有效位为4位。
N-----显示器行数选择位。
N=1,两行显示;
N=0,一行显示。
F-----字符显示块的点阵选择。
F=1,5*10点阵字符;
F=0,5*7点阵字符。
BF----忙标志位。
BF=1,忙;
BF=0,空闲状态。
CGRAM----字符发生器RAM。
DDRAM----显示数据RAM。
3.2.3LCD流程图
3.4LCD显示流程图
3.3主程序设计
本论文所设计的主程序工作流程如图3.5所示。
先各子程序初始化,利用红外遥控器发送指令,判断有按键按下,有则解码,且要判断其值是否正确,若正确则进行相应的显示,若不正确则退出。
图3.5主程序流程图
其程序见附录所示
4.设计小结
三周的课程设计完成了,对我来说这一个星期比平时上课还要累,在这三周的学习中,我学到了很多,也找到了自己身上的不足,感触良多,获益匪浅