学习型红外遥控开关的设计与实现

学习型红外遥控开关的设计与实现

学习型红外遥控开关的设计与实现

摘 要

针对开关的控制问题,本文介绍了一种可以由普通遥控器作为信号输入并基于单片机控制的学习型红外遥控开关。它以STC11F02E 单片机为设计核心,能够识别和记忆常用遥控器任一按键发出的红外信号编码,并通过将接收到的红外信号与单片机存储的数据比较,从而控制遥控开关的通断。与普通机械开关相比,该开关控制器具有体积小、可靠性高、性能优越、使用方便等特点,可广泛应用于工业、医疗、家用电器等领域的开关控制。

关键词: 红外遥控;单片机;软件解码;开关控制

Design and Implementation of Learning Type Infrared Remote

Control Switch

Abstract

In order to control switch, this paper introduces a by ordinary remote controller as the input signal and learning infrared remote control switch based on single chip microcomputer. It takes STC11F02E microcontroller as the core design, to the infrared signal code recognition and memory used for the remote control of specific keys issued, and by comparing the received infrared signal with single-chip computer storage data, so as to control the remote control switch. Compared with common mechanical switch, the switch controller has the advantages of small volume, high reliability, excellent performance, convenient use and other characteristics, the switch can be widely used in the field of industrial, medical, household appliances control.

Keywords : Infrared Remote Control; SCM; Software Decoder; On-Off Control

目 录

摘 要 ..................................................................... I I Abstract .................................................................. I II

前 言 ...................................................................... 1

1 设计方案 .................................................................. 2

1.1 设计任务 .............................................................. 2

1.1.1 研究内容 .......................................................... 2

1.1.2 功能简介 .......................................................... 2

1.1.3 其他任务 .......................................................... 2

1.2方案选择 ............................................................... 3

1.2.1 总体方案 .......................................................... 3

1.2.2 单片机选择 ........................................................ 3

1.2.3 红外接收头选择 .................................................... 5

1.2.4 红外接收原理 ...................................................... 5

2 硬件设计 .................................................................. 6

2.1 电源电路设计 .......................................................... 6

2.2 红外接收解码电路 ...................................................... 6

2.3 继电器电路 ............................................................ 7

3 软件设计 .................................................................. 8

3.1 主程序 ................................................................ 8

3.2 按键扫描子程序 ........................................................ 8

3.3 红外接收子程序 ....................................................... 10

3.4 遥控键值学习子程序 ................................................... 11

4 系统调试 ................................................................. 12

4.1硬件调试 .............................................................. 12

4.2软件调试 .............................................................. 12

5 结束语 ................................................................... 13

参考文献 ................................................................... 14

致 谢 ..................................................................... 15

前 言

随着人们生活水平的提高,人们对生活质量的要求也在不断地提高。遥控技术也越来越受人们的欢迎,其中红外遥控是目前使用最广泛的一种通信和遥控手段[1]。

目前,人们普遍使用的开关大多是手动造作控制,十分不便,为此很多人设计了延时开关、声控开关、光控开关,此类开关仍存在许多问题,例如需近距离手动操作、受环境影响大[2]。后来有人发明了红外遥控开关,但需要配置专门的遥控器,不具有通用性,或者通用性太广,不能识别区分不同遥控器,容易与其它电器遥控器的红外信号混杂在一起,引起误操作。

为解决以上问题,使红外遥控开关更好地应用到生活中,本文将介绍一种基于单片机的学习型红外遥控开关,它能够学习和记忆普通遥控器的任一按键发出的红外信号编码,并做出相应操作。它可以方便达到让你用电视机等普通遥控器操纵开关的目的,解决了黑暗中摸索墙壁开关的麻烦和房间重新布置时由于开关位置固定所带来的麻烦,又提高了遥控器在家电领域的实用价值。

1 设计方案

1.1 设计任务

本设计的总体目标是设计开发出可以由普通遥控器作为信号输入并基于单片机设计的学习型红外遥控开关,并能在各场合中得到很好应用。

1.1.1 研究内容

本设计是以解决日常工作生活中的不便之处为目的,针对常见的普通开关的控制问题,研究了一种可以由普通遥控器作为信号输入并基于STC11F02E 单片机设计的学习型红外遥控开关。

1.1.2 功能简介

本设计主要实现的功能为:

1. 学习功能,可以学习并记忆两个普通家用遥控器的按键,分别记为A 键和B 键,

将学习到的键值保存在单片机的E 2PROM 中,以达到掉电保护的功能,在学习时

用户可根据习惯采用两种学习方式,若长按独立按键2S 后立即松开按键,开启学

习功能,进入方式1,学习时间10S ,在10S 内可以顺序学习A 键和B 键,也可

只学习A 键并再短按一下独立按键进行确认,学习完毕自动退出学习,若长按独

立按键2S 后没有立即松开按键且长按时间超过5S ,进入学习方式2,可以顺序学

习A 键和B 键,也可只学习A 键,按键释放时退出学习,学习按键期间红绿指示

灯间歇闪烁,退出学习时,若学习成功指示灯绿灯闪烁2S ,若学习失败指示灯红

灯闪烁2S ;

2. 通过遥控实现远距离开关操作,A 键实现开关的立即开和立即关,B 键实现开关的

延迟10S 关闭,延迟10S 关闭解决了夜晚关灯后黑暗中摸索的问题;

3. 通过独立按键实现手动开关操作,短按和A 键功能相同,实现开关的立即开和立

即关,双击和B 键功能相同,实现开关的延迟10S 关闭,长按开启遥控键值学习

功能,一键多功能的设计充分体现开关的智能化而又节约资源;

4. 指示灯显示系统相应的工作状态,开关闭合时绿灯亮,开关断开时红灯亮,学习

按键期间红绿指示灯一直间歇闪烁,学习完毕后,学习成功灯闪烁,学习失败红

灯闪烁。

1.1.3 其他任务

通过设计也加深对单片机理论知识和C 语言编程的理解与应用,了解设计开发的流程,提高动手实践能力。

1.2方案选择

1.2.1 总体方案

本设计采用红外一体化接受头接受普通遥控器发射的信号,继电器实现具体的开关操作,微动开关作为独立按键,红、绿发光二极管作为状态指示灯,单片机作为控制核心,将接受到的遥控信号或按键操作进行解码、保存、比对等处理,控制继电器做出相应的操作,指示灯显示相应状态。系统框图如下图1.1。

图1.1 系统框图 1.2.2 单片机选择

单片机的主要性能指标有[3,4,5]:字长、主频、指令执行时间、电源功耗等。选择单片机不仅要考虑其主要的性能指标,更要考虑单片机的中断能力、接口、片内存储器大小、抗干扰能力等。本次设计所选的单片机为STC11F02E ,它与AT89C51单片机完全兼容,仅比AT89C51减少了两组I/O口。

AT89C51和STC11F02E 的引脚结构图分别如图1.2和图1.3。

图1.2 AT89C51 单片机引脚图 图1.3 STC11F02E 单片机引脚图

40只引脚按功能来分,可以分为如下几类:

1)电源及时钟引脚:Vcc 、Vss 、XTAL1、XTAL2。

2)控制引脚:/PSEN、ALE 、/EA、RESET(即RST

3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O的外部引脚。

AT89C51单片机的硬件结构:

1) 微处理器(CPU ):一个8位的CPU ,与通常的CPU 基本相同,同样还包括了运算器和控制器两部分,只是增加了面向控制的出路功能,不仅可以处理字节数据还可以进行变量的处理。

2)数据存储器(RAM ):片内为128B ,片外最多可以外扩64KB 。片内的128B 的RAM 以告诉RAM 形式集成在单片机内。可以加快但单片机的运行速度,而且这种结果的RAM 可以降低功耗。

3)程序存储器(ROM/EPROM):用来存储程序,8031没有此部件,8051为4KB 的ROM ;8751为4KB 的EPROM 。片外最多可以扩至64KB 。

4)4个8位并行I/O口(P0、P1、P2、P3)

5)1个串行口:1个全双工的串行口,具有4种工作方式。可以用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更加强且应用更广。

6)2个16位定时器/计数器。

7) 中断系统:具有5个中断源,2级中断优先权。

8) 特殊功能寄存器(SFR ):共有21个、用于CPU 对片内各功能部件进行管理、控制、监视。是一些控制器和状态寄存器,具有特殊功能的RAM 区。

AT89C51是一种低功耗、高性能、内含4KB 闪速存储器(Flash Memory)的8位CMOS 控制器。这种器件系以ATMEL 高密度不挥发存储技术制造,与工业标准MCS ——51指令系统和引脚完全兼容。片内闪速存储器的程序代码或数据可以在线写入, 亦可通过常规的编程器编程。例如MP ——100这样的经济型编程器,它支持EPROM 等各种存储器、PAL (可编程阵列逻辑)、GAL (通用阵列逻辑)以及Intel ,ATMEL 和Philips 等公司全系列51单片机的编程。ME5103和ME5105仿真器支持AT89系列所有器件的调试、仿真和编程。

AT89C51芯片内部具有下列硬件资源:4KB 闪速存储器、128个字节RAM 、32条I/O线,两个16位定时/计数器、五源两级终端结构、全双工串行口、片内振荡器及时钟电路等。

STC11F02E 与AT89C51完全兼容,在具有以上优点的基础上还进行扩展,STC11F02E 单片机内部还带有E 2PROM ,仅有20个引脚,占用体积小。本设计中对于单片机仅需5个I/O口,而且要求单片机体积小,采用小型单片机是最佳的选择。因此,正是由于STC11F02E 具有以上优点,我选择了STC11F02E 作为本系统的单片机选型。

1.2.3 红外接收头选择

本设计中采用1383一体化红外接收头,如图1.4。其内部电路包括红外监测二极管,放大器,限幅器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz 到60khz 的负载波,通过解调电路和积分电路进入比较器,比较器输出 高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度[6]。

图1.4 1383一体化红外接收头

1.2.4 红外接收原理

一般普通家用电器的遥控采用NEC 协议发送,该协议下发送的一帧数据中含有32位码,包含8位用户码和8位用户码的反码,8位数据码和8位数据码的反码及最后一位的同步位。引导码由4.5ms 的载波和4.5ms 的载波关断波形所构成,以作为用户码、数据码以及他们的反码的先导。同步位(SY )是标志最后一位编码是“0”或“1”的标识位,它只有0.56ms 的有载波信号构成。其发射码的格式如图1.5示。

图1.5 NEC协议发射码格式

该协议的发送载波频率为38KHz ,其数据中的逻辑“0”和“1”靠脉冲时间的不同来区分,逻辑“0”的脉冲时间为1.125ms ,逻辑“1”的脉冲时间为2.25ms ,波形图如图1.6示。

图1.6 逻辑“0”和逻辑“1”的波形图

2 硬件设计

本设计中的硬件电路主要包括电源电路、红外接收解码电路,继电器电路三部分。

2.1 电源电路设计

本设计电源部分的电路图如下图2.1示。

图2.1 电源部分的电路图

电源由220V 市电供电,经过阻容变压、滤波整流、稳压得到+5V的稳定直流电压给单片机、红外接收头、指示灯供电[7,8]。其中D6为+12V稳压二极管,得到+12V稳定直流电压给继电器供电。

2.2 红外接收解码电路

本设计红外接收解码电路如下图2.2示。

图2.2 红外接收解码电路

图中P1为红外接收头,接外部中断P3.2口,独立按键接P3.3口,指示灯接P3.5

口。

当红外接收头接收到遥控信号后,触发中断,引起系统响应。

2.3 继电器电路

继电器部分的电路图如下图2.3示。

图2.3 继电器部分的电路图

NPN 型三极管8050的集电极接继电器和二极管,再接+12V直流电压,基极接单片机的P1.0口,发射极接地[8]。当单片机给P1.0口置“1”时,即基极有高电平时,三极管基极与发射极导通,继电器吸合;反之,当单片机给P1.0口置“0”时,即基极有低电平时,三极管基极与发射极截止,继电器松开,继电器线圈经二极管D5放电。这样,就实现了单片机对继电器的控制。

3 软件设计

本系统的软件设计部分主要包括主程序、按键扫描子程序、红外接收子程序、遥控键值学习子程序。

3.1 主程序

本设计中主程序主要进行系统的初始化和对子程序的调用。主程序首先对整个系统进行初始化,初始化包括定时器工作方式的设置、定时器初值的设置、外部中断工作方式、开中断标志、相关标志位的设置、数据存储的清零、相关变量定义等;初始化完毕以后,主程序就进入一直对独立按键操作子程序和红外操作子程序调用的大循环中,以保证整个系统在持续运行[9,10]。其流程图如下图3.1示。

图3.1 主程序流程图

3.2 按键扫描子程序

键盘扫描子程序主要用来识别独立按键的状态,即无操作、短按、长按、双击,返回相应的键值。

按键操作定义: 当按键按下,按下时间小于1s 时,此次操作定义为短按;当按键按下时间大于2s 时,此次操作定义为长按;当两次短按的时间间隔小于0.5s 时,两次短按定义为一次双击。

按键扫描子程序由底层扫描子程序和中层扫描子程序组成,底层子程序识别出短按键和长按键,再被中层子程序调用,进一步识别出双击、短按键和长按键。其程序流程图分别如下图3.2和图3.3。

图3.3 中层按键扫描子程序

在底层子程序中,主要识别出长按键和短按键。首先按键程序进入初始状态,在这个状态下,检测按键是否按下,如果有按下,则进入按键消抖状态,在下一次执行按键程序时候,直接由按键消抖状态进入按键按下状态,在此状态下检测按键是否按下,如果没有按键按下,则返回初始状态,如果有则可以返回键值,同时进入长按状态,在长按状态下每次进入按键程序时候对按键时间计数,当计数值超过设定阈值时候,则表明长按事件发生。中层子程序主要识别出双击,调用底层子程序后,若是长按键,就直接返回长按键值,若是短按键,判断是否为第一次短按,若为第一次短按,就进入双击判断状态,若是第二次短按,就返回双击键值,否则进行计时,在0.5S 内没有键再被按下,就返回短按键值[10]。

3.3 红外接收子程序

红外接收子程序为外部中断0的服务函数。红外接收头连接外部中断0,当红外接收头接收到红外信号时,触发中断,CPU 响应中断,先根据由定时器0提供的计时标志判断是否为引导码,若为引导码,就接收数据,将每个码元的时间长度保存,否则,退出程序。接收数据完毕后,根据码元的时间长度判断出是逻辑“1”还是逻辑“0”,并将数据保存,并置接收完毕标志位。其流程图如下图3.4。

图3.4 红外接收子程序流程图

3.4 遥控键值学习子程序

遥控键值学习子程序由长按键调用,进入遥控学习后,指示灯红绿间歇闪烁给出学习指示,并开启10s 学习时间计时,若10s 内没有完成学习,退出学习,给出学习失败指示,红色指示灯闪烁2s 。在10s 学习时间内,先学习A 键,再学B 键,两个键学习完毕后,自动退出学习,并给出学习成功指示,绿色指示灯闪烁2s 。其流程图如下图3.5。

图3.5 遥控键值学习子程序流程图

4 系统调试

4.1硬件调试

单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常是先排除系统中明显的硬件故障后才与软件结合起来调试。

目测检查:根据电路原理图仔细检查电路板焊接线路是否正确,并核对元器件型号、规格检查安装是否符合要求,集成块是否插反以及其对应引脚所接线路是否连接正确。

通电检测:在确保电源良好的前提下,接通电源。若刚通电就发生异常现象如发生短路或断路或电流过大造成电容爆炸或起火现象,应立即切断电源,重新检查电路。同时还可以通过手摸、鼻闻、眼观检查电路是否有异常情况。

4.2软件调试

目标程序纠错:将编好的程序通过编译软件在电脑上对其进行指令纠错,包括书写格式、标号未定义、转移地址溢出等错误。

子程序功能调试:程序设计通常采用模块设计,因此调试时可对一个个子程序分别进行调试,设置好入口条件,采用单步运行方式,检查程序执行结果是否符合要求。

整体程序综合调试:各子程序模块调试通过后,就可进行整体程序综合调试。在这阶段若发生故障,考虑可能各子程序在运行时是否现场被破坏了,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。

5 结束语

本篇设计详细介绍了基于单片机的红外遥控开关的工作原理、基本结构;分析了红外遥控技术的原理,清晰的总结出红外发射电路和接收电路的工作原理和技术要求。

其次,本设计在对现有红外遥控技术的大量文献调研的基础上,提出了运用先进的单片机系统制作学习型红外遥控开关,该系统能够学习并记忆家用普通遥控器的任意两个键值,无需再配专用的遥控器,充分利用资源,具有掉电保护功能,和传统开关尺寸相当,能替换掉传统开关,立即开关和延时关闭的人性化设计,都大大增加了本次设计的实用性,功能丰富,使用简单,方便生活。

通过实验表明,在有效距离(10m 以内)里我们成功的对发光二极管进行了开关控制和延时关闭控制,指示灯的显示状态随着受控开关的变化而正常显示。由于先前进行了严格的器件的挑选,整个红外遥控器系统的灵敏度、测量精度、稳定性都有不错的表现,达到了本次设计的要求。

但是,由于受红外线定向性和传输距离的限制,该系统只适用于短距离的遥控控制(10m 以内),而且操作时遥控要有一定的角度,如果中间有墙、门窗等障碍物时,红外线将无法穿透。

当然,由于时间和本人水平的制约,本设计可能还存在着某些Bug 或其他不足之处!希望各位专家、学者和同学们给予指正。

参考文献

[1]卢飞跃.红外遥控多路抢答器的设计[J].番禺职业技术学院学报,2003.

[2]张德凤,常爱东.一种新型学习型红外遥控开关的设计[J ].机械与电子,2009(27).

[3]韩太林.单片机原理及应用[M ].北京:电子工业出版社,2005.

[4]张毅刚.单片机原理及应用[M ].北京:高等教育出版社,2004.

[5]赵全利,肖兴达.单片机原理及应用教程[M ].北京:机械工业出版社,2012.

[6]承晓.基于STC12C54XX 的自学习遥控系统实现[J ].科技广场,2010(5).

[7]邱关源,罗先觉.电路第五版[M ].北京:高等教育出版社,2006.

[8]童诗白,华成英.模拟电子技术基础第四版[M ].北京:高等教育出版社,2006.

[9]谭浩强.C++程序设计[M ].北京:清华大学出版社,2004.

[10]田立,田清,代方震.51单片机C 程序设计[M ].北京:人民邮电出版社,2007.

[12] Allan R. Hambley. Elecctronics.2en ed. [M].Prentice Hall Inc.2000.

[13]Muhammad H.Rashid. Microelectronics Circuits: Analog and Design [M].科学出版社影音

版.2002.

[14]Thomas L.Floyd. Fundamentals of Circuits.2en ed. [M].Prentice Hall Inc.2002.

致 谢

在本次的毕业设计中,我得到了指导老师的悉心指导和热情帮助,从设计选题、方案选定、材料准备、程序调试到完成设计,在整个设计过程中老师在百忙中抽出时间不厌其烦地为我讲解遇到的问题,并慷慨提供单片机开发实验板帮助调试程序等等。在此,我向老师表示诚挚的敬意和衷心的感谢!

在本次设计中,我体会很多,收获很大,学到了很多书本上学不到的知识,了解并体验了单片机开发产品的完整过程,明白了设计的概念。通过自己的亲自动手,我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力,这在我以后的工作中都是非常有用的。

最后,向在本次设计中给予我帮助的各位老师和同学表示衷心的感谢,也向在百忙中抽出时间评阅本篇设计的老师表示感谢!

学习型红外遥控开关的设计与实现

学习型红外遥控开关的设计与实现

摘 要

针对开关的控制问题,本文介绍了一种可以由普通遥控器作为信号输入并基于单片机控制的学习型红外遥控开关。它以STC11F02E 单片机为设计核心,能够识别和记忆常用遥控器任一按键发出的红外信号编码,并通过将接收到的红外信号与单片机存储的数据比较,从而控制遥控开关的通断。与普通机械开关相比,该开关控制器具有体积小、可靠性高、性能优越、使用方便等特点,可广泛应用于工业、医疗、家用电器等领域的开关控制。

关键词: 红外遥控;单片机;软件解码;开关控制

Design and Implementation of Learning Type Infrared Remote

Control Switch

Abstract

In order to control switch, this paper introduces a by ordinary remote controller as the input signal and learning infrared remote control switch based on single chip microcomputer. It takes STC11F02E microcontroller as the core design, to the infrared signal code recognition and memory used for the remote control of specific keys issued, and by comparing the received infrared signal with single-chip computer storage data, so as to control the remote control switch. Compared with common mechanical switch, the switch controller has the advantages of small volume, high reliability, excellent performance, convenient use and other characteristics, the switch can be widely used in the field of industrial, medical, household appliances control.

Keywords : Infrared Remote Control; SCM; Software Decoder; On-Off Control

目 录

摘 要 ..................................................................... I I Abstract .................................................................. I II

前 言 ...................................................................... 1

1 设计方案 .................................................................. 2

1.1 设计任务 .............................................................. 2

1.1.1 研究内容 .......................................................... 2

1.1.2 功能简介 .......................................................... 2

1.1.3 其他任务 .......................................................... 2

1.2方案选择 ............................................................... 3

1.2.1 总体方案 .......................................................... 3

1.2.2 单片机选择 ........................................................ 3

1.2.3 红外接收头选择 .................................................... 5

1.2.4 红外接收原理 ...................................................... 5

2 硬件设计 .................................................................. 6

2.1 电源电路设计 .......................................................... 6

2.2 红外接收解码电路 ...................................................... 6

2.3 继电器电路 ............................................................ 7

3 软件设计 .................................................................. 8

3.1 主程序 ................................................................ 8

3.2 按键扫描子程序 ........................................................ 8

3.3 红外接收子程序 ....................................................... 10

3.4 遥控键值学习子程序 ................................................... 11

4 系统调试 ................................................................. 12

4.1硬件调试 .............................................................. 12

4.2软件调试 .............................................................. 12

5 结束语 ................................................................... 13

参考文献 ................................................................... 14

致 谢 ..................................................................... 15

前 言

随着人们生活水平的提高,人们对生活质量的要求也在不断地提高。遥控技术也越来越受人们的欢迎,其中红外遥控是目前使用最广泛的一种通信和遥控手段[1]。

目前,人们普遍使用的开关大多是手动造作控制,十分不便,为此很多人设计了延时开关、声控开关、光控开关,此类开关仍存在许多问题,例如需近距离手动操作、受环境影响大[2]。后来有人发明了红外遥控开关,但需要配置专门的遥控器,不具有通用性,或者通用性太广,不能识别区分不同遥控器,容易与其它电器遥控器的红外信号混杂在一起,引起误操作。

为解决以上问题,使红外遥控开关更好地应用到生活中,本文将介绍一种基于单片机的学习型红外遥控开关,它能够学习和记忆普通遥控器的任一按键发出的红外信号编码,并做出相应操作。它可以方便达到让你用电视机等普通遥控器操纵开关的目的,解决了黑暗中摸索墙壁开关的麻烦和房间重新布置时由于开关位置固定所带来的麻烦,又提高了遥控器在家电领域的实用价值。

1 设计方案

1.1 设计任务

本设计的总体目标是设计开发出可以由普通遥控器作为信号输入并基于单片机设计的学习型红外遥控开关,并能在各场合中得到很好应用。

1.1.1 研究内容

本设计是以解决日常工作生活中的不便之处为目的,针对常见的普通开关的控制问题,研究了一种可以由普通遥控器作为信号输入并基于STC11F02E 单片机设计的学习型红外遥控开关。

1.1.2 功能简介

本设计主要实现的功能为:

1. 学习功能,可以学习并记忆两个普通家用遥控器的按键,分别记为A 键和B 键,

将学习到的键值保存在单片机的E 2PROM 中,以达到掉电保护的功能,在学习时

用户可根据习惯采用两种学习方式,若长按独立按键2S 后立即松开按键,开启学

习功能,进入方式1,学习时间10S ,在10S 内可以顺序学习A 键和B 键,也可

只学习A 键并再短按一下独立按键进行确认,学习完毕自动退出学习,若长按独

立按键2S 后没有立即松开按键且长按时间超过5S ,进入学习方式2,可以顺序学

习A 键和B 键,也可只学习A 键,按键释放时退出学习,学习按键期间红绿指示

灯间歇闪烁,退出学习时,若学习成功指示灯绿灯闪烁2S ,若学习失败指示灯红

灯闪烁2S ;

2. 通过遥控实现远距离开关操作,A 键实现开关的立即开和立即关,B 键实现开关的

延迟10S 关闭,延迟10S 关闭解决了夜晚关灯后黑暗中摸索的问题;

3. 通过独立按键实现手动开关操作,短按和A 键功能相同,实现开关的立即开和立

即关,双击和B 键功能相同,实现开关的延迟10S 关闭,长按开启遥控键值学习

功能,一键多功能的设计充分体现开关的智能化而又节约资源;

4. 指示灯显示系统相应的工作状态,开关闭合时绿灯亮,开关断开时红灯亮,学习

按键期间红绿指示灯一直间歇闪烁,学习完毕后,学习成功灯闪烁,学习失败红

灯闪烁。

1.1.3 其他任务

通过设计也加深对单片机理论知识和C 语言编程的理解与应用,了解设计开发的流程,提高动手实践能力。

1.2方案选择

1.2.1 总体方案

本设计采用红外一体化接受头接受普通遥控器发射的信号,继电器实现具体的开关操作,微动开关作为独立按键,红、绿发光二极管作为状态指示灯,单片机作为控制核心,将接受到的遥控信号或按键操作进行解码、保存、比对等处理,控制继电器做出相应的操作,指示灯显示相应状态。系统框图如下图1.1。

图1.1 系统框图 1.2.2 单片机选择

单片机的主要性能指标有[3,4,5]:字长、主频、指令执行时间、电源功耗等。选择单片机不仅要考虑其主要的性能指标,更要考虑单片机的中断能力、接口、片内存储器大小、抗干扰能力等。本次设计所选的单片机为STC11F02E ,它与AT89C51单片机完全兼容,仅比AT89C51减少了两组I/O口。

AT89C51和STC11F02E 的引脚结构图分别如图1.2和图1.3。

图1.2 AT89C51 单片机引脚图 图1.3 STC11F02E 单片机引脚图

40只引脚按功能来分,可以分为如下几类:

1)电源及时钟引脚:Vcc 、Vss 、XTAL1、XTAL2。

2)控制引脚:/PSEN、ALE 、/EA、RESET(即RST

3)I/O口引脚:P0、P1、P2、P3,为4个8位I/O的外部引脚。

AT89C51单片机的硬件结构:

1) 微处理器(CPU ):一个8位的CPU ,与通常的CPU 基本相同,同样还包括了运算器和控制器两部分,只是增加了面向控制的出路功能,不仅可以处理字节数据还可以进行变量的处理。

2)数据存储器(RAM ):片内为128B ,片外最多可以外扩64KB 。片内的128B 的RAM 以告诉RAM 形式集成在单片机内。可以加快但单片机的运行速度,而且这种结果的RAM 可以降低功耗。

3)程序存储器(ROM/EPROM):用来存储程序,8031没有此部件,8051为4KB 的ROM ;8751为4KB 的EPROM 。片外最多可以扩至64KB 。

4)4个8位并行I/O口(P0、P1、P2、P3)

5)1个串行口:1个全双工的串行口,具有4种工作方式。可以用来进行串行通信,扩展并行I/O口,甚至与多个单片机相连接构成多机系统,从而使单片机的功能更加强且应用更广。

6)2个16位定时器/计数器。

7) 中断系统:具有5个中断源,2级中断优先权。

8) 特殊功能寄存器(SFR ):共有21个、用于CPU 对片内各功能部件进行管理、控制、监视。是一些控制器和状态寄存器,具有特殊功能的RAM 区。

AT89C51是一种低功耗、高性能、内含4KB 闪速存储器(Flash Memory)的8位CMOS 控制器。这种器件系以ATMEL 高密度不挥发存储技术制造,与工业标准MCS ——51指令系统和引脚完全兼容。片内闪速存储器的程序代码或数据可以在线写入, 亦可通过常规的编程器编程。例如MP ——100这样的经济型编程器,它支持EPROM 等各种存储器、PAL (可编程阵列逻辑)、GAL (通用阵列逻辑)以及Intel ,ATMEL 和Philips 等公司全系列51单片机的编程。ME5103和ME5105仿真器支持AT89系列所有器件的调试、仿真和编程。

AT89C51芯片内部具有下列硬件资源:4KB 闪速存储器、128个字节RAM 、32条I/O线,两个16位定时/计数器、五源两级终端结构、全双工串行口、片内振荡器及时钟电路等。

STC11F02E 与AT89C51完全兼容,在具有以上优点的基础上还进行扩展,STC11F02E 单片机内部还带有E 2PROM ,仅有20个引脚,占用体积小。本设计中对于单片机仅需5个I/O口,而且要求单片机体积小,采用小型单片机是最佳的选择。因此,正是由于STC11F02E 具有以上优点,我选择了STC11F02E 作为本系统的单片机选型。

1.2.3 红外接收头选择

本设计中采用1383一体化红外接收头,如图1.4。其内部电路包括红外监测二极管,放大器,限幅器,带通滤波器,积分电路,比较器等。红外监测二极管监测到红外信号,然后把信号送到放大器和限幅器,限幅器把脉冲幅度控制在一定的水平,而不论红外发射器和接收器的距离远近。交流信号进入带通滤波器,带通滤波器可以通过30khz 到60khz 的负载波,通过解调电路和积分电路进入比较器,比较器输出 高低电平,还原出发射端的信号波形。注意输出的高低电平和发射端是反相的,这样的目的是为了提高接收的灵敏度[6]。

图1.4 1383一体化红外接收头

1.2.4 红外接收原理

一般普通家用电器的遥控采用NEC 协议发送,该协议下发送的一帧数据中含有32位码,包含8位用户码和8位用户码的反码,8位数据码和8位数据码的反码及最后一位的同步位。引导码由4.5ms 的载波和4.5ms 的载波关断波形所构成,以作为用户码、数据码以及他们的反码的先导。同步位(SY )是标志最后一位编码是“0”或“1”的标识位,它只有0.56ms 的有载波信号构成。其发射码的格式如图1.5示。

图1.5 NEC协议发射码格式

该协议的发送载波频率为38KHz ,其数据中的逻辑“0”和“1”靠脉冲时间的不同来区分,逻辑“0”的脉冲时间为1.125ms ,逻辑“1”的脉冲时间为2.25ms ,波形图如图1.6示。

图1.6 逻辑“0”和逻辑“1”的波形图

2 硬件设计

本设计中的硬件电路主要包括电源电路、红外接收解码电路,继电器电路三部分。

2.1 电源电路设计

本设计电源部分的电路图如下图2.1示。

图2.1 电源部分的电路图

电源由220V 市电供电,经过阻容变压、滤波整流、稳压得到+5V的稳定直流电压给单片机、红外接收头、指示灯供电[7,8]。其中D6为+12V稳压二极管,得到+12V稳定直流电压给继电器供电。

2.2 红外接收解码电路

本设计红外接收解码电路如下图2.2示。

图2.2 红外接收解码电路

图中P1为红外接收头,接外部中断P3.2口,独立按键接P3.3口,指示灯接P3.5

口。

当红外接收头接收到遥控信号后,触发中断,引起系统响应。

2.3 继电器电路

继电器部分的电路图如下图2.3示。

图2.3 继电器部分的电路图

NPN 型三极管8050的集电极接继电器和二极管,再接+12V直流电压,基极接单片机的P1.0口,发射极接地[8]。当单片机给P1.0口置“1”时,即基极有高电平时,三极管基极与发射极导通,继电器吸合;反之,当单片机给P1.0口置“0”时,即基极有低电平时,三极管基极与发射极截止,继电器松开,继电器线圈经二极管D5放电。这样,就实现了单片机对继电器的控制。

3 软件设计

本系统的软件设计部分主要包括主程序、按键扫描子程序、红外接收子程序、遥控键值学习子程序。

3.1 主程序

本设计中主程序主要进行系统的初始化和对子程序的调用。主程序首先对整个系统进行初始化,初始化包括定时器工作方式的设置、定时器初值的设置、外部中断工作方式、开中断标志、相关标志位的设置、数据存储的清零、相关变量定义等;初始化完毕以后,主程序就进入一直对独立按键操作子程序和红外操作子程序调用的大循环中,以保证整个系统在持续运行[9,10]。其流程图如下图3.1示。

图3.1 主程序流程图

3.2 按键扫描子程序

键盘扫描子程序主要用来识别独立按键的状态,即无操作、短按、长按、双击,返回相应的键值。

按键操作定义: 当按键按下,按下时间小于1s 时,此次操作定义为短按;当按键按下时间大于2s 时,此次操作定义为长按;当两次短按的时间间隔小于0.5s 时,两次短按定义为一次双击。

按键扫描子程序由底层扫描子程序和中层扫描子程序组成,底层子程序识别出短按键和长按键,再被中层子程序调用,进一步识别出双击、短按键和长按键。其程序流程图分别如下图3.2和图3.3。

图3.3 中层按键扫描子程序

在底层子程序中,主要识别出长按键和短按键。首先按键程序进入初始状态,在这个状态下,检测按键是否按下,如果有按下,则进入按键消抖状态,在下一次执行按键程序时候,直接由按键消抖状态进入按键按下状态,在此状态下检测按键是否按下,如果没有按键按下,则返回初始状态,如果有则可以返回键值,同时进入长按状态,在长按状态下每次进入按键程序时候对按键时间计数,当计数值超过设定阈值时候,则表明长按事件发生。中层子程序主要识别出双击,调用底层子程序后,若是长按键,就直接返回长按键值,若是短按键,判断是否为第一次短按,若为第一次短按,就进入双击判断状态,若是第二次短按,就返回双击键值,否则进行计时,在0.5S 内没有键再被按下,就返回短按键值[10]。

3.3 红外接收子程序

红外接收子程序为外部中断0的服务函数。红外接收头连接外部中断0,当红外接收头接收到红外信号时,触发中断,CPU 响应中断,先根据由定时器0提供的计时标志判断是否为引导码,若为引导码,就接收数据,将每个码元的时间长度保存,否则,退出程序。接收数据完毕后,根据码元的时间长度判断出是逻辑“1”还是逻辑“0”,并将数据保存,并置接收完毕标志位。其流程图如下图3.4。

图3.4 红外接收子程序流程图

3.4 遥控键值学习子程序

遥控键值学习子程序由长按键调用,进入遥控学习后,指示灯红绿间歇闪烁给出学习指示,并开启10s 学习时间计时,若10s 内没有完成学习,退出学习,给出学习失败指示,红色指示灯闪烁2s 。在10s 学习时间内,先学习A 键,再学B 键,两个键学习完毕后,自动退出学习,并给出学习成功指示,绿色指示灯闪烁2s 。其流程图如下图3.5。

图3.5 遥控键值学习子程序流程图

4 系统调试

4.1硬件调试

单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常是先排除系统中明显的硬件故障后才与软件结合起来调试。

目测检查:根据电路原理图仔细检查电路板焊接线路是否正确,并核对元器件型号、规格检查安装是否符合要求,集成块是否插反以及其对应引脚所接线路是否连接正确。

通电检测:在确保电源良好的前提下,接通电源。若刚通电就发生异常现象如发生短路或断路或电流过大造成电容爆炸或起火现象,应立即切断电源,重新检查电路。同时还可以通过手摸、鼻闻、眼观检查电路是否有异常情况。

4.2软件调试

目标程序纠错:将编好的程序通过编译软件在电脑上对其进行指令纠错,包括书写格式、标号未定义、转移地址溢出等错误。

子程序功能调试:程序设计通常采用模块设计,因此调试时可对一个个子程序分别进行调试,设置好入口条件,采用单步运行方式,检查程序执行结果是否符合要求。

整体程序综合调试:各子程序模块调试通过后,就可进行整体程序综合调试。在这阶段若发生故障,考虑可能各子程序在运行时是否现场被破坏了,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。

5 结束语

本篇设计详细介绍了基于单片机的红外遥控开关的工作原理、基本结构;分析了红外遥控技术的原理,清晰的总结出红外发射电路和接收电路的工作原理和技术要求。

其次,本设计在对现有红外遥控技术的大量文献调研的基础上,提出了运用先进的单片机系统制作学习型红外遥控开关,该系统能够学习并记忆家用普通遥控器的任意两个键值,无需再配专用的遥控器,充分利用资源,具有掉电保护功能,和传统开关尺寸相当,能替换掉传统开关,立即开关和延时关闭的人性化设计,都大大增加了本次设计的实用性,功能丰富,使用简单,方便生活。

通过实验表明,在有效距离(10m 以内)里我们成功的对发光二极管进行了开关控制和延时关闭控制,指示灯的显示状态随着受控开关的变化而正常显示。由于先前进行了严格的器件的挑选,整个红外遥控器系统的灵敏度、测量精度、稳定性都有不错的表现,达到了本次设计的要求。

但是,由于受红外线定向性和传输距离的限制,该系统只适用于短距离的遥控控制(10m 以内),而且操作时遥控要有一定的角度,如果中间有墙、门窗等障碍物时,红外线将无法穿透。

当然,由于时间和本人水平的制约,本设计可能还存在着某些Bug 或其他不足之处!希望各位专家、学者和同学们给予指正。

参考文献

[1]卢飞跃.红外遥控多路抢答器的设计[J].番禺职业技术学院学报,2003.

[2]张德凤,常爱东.一种新型学习型红外遥控开关的设计[J ].机械与电子,2009(27).

[3]韩太林.单片机原理及应用[M ].北京:电子工业出版社,2005.

[4]张毅刚.单片机原理及应用[M ].北京:高等教育出版社,2004.

[5]赵全利,肖兴达.单片机原理及应用教程[M ].北京:机械工业出版社,2012.

[6]承晓.基于STC12C54XX 的自学习遥控系统实现[J ].科技广场,2010(5).

[7]邱关源,罗先觉.电路第五版[M ].北京:高等教育出版社,2006.

[8]童诗白,华成英.模拟电子技术基础第四版[M ].北京:高等教育出版社,2006.

[9]谭浩强.C++程序设计[M ].北京:清华大学出版社,2004.

[10]田立,田清,代方震.51单片机C 程序设计[M ].北京:人民邮电出版社,2007.

[12] Allan R. Hambley. Elecctronics.2en ed. [M].Prentice Hall Inc.2000.

[13]Muhammad H.Rashid. Microelectronics Circuits: Analog and Design [M].科学出版社影音

版.2002.

[14]Thomas L.Floyd. Fundamentals of Circuits.2en ed. [M].Prentice Hall Inc.2002.

致 谢

在本次的毕业设计中,我得到了指导老师的悉心指导和热情帮助,从设计选题、方案选定、材料准备、程序调试到完成设计,在整个设计过程中老师在百忙中抽出时间不厌其烦地为我讲解遇到的问题,并慷慨提供单片机开发实验板帮助调试程序等等。在此,我向老师表示诚挚的敬意和衷心的感谢!

在本次设计中,我体会很多,收获很大,学到了很多书本上学不到的知识,了解并体验了单片机开发产品的完整过程,明白了设计的概念。通过自己的亲自动手,我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力,这在我以后的工作中都是非常有用的。

最后,向在本次设计中给予我帮助的各位老师和同学表示衷心的感谢,也向在百忙中抽出时间评阅本篇设计的老师表示感谢!


相关文章

  • 电子系统课程设计结课报告-----红外遥控开关
  • 电子电路课程设计 实验报告 红外遥控开关 小组成员: 自动化0801 郝嘉然 08212005 自动化0801 侯晓鹏 08212006 自动化0801 胡 泊 08212007 自动化0801 宋晓美 08212012 指导教师: 李维敏 ...查看


  • 红外遥控开关课程设计报告
  • 河南科技学院机电学院 电子课程设计报告 题目:红外遥控开关的设计 专业班级:应用电子技术教育091 姓 名: XX 时 间:指导教师: 张 伟 邵 锋 徐涛 完成日期:2011年12月 23 日 红外遥控开关的设计任务书 1.设计目的与要求 ...查看


  • 单片机控制红外遥控电子锁系统
  • 安徽职业技术学院 毕 业 论 文 单片机控制红外遥控电子锁的 系统设计 系 别 班 级 姓 名 学 号 指导教师 2011 - 2012 学年第 1学期 摘要 针对传统机械锁的各种缺点和重要部门安全性的要求,提出一种基于红外遥控的密码锁设计 ...查看


  • 红外遥控开关的设计
  • 目 录 中文摘要 . ............................................................................................................. ...查看


  • 电视机遥控电路的功能分析与实现
  • 课程设计说明书 第 I 页 彩色电视机遥控电路组成及控制功能分析 摘 要 M50436-560 SP 微机系统是当今国际上较先进的电压合成式选台系统之一, 是日本三菱电机公司80年代开发的专用大规模集成电路芯片.国内新颖21英寸彩电的遥控电 ...查看


  • 自动窗帘控制系统设计
  • 自动窗帘控制系统设计 孙 勇1,杨文月2,赵宇新1 (1.吉林市供电公司调度通信所,吉林吉林132001:2.东北电力大学信息工程学院,吉林吉林132012) 摘 要:介绍了一款多功能窗帘控制系统.该系统采用AT89S52单片机的最小系统设 ...查看


  • 家居智能化设计方案
  • 智能家居设计方案(某某小区) 一.项目分析 本项目全部由高层住宅组成,为保证小区的安全以及实现住户智能家居的要求,对各种可以进出小区及单元楼的通道和住户户内均应该设置一定的设备进行管理.根据某某小区的项目要求及具体情况,从小区定位.住户安全 ...查看


  • 基于单片机的智能小车的设计与制作
  • ・380・计算机测量与控制.2009.17(2) ComputerMeasurement&Control 设计与应用 文章编号:1671-4598(2009)02-0380-03 中图分类号:TP33 文献标识码:B 基于单片机的智 ...查看


  • 电子信息工程毕业设计题目大全
  • 1 压力容器液位测量 2 多功能遥控小车 3基于RS232的仓库多点温度.湿度.气 4压检测系统 5自动控制升降旗系统 6基于RS485的温度报警系统 7基于模糊算法的水温控制系统的设计 8多分机电话交换机 9简易火灾自动报警系统 10基于 ...查看


热门内容