基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx

上传人:b****1 文档编号:20152890 上传时间:2023-04-25 格式:DOCX 页数:49 大小:300.76KB
下载 相关 举报
基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx_第1页
第1页 / 共49页
基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx_第2页
第2页 / 共49页
基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx_第3页
第3页 / 共49页
基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx_第4页
第4页 / 共49页
基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx

《基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx(49页珍藏版)》请在冰豆网上搜索。

基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文.docx

基于单片机的红外遥控窗帘设计含c语言源程序大学毕设论文

摘要

随着电子技术和自动化技术的发展,人们对生活质量的要求越来越高。

家用电器产品也在不断的更新换代。

从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。

此次要设计的就是红外遥控窗帘。

它是采用89C2051单片机的最小系统设计,控制一个220V的可逆、直流电动机控制窗帘的拉开和关闭。

红外遥控的重点就在红外发送和接收及编码与解码问题。

所以讨论的重点也就是这些个方面。

当今专用的红外发送和接收器件非常多,编码与解码的方法也很多,所以要根据实际的情况来选取合适的发送、接收器件和编码、解码方法。

除此之外,还要了解单片机的接口技术的应用和单片机的抗干扰方法。

接口方面主要介绍单片机的串口。

抗干扰技术有:

指令冗余、拦截技术、软件陷阱的设计、软件“看门狗”技术等。

关键词:

遥控,红外线,编码,抗干扰,智能,串行口

 

ABSTEACT

Withthedevelopmentofelectronictechnologyandautomatictechnology,peoplehavemoreandmorehighexpectationsforlifequality.Thehomeelectricequipmentproductsareinconstantupdatetoo.Fromthetransistorofthebeginningofbeginning,totheelectrontube;Imitatedittothefigure;Fromthediscretecomponenttotheintegratedcircuit;Fromordinarytohighperformance,multi-functionaltype;Bymanualtocontroltoinfraredrayremotecontrol,tointelligenttodevelop.Thisonethatdesignedlessimportantisaninfraredremotecontrolcurtain.Itadoptminimumsystem,89C2051ofMCUdesign,controlone220Vreversiblechangingspeedthemotorcontroltodrawbackandshutoffthecurtain.[27]

Infraredfocalpointofremotecontrolininfraredtosendwithreceivingandcodeanddecodetheissue.Sofocalpointthatdiscussthe.Aspecial-purposeoneinfraredtosendandreceivedeviceverymore,codeandmethodthatdecodetooalotofnowadays,sowillchoosesuitablesending,receivingthedevice,code,decodingmethodaccordingtotherealsituation.Inaddition,shouldunderstandtheapplicationoftheinterfacetechnologyoftheone-chipcomputerandone-chipcomputeranti-interferencemethod.Interfacerespectintroducesoneclusterofmouthsoftheone-chipcomputermainly.Anti-interferencetechnologyisasfollows,orderredundancy,interceptiontechnology,design,software,softwareoftrap“guardthegatedog"technology,etc.

Keywords:

Remotecontrol,Infraredray,Code,Anti-interference,Intelligence,Serialmouth

1绪论

当今,计算机技术带来了科研和生产的许多重大飞跃,微型计算机的应用已渗透到生产、生活的各个方面。

其中单片机问世不久,然而体积小、廉价、功能强,其销售额每年近80%的速度增长。

它的性能不断提高,适用范围越来越宽,在计算机应用领域已占有日益重要的地位[1]。

近几年来,随着科学技术的发展和人民生活水平的日益提高,城市建设步伐的加快,一栋栋居民楼、写字楼、宾馆拔地而起。

进入寻常百姓的家用电器品种与数量愈来愈多,这些家用电器有的能减轻人们的家务、有的能丰富人们的文娱生活,有的则能提高人们的生活质量……

为了进一步满足人们高水准生活的需要,家用电器产品性能也在不断的更新挽代,从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。

与此同时,窗帘作为装修业不可缺少的一部分,也日益火爆起来,目前,常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一部分高收入的家庭采用是电动遥控轨道。

但价格相当昂贵,不能普及。

所以设计的目标就是实现功能全、造价省。

能够进入大众生活。

一款使用微电脑管理的、红外遥控器控制的多功能窗帘,控制器符合当今的发展趋势。

该窗帘控制器采用89C2051单片机的最小系统设计,控制一个220V的可逆、直流电动机控制窗帘的拉开和关闭。

窗帘控制器可以使用红外遥控器进行远程手动开、手动关和手动停控制;可以执行事先输入的开启时间和关闭时间进行时间控制;还可以根据室外环境亮度实现环境亮度光控。

三种工作方式可以方便地进行选择,当选择时间控制的方案时,数码管还能显示当时小时和分钟时间,不过时间数据只能顺序显示,显示一遍后,略等片刻再显示下一遍时间。

另外、电机拉动窗帘的工作的时间长度,电机工作的时候是否有鸣响提示,以及光控状态下环境亮度的控制参数的调整等等都可以通过遥控器进行设置[16]。

 

2概述

随着电子科学技术的发展,遥控技术在高科技研究、工农业生产、通讯技术、军事技术、家用电器等诸多领域得到了广泛地应用,特别是随着各类遥控专用集成电路的不断问世,使得各类遥控设备的性能也更加优越可靠,功能更加完善[3]。

遥控种类繁多,有声控、无线电控制、红外线控制等。

其中还包含着各种不同类型的控制。

我在本次设计中主要研究的是利用单片机的智能红外线遥控电路的设计。

2.1选题背景

随着科学的发展,社会的进步,人民生活水平的提高,工作压力也越来越大,人人都希望回到家或是在办公室都有一个舒适的环境。

能得到很好的休息,这就使得自动化技术快速发展。

当今,遥控已经很普遍。

但不是说就没有他的研究价值,为了进一步满足人们高水准生活的需要,家用电器产品性能也在不断的更新挽代,从始初的晶体管、到电子管;由模拟到数字;由分立元件到集成电路;从普通向高性能、多功能型;由手动控制向红外线遥控、向智能化发展。

红外线遥控是目前应用最广泛的一种通信和遥控手段。

由于红外线遥控器具有体积小、功耗低、功能强、成本低等特点。

因此,彩电、录像机、音响设备、空调、玩具、门铃以及遥控汽车路牌等其它小型装置上也纷纷采用红外线遥控。

与此同时,窗帘作为装修业不可缺少的一部分,也日益火爆起来,目前,常用的窗帘轨道都是钢丝绳手拉式或滑轮式,只有一部分高收入的家庭采用是电动遥控轨道。

但价格相当昂贵,不能普及。

所以,现在的重点是如何研制出功能全、造价省的家用自动控制装置[13]。

同时,单片机也有它突出的优点。

从1974年开始,单片机就以它的体积小、质量轻、耗电省、可靠性高、价格低等特点,开始不断发展,并广泛应用于仪器仪表、家电电器、医用设备、航天航空、专用设备的智能化管理及过程控制等领域。

单片机的发展经历了四个阶段。

可预见单片机的发展趋势将是向大容量、高性能话、外围电路内装化等方面发展,也就是对CPU、存储器、片内I/O的改进,低功耗,特别是系统的单片机是目前单片机发展的重要趋势。

而从目前国内对单片机的需求来看:

在未来几年里,8位、16位单片机将是单片机的发展主流,它的新发展表现在:

(1)CPU功能的增加

(2)内部资源的增多(3)引脚的多功能化(4)低电压、低功耗。

正因为单片机有着如此多的优点,单片机在工业控制中和家用电器等上的应用中独占鳌头,故又称为微控制器(Microcontroller)

(1)因为它具有“小、轻、廉、省”的特点,尤其耗电少,又可使供电电源的体积小、重量轻,所以特别适用于“电脑型产品”,在家电、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等许多产品上得到应用。

(2)适用于仪器仪表,不仅能完成测量,还具有处理、监控等功能,易于实现数字化和智能化。

(3)广泛应用于打印机、绘图仪等许多计算机外围设备,特别是用于智能终端,可大大减轻主机负担。

(4)用于各种工业控制,如温度控制、液面控制、生产线顺序控制等[2]。

上述的归纳还不够完整,但已知单片机的应用已渗透到国民经济的各个领域,极大地推动了计算机技术的普及,而且可以预见,随着单片机性能的进一步提高,它的应用将更趋广泛。

它对我国许多产品的升级换代、工厂企业的设备更新都将起着十分巨大的作用。

所以利用单片机可以实现较多的功能的前提下降低设计、生产成本。

2.2设计思路

2.1.1主要任务

课题名称是“红外通讯遥控电路”,课题设计的主要任务就是实现红外信号的发射和接收。

保证发射出的信号要有足够的强度,在传播过程中要能有防止其他无线电信号的干扰能力。

同时接收机要能够在足够远的距离上接收到准确的控制信号,起到控制电路工作的作用。

2.1.2工作原理

和用电磁波用作无线电遥控的信号传播媒介一样,在红外遥控电路中用红外线作为红外线遥控的信号传播媒介。

借助于红外线具有直线传播的特性,利用专用的红外传感器具有灵敏度高,响应快和光谱范围窄的性能,制成灵敏度高,抗干扰性能良好的红外遥控装置。

利用单片机控制的红外遥控电路,它是利用单片机的异步通讯口,用红外发射口和红外接收来实现发射和接收点信号功能。

2.1.3设计方案

单通道遥控开关电路的红外线发射控制电路是利用脉冲发生器产生的高频脉冲方波驱动红外发光管,使其发射出一系列等幅的红外方波脉冲。

方波的占空比用1:

1或1比几。

其目的是在一定的电源电压下,达到尽可能高的脉冲峰值,提高发射机的效率,以增大控制距离,而且节省电源。

例如:

一个峰值电流为3A的脉冲,占空比为1:

3,它的平均消耗电流只有1A。

这对于使用干电池作电源的发射机是很有实用价值的。

在接收机方面,由光电二极管或光电三极管将接收到的红外脉冲信号转换成微弱的脉冲电信号,由电压放大级将这个微弱的信号加以放大,使其能够可靠地出发双稳态电路的翻转,有的电路还加以限幅放大,以削去干扰尖脉冲。

最后将双稳态电路输出的控制信号进行功率放大并驱动继电器,达到控制开关的目的。

其结构如图2.1

图2.1红外遥控的基本原理

由于一般的遥控电路,其控制距离都不超过10米。

这不仅是由于发射机的发射功率一般都小的原因,而更重要的是因为红外线具有可见光的散射特性,在经过一段距离后它的发射面积增大,使控制信号的能量分散,单位面积上的能量强度减弱,因而失去控制功能。

如果在增大发射机发射功率的同时,又将发射光或接收光聚焦,则控制距离可大大增加。

本次设计的要求是控制距离为40-50米,所以,一般的遥控电路不能满足要求。

所以就要求我们能设计出能适用于中远距离遥控的电路。

 

3红外遥控电路原理及编码解码

3.1电路原理

3.1.1基本电路原理

通常红外遥控系统由发射和接收两部分组成,应用编/解码电路专用集成电路芯片来进行控制操作,如图3.1所示,发射部分包括键盘矩阵、编码调制、红外发送器。

接收部分包括光电转换放大器、解调、解码电路。

红外发送每次编码的发送是一个键值,即一个十六进制的数据。

为了达到一次能发送一组数据(如车次号,通常为三位十进制数),我们可以采用89C2051的软件编码/解码的方法,先一次性输入一组车号,按下发送键后,全部发送出;同时在接收时,用连续接收方法,一次性解码所有数据[6]。

图3.1控制系框图

3.1.2 遥控发射器及其编码

  现在专用的发射与接收器件越来越多,在这就不做过多的介绍。

下面介绍一款用AT89C2051单片机来实现的遥控装置。

工作原理:

图3.2为红外线发射电路原理图,K0至K7为遥控按钮,单片机P3.4端口控制红外线的发射。

T1作为发射时间控制器,T0作为红外线发射频率控制器。

当有按键按下时,控制软件启动定时器T0、T1,T0定时溢出,中断程序使P3.4端口状态反转一次,写入定时器的初值不同,在输出端口就可得到不同的发射频率。

T1定时溢出,中断程序关闭T0定时器,停止红外线发射。

程序见清单。

软件设计参数为:

T1定时时间为100ms,K0至K7按钮所对应的红外线发射频率分别为300、600、900、1200、1500、1800、2100、2400Hz[21]。

图3.2红外线发射电路原理图

程序清单见附录1。

下面介绍另外一种编码方法:

遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大类。

当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。

这种遥控码具有以下特征:

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图3.3所示。

图3.3波形图

上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。

然后再通过红外发射二极管产生红外线向空间发射,如图图3.4所示。

图3.4

图3.5发射波形图

UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。

该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。

UPD6121G最多额128种不同组合的编码。

遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为100ms。

一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图3.5为发射波形图。

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。

如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。

代码格式(以接收代码为准,接收代码与发射代码反向)

①位定义

       

②单发代码格式

    

③连发代码格式

注:

代码宽度算法:

16位地址码的最短宽度:

1.12×16=18ms16位地址码的最长宽度:

2.24ms×16=36ms

易知8位数据代码及其8位反代码的宽度和不变:

(1.12ms+2.24ms)×8=27ms

∴32位代码的宽度为(18ms+27ms)~(36ms+27ms)

1.解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。

如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。

2.2.根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码[6]。

3.2红外遥控解码原理

3.2.1红外接收电路

先介绍一款接收电路。

电路原理:

本电路见图3.6,主要由红外接收头和IC4069组成的红外控制开关电路。

红外接收头静态时输出高电平。

当收到遥控发射器送来的红外脉冲信号时,接收头的第脚输出低电平(脉冲信号)。

经ICa整形、放大、倒相而得到负脉冲信号,再由D5、C4、R3检波,延时送至ICb(达到反相器的阈值电压),致使ICb输出低电平,然后C4端电压经R3放电,使ICb输入端低于反相器的阈值电压,ICb输出端恢复高电平。

这样,每按动一次红外发射器,在IC6输出端就得到一个负脉冲信号,去触发由ICc和ICd组成的双稳态电路,促使双稳态电路翻转,输出H或L电平,通过R8控制单向可控硅的导通或截止

图3.6红外接收电路

3.2.2遥控编码脉冲的串并转换

红外遥控接收头解调出的编码是串行二进制码,包含着遥控器按键信息。

但它还不便于CPU读取识别,因此需要先对这些串行二进制码进行解码。

3.2.3基于EPROM的遥控解码原理

经过串并转换,我们得到了8位并行遥控码。

为了让CPU读取这个并行遥控码,通常的方法是在转换完成后产生一个中断,通知CPU来读取遥控信息。

但这样做要占用CPU一个外部中断资源并需编写额外的中断服务程序,显得比较烦琐。

尤其是当仪器系统的软件不是由自己开发而又要加装遥控时更是无能为力。

因此,我们想寻求一种不占用仪器CPU的软、硬件资源而实现遥控的方法,使键盘输入和遥控输入统一起来,占用同一个端口、同一个中断、同一个中断服务程序。

简言之,要做到对CPU是透明的,似乎只有一个键盘输入单元在工作,只须访问它来进行键盘扫描、键码读出操作。

但实际上却有遥控器与键盘两套键输入硬件在同时而独立地工作。

考察一下智能仪器的键盘扫描输入原理。

在这种方式下,CPU通过输出指令使键盘矩阵的行扫描线依次为“0”(低电平),同时监测键盘矩阵的列扫描线。

若无键按下,则列扫描线输出全“1”(高电平);若有键按下,则此键所在列线输出为“0”,再结合行扫描线此时的状态,就可具体定位按键。

我们设想,可否将遥控接收头输出的含有按键信息的8位遥控码通过某种转换,并入键盘矩阵电路,当遥控器有键按下时,就会在机上键盘对应键处产生一个“模拟”按键动作,产生一个键码可供CPU读取。

所谓“模拟”是指并没有机械按键动作,但对于键盘矩阵电路而言却产生一个低电平,效果和机械按键动作完全一样。

这样就将遥控键盘和本机键盘统一起来,二者的键数和键功能定义都一样,一个相同的键在遥控器上按下和在本机键盘上按下对CPU而言没有任何区别,只不过对键盘矩阵来说前者是软接触,后者是硬接触。

根据遥控器上按键与本机键盘按键的一一对应方案,我们可以导出实现“模拟”按键的逻辑真值表(其中C0~C4为列扫描线)。

这是一个12变量输入S变量输出的组合逻辑函数,最小项总数为16×20=320个。

若用普通逻辑门电路来实现这样的功能将是十分麻烦的,用PLD(可编程逻辑器件)来做就要简单得多。

EPROM就是一种与阵列固定、或阵列可编程的逻辑器件。

如果把EPROM的输入地址A0,A1,……AN视为输入逻辑变量,同时把输出数据D0,D1,……DM视为一组多输出逻辑变量,那么输出与输入之间也就是一组多输出的组合逻辑函数。

而且,EPROM地址译码器的输出包含了全部输入变量的最小项,每一位数据输出又都是这些最小项之和,因而任何形式的组合逻辑函数均能通过向EPROM中写入相应的数据来实现。

不难推想,具有N位输入地址和M位数据输出的EPROM可以获得一组(最多为M个)任何形式的N变量组合逻辑函数。

根据这个原理,选用4K×8EPROM2732,可以实现任意12变量输入、8变量输出的组合逻辑函数。

在本机遥控系统中,利用了EPROM的D0~D4五根数据线和全部12根地址线,通过向2732中固化上表所示的逻辑真值表,从而实现了关键的遥控解码,使遥控器上按键与本机键盘按键一一对应起来。

需要指出的是,EPROM的地址译码是全译码,而在本方案中占据地址线A0~A7的8位遥控码只有20种有效码值(20个键),即一页(2S6字节)中只有20个有效数据,则应将剩余空间填入0FFH。

由解码电路图3可见,EPROM2732的地址线A0-A7接至8位输出锁存移位寄存器74HCS9S的输出(即8位遥控码),A8~A11接至键盘矩阵的行扫描线R0~R3;2732的8根数据线使用了其中的S根D0~D4,接至键盘矩阵的列扫描线C0~C4,2732的(片选端)接地,(读信号)接至施密特与非门4093的3脚输出,此输出为双单稳74HC123的1Q、与非的结果。

当遥控器上没有按键按下时,EPROM2732的端为“1”,使得2732的数据线D0~D4为高阻态与键盘矩阵线脱离,而本机键盘的扫描与读出照常进行不受影响,若遥控器上有键按下时,经红外发射、接收对应的8位遥控码出现在74HC595的输出端,并作为EPROM2732的A0~A7输入,此时的行扫描码(CPU发出)作为A8~A11输入,2732的端为低电平,读出A0~A11指定单元的数据,将其中D0~D4放在键盘矩阵列线上。

D0~D4中只有一位为“0”,指示着哪一列有键按下,这样就由遥控接收、解码电路模拟了一次“按键”动作。

接下来CPU对这个“按键”动作的响应、处理就和本机键盘完全一样了。

3.2.4解码程序

红外一开始发送一段13.5ms的引导码,引导码由9ms的高电平和4.5ms的低电平组成,跟着引导码是系统码,系统反码,按键码,按键反码,如果按着键不放,则遥控器则发送一段重复码,重复码由9ms的高电平,2.25ms的低电平,跟着是一个短脉冲。

程序流程图下:

解码程序在比较器中断服务程序中实现。

第一个下降沿表明编码输出开始,这时将时间记录为last_time,当比较器输出跳为高电平时,记录当前时间为current_time,并且记录脉冲宽(current_time-last_time)判断收到的是宽脉冲还是窄脉冲,如果是宽脉冲记录为0,窄脉冲记录为1。

每一组有效的编码由24为组成,因此程序中需要有一个脉冲计数变量来记录是否有24位码,只有确认收到24位码后,才认为这次按键有效。

同时需要防止将用户的一次按键解释为多次按键,需要有去抖功能。

可以设一个变量来记录同一个键值收到的次数,当它的记录小于某一预定的值时,表示用户在进行同一操作。

完整的接收到一组编码后,在中断程序中将键值有效标志key_flag置1,主程序循环中如果查询到key_flag为1则保存这个键码,即完成一次解码操作。

 

4单片机介绍

4.1单片机简介与接口技术

4.1.1主要功能

MCS-51系列单片机是美国Intel公司在1980年推出的高性能8位单片微机,较原来的MCS-48系列结构更为先进,功能增强,它包括51和52两个子系列。

在51系列中,主要有8031

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1