3.7 红外线遥控模块
本设计要完成单片机接收红外遥控器发出的数据.我们如果知道了这些数据就可根据它们寻得相应的键值,从而利用此遥控器去开发自己的产品。红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作。设计板上安装的是红外线接收器是HS0038B(下图为实物及管脚示意图)。
图3-22 HS0038实物图与引脚示意图
本实验针对Philips 公司出品的遥控芯片SAA3010T 作的一个解码实验,此种芯片所采用的协议是双相位编码协议,位1 和位0 的相位正好是相反的,遥控器发射的位1 用低电平到高电平表示,位0 用高电平到低电平表示,每个电平占用0.8255ms,这样,一个完整的位就占用0.8255*2=1.651ms(Data Sheet 典型值为1.788ms,1.651ms 为实测值),当点按按钮,遥控器会发射完整的一帧,一帧应包括2 位的起始位,1 位的控制位,5 位的系统码和6 位的指令码.本实验遥控器的起始位为”11”;控制位为”0”或”1”,是随着按键交替出现的;系统码为”00000”;不同按键的指令码有所不同.
图3-23 SAA3010遥控器实物图
本节介绍了硬件的连接方法以及原理,并且包含了部分电路图,此电路已经试验证明可以运行正常,可用。其中应用了红外遥控器键盘来设定及更改时间,节省了单片机的I/O口
16
的使用,可以在这些I/O口上扩展一些控制电路来用定时功能控制别的电器的定时。红外遥控与单片机的连接如图3-24
图3-24 红外遥控与单片机的连接电路
3.8 系统总原理图
图3-25 系统总原理图
17
第4章 系统软件设计
4.1系统说明
本系统中利用红外遥控设置打铃时间点,通电显示dalin-lcd2402 Welcome to used,并且伴随蜂鸣器鸣叫20秒。 按键说明如下
??MUTE 主菜单键,按下会弹出系统的主菜单,连续按MUTE键查看下一页帮助信息, 显示: MUTE: NEXT HELP PAGE SLEEP: SET THE REAL TIME 00-99: CONTROLLER NO SET+/-:UP/DOWN PR+/-: ALARM+/-1 F,T+/-: ALARM+/-5 STORE: SET ALARM -/--: JUMPING SEARCH: SET TO ? PP: OK!
AV: EXIT/CLEAN!
daling| DL-2402 zhu cai dan 当按下SLEEP键时,会显示设置实时时间,可以按0-9键设置实时时间,并且可以按-/--键跳转那一项设置,再按AV键退出,就可以显示实时时间了。
当按下SET+/-键时,会显示已设置的打铃时间点,同时也显示是第几组打铃时间点,可以继续按键查看,当要重新设置打铃时间点时,再按STORE键,就会跳到设置屏,然后就可以按0-9键设置打铃时间点了,再次按AV键就退出,就已经设置好了打铃时间点了。也可以按同样的方法擦除或更改打铃时间点。
这里最大的创新就是能够设置?(忽略值),采用忽略功能的定时器可以有多种样式的组合功能。(?表示忽略定时的项):
1-:设置单一定时闹钟:2009/4/14[二]12:00:00_00(只在2009年4月14日星期二 12时闹钟响一次。注意:_00是控制项)。
2-:设置每日定时闹钟:?/?/?[?]12:00:00_00(在每天的12时闹钟响一次)。 3-:设置某月定时闹钟:?/04/?[?]12:00:00_00(在4月的12时闹钟响一次)。 4-:设置星期定时闹钟:?/?/?[二]12:00:00_00(在每周二的12时闹钟响一次)。
4.2系统总流程图
18
主程序 蜂鸣器蜂鸣一声 红外中断接收 LCM2402 DS1302 初始化 显示 dalin-lcd2402 Welcome to used 2402初始化 关蜂鸣器 子流程图1 2 3 Menu=0 主显示菜单 Menu=1 调时菜单 Menu=2 定时查看菜单 1 2 3 显示时间 子流程图A 子流程图B 定时值校对处理 N DT!=0xff(有键按下) Y 0-9按下 定时加减键 DT=? 2402初始化 Y N Menu=2 定时查看 按sleep键 Menu=1 按off键 DT=其Menu=99 显示 接下页 2402初始化 清空DT DT=off 4-1 系统流程图1 19
DT=0X00&DT<0X0A DT=0X4C 接上页 N=0 N=1 显示“OK” 清空DT X=DT N++ Y=DT N-- 显示XY 清空DT 子流程图A 显示 DT!=OFF(有键按下) DT=? DT=1D (AV键) DT=2F (PP键) 其他 DT=OFMenu=0 Menu=1 2402初始化 清空DT
4-2 系统流程图2
20