ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:415.58KB ,
资源ID:24124476      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24124476.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于C51的红外线解码.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于C51的红外线解码.docx

1、基于C51的红外线解码课题:红外解码课程设计前 言传统的遥控器大多数采用了无线电遥控技术,但是随着科技的进步,红外线遥控技术的成熟,红外也成为了一种被广泛应用的通信和遥控手段。继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。所以采用单片机进行遥控系统的应用设计,遥控装置将同时具有编程灵活、控制范围广、体积小、功耗低、功能强、成本低、可靠性高等特点,因此采用单片机的红外遥控技术具有广阔的发展前景。本设计主要研究并设计一个基于单片机的红外接收系统,并

2、实现对电视遥控器的解码及编码值显示。控制系统主要是由51系列单片机、电源电路、红外遥控器发射、红外接收电路、数码管显示电路等部分组成,红外接收头接收到的编码信息通过单片机处理,单片机根据不同的遥控器按键信息进行处理并在数码管上相应的显示相应的按键值编码信息以加深对红外编码的理解。第1章 红外解码系统分析第1节设计要求整个控制系统的设计要求:被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间应小于1s;整个系统的抗干扰能力强,防止误操作;整个系统的安装、操作简单,维护方便;成本低。红外载波、编码电路设计要求:单片机定时器精确产生38KHz红外载波;根据控制系统要求能对红外控制指令信

3、号精确编码并迅速发送。红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出信号;对非红外光及边缘红外光抗干扰能力强。设备扩展模块设计要求:直流控制交流;抗干扰能力强;反应迅速不产生误动作;能承受大电流冲击。第2节 总体设计方案2.1 方案论证(一)单片机控制器模块方案一:采用目前比较通用的51系列单片机。此单片机的运算能力强,软件编程灵活,自由度大,市场上比较多见价格便宜且技术比较成熟容易实现。方案二:采用16 位单片机SPCE061A 作为控制核心。与51单片机相比,SPCE061A具有更加丰富的资源,有32个可编程的I/O口,14个中断源。但考虑

4、到本设计没有用到如此多资源且价格贵,市场比较少见,技术不稳定。综合分析考虑,选择方案一。(二)红外解码电路的比较方案一:采用单片机加专用解码芯片其优点是软件设计简单,但增加了外围电路的设计,使得单片机的I/O口的减少不利于多路开关电路的扩展。 方案二:采用单片机软件解码其外围电路简洁,空出的I/O口多,利于单片机扩展多路开关电路的设计,而编程就会复杂些。根据实际情况进行选择,采用方案二。2.2 总体设计框图 经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,数码管显示电路。整体设计思路为:根据扫描到不同的按键值转至相对应的R

5、OM表读取数据。确认设备及菜单选择键后89S512单片机从ROM读取出来的值,按照数据处理要求从P3.3输出控制脉冲与T0产生的38KHz的载波(周期是26.3s)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。图1-1 电路设计整体框图第3节 方案的可行性论证实用性:本系统具有实时性、灵活性、稳定性、以及多功能同时控制等优点,

6、方便用户对多个设备进行控制。经济可行性:对于有多个红外遥控家电的用户来说,可通过识别已存储在ROM中的信号,实现以现有的单一红外信号,同时对任意红外遥控家用电器进行控制,由于节约了实现控制功能的多个遥控硬件,从而减少了用户的投资。技术可行性:单片机对数据进行处理,采用一体红外接收头对红外信号放大、解码、信号输出显示。整个系统的设计要求抗干扰能力强,防止误动作;安装、操作简单,维护方便;总体成本低。总体设计经过综合分析论证采取最优方案。系统硬件由以下几部分组成:红外遥控器,单片机最小系统,集成红外接收头,共阳数码管。第2章 红外解码硬件电路设计第1节 单片机及其硬件电路设计1.1 单片机的介绍A

7、T89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32 位I/O 口线,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可

8、降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图2-1 AT89S52引脚图1.2 时钟电路及RC复位电路AT89S52芯片内部有一高增益反相放大器,用于构成振荡器反相放大器的输入端为XTAL1,输出端为XTAL2。在XTAL1、XTAL2(第19、18引脚)两端接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。晶振频率为11.0592MHz,C12、C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。其电

9、容的作用主要是对频率进行微调,一般取3045pF左右。使用该电路可产生稳定的11.0592MHz频率,受外界的环境的干扰影响非常小。其接法如图2-2所示:图2-2 晶振电路复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元执行程序。除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。复位操作有上电自动复位和按键手动复位两种方式。本设计采用了按键手动复位方式。该复位电路如图2-3所示。复位电路采用了按键与上电复位。上电与按键均可以有效复位。上电瞬间RST引脚获得高电平,单片机复位电路随着电容的C11的

10、充电,RST引脚的高电平逐渐下降。RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。按键复位是直接将高电平通过电阻R11、R10分压到达RESET引脚,实现复位操作。图2-3复位电路图 第2节 红外遥控器电路2.1 采用TC9012芯片编码的遥控器TC9012 是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMOS 工艺制造。它可外接32 个按键, 提供 8 种用户编码,另外还具有3 种双重按键功能。TC9012 的管脚设置和外围应用线路都进行了高度优化,以配合PCB 的布图和低成本的要求。 图2-4 TC9012引脚图低压CMOS 工艺制造,低功耗超

11、小静态电流,低工作电压,精简条指令码,8 种用户编码可选择,TSOP-20、SOP20、COB 可选的封装形式。应用范围:电视机、组合音响设备、录音卡座、VCD、DVD 播放机。2.2 红外发射电路将脉冲编码信号调制在载波振荡器产生的载波上(也称脉码调制),然后用这脉码调制信号去驱动红外发光二极管,以发出经过调制的红外光波,其红外遥控系统电路如图2-5所示。图2-5红外遥控系统电路框图通常,红外遥控器将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去。二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置

12、调制码)。前者以宽脉冲表示1,窄脉冲表示0。后者脉冲宽度一样,但是码位的宽度不一样,码位宽的代表1,码位窄的代表0。脉宽为0.56ms、间隔0.565ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.56ms、间隔1.69ms、周期为2.25ms的组合表示二进制的“1”。如图2-6示。本设计是以PPM码(脉冲位置调制码)对红外数据的发送进行论证。图2-6 指令脉冲图遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。引导码也叫起始码,由宽度为4.5ms的高电平和宽度为4.5ms的低电平组成(不同的红外家用设备在高低电平的宽度上有一定区别),用来标志遥控编码脉

13、冲信号的开始。如图2-7所示。图2-7 信号引导码图系统码也叫识别码,它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作功能码也叫指令码,它代表了相应的控制功能,接收机中的可根据功能码的数值完成各种功能操作。系统反码与功能反码分别是系统码与功能码的反码,反码的加入是为了能在接收端校对传输过程中数据是否产生差错。脉冲位置表示的“0”和“1”组成的32位二进制码,前16位控制指令,控制不同的红外遥控设备。而不同的红外家用电器又有不同的脉冲调控方式,后16位分别是8位的功能码和8位的功能反码。串行数据码时序图如2-8所示。图2-8 串行数据码时序图将要发送的指令脉冲编码信号调制在3

14、8KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。信号调制时序如2-9所示。图2-9 信号调制图TC9012作为红外遥控器控制核心,遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。以PPM码(脉冲位置调制码)对红外数据调制在38KHz的载波上对外进行发射信号。 图2-10 红外遥控器实物图第3节 红外接收显示电路硬件电路组成有:红外接收电路、电源电路、共阳数码管显示。3.1 红外接收电路HS0038是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的

15、塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。接收器对外只有3个引脚:OUT、GND、VCC与单片机接口非常方便。图2-11 HS0038实物图1脚接电源(+VCC),2脚GND是地线(0V),3脚脉冲信号输出,经非门U6缓冲与P24的判断信号进行逻辑与使得进入INT0的信号恰好是红外数据发射电路输出端P25的相反相信号,只要检测到INT0信号下降沿从而测出控制指令的功能。图2-12 HS0038内部结构工作流程HS0038接收原理:红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调

16、,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。图 2-13是一个红外线接收电路框图。图2-13 红外接收及控制电路框图本设计的核心部分在于红外接收及数码管显示。其中红外数据接收是对红外二进制脉冲的宽度进行测量,从而获得红外遥控的脉冲信息。采用外部中断成为了理所当然的选择,外部中断只有低电平和下降沿触发两种方式,这就使得单片机只能一次性对脉冲的高电平或低电平进行测量,而一连串的脉冲是不可能分开多次测量的,因此,为了解决这一问题,本人将从接收头出来的红外二进制脉冲信号与标志位(P24)

17、进行逻辑或非,然后再输入到INT0(P3.2)引脚,使得输入INT0的信号恰好是红外数据发射电路输出端P25的信号,只要检测到INT0信号下降沿到上升沿的这段时间。如果相邻的两个中断间隔的时间长度为1.125ms,说明接收到的是“0”;时间长度是2.25ms则为“1”。因此,脉冲电平的每一次跳变都会形成一次中断,在中断服务子程中即可实现一次性对一连串连续波形的测量,在测量后对0和1的各数据统计从而测出控制指令的功能。硬件或非门的反应速度是纳秒级的,满足实时要求。红外接收电路连接图如图2-14所示。图2-14红外接收电路图3.2共阳数码管显示第3章 红外解码程序设计使用C语言编写程序,调用的库函

18、数多,易于移植,编程简单。第1节 红外接收电路主程序流程图主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过数码管显示当前按键的解码值,如图3-1所示。 图3-1 红外接收主程序流程图第2节 红外接收电路子程序流程图子程序是首先读取T0定时器的长度,如果是1.125ms就认为是“0”,将其存入缓冲区并且计数器加1,如果是2.25ms就认为是“1”,将其存入缓冲区并且计数器加1。如果计数器值为32时,就接收结束标志位并且将计数器清0,如果计数器值不为33时,就认为是接收误码,计数器也将清0,此时重新等待读取红外信号。如图3-2所示。 图3-2

19、 红外接收程序流程图总 结本设计通过51系列单片机对红外遥控器解码,红外遥控指令接收,接收主程序是首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过数码管显示当前按键的解码值。TC9012 型红外遥控器被广泛用在家用电器和仪器仪表中,在了解了其发射的编码脉冲信号波形后,设计了基于单片机AT89S52 的红外遥控器解码器,对解码器硬件和相应软件进行分析并给出程序流程图。将红外遥控器用在生产即时显示系统中,作为参数设置和系统控制用红外遥控器,既操作灵活方便,又能提高系统抗干扰能力,在实际中收到了良好效果。参考文献1 谭浩强,C程序设计(第3版)M,北京

20、:清华大学出版社,2008:69-772 杨素行,模拟电子技术基础(第3版)M,北京:高等教育出版社,2008:9-233 余孟尝,数字电子技术基础(第3版)M,北京:高等教育出版社,2009:73-904 迟荣强,单片机原理及接口技术M,北京:高等教育出版,2009:24-635 徐玮,C51单片机高效入门M,北京:机械工业出版社,2007:234-2576 郭天祥,新概念51单片机C语言教程M,北京:电子工业出版社,2009:147-156附录1红外解码程序#include#include#include/#define TURE 1#define FALSE 0/sbit IR=P32;

21、/红外接口标志/unsigned char irtime;/红外用全局变量bit irpro_ok,irok;unsigned char IRcord4;unsigned char irdata33;/void Delay(unsigned char mS);void Ir_work(void);void Ircordpro(void);/ void tim0_isr (void) interrupt 1 using 1/定时器0中断服务函数 irtime+;/void ex0_isr (void) interrupt 0 using 0/外部中断0服务函数 static unsigned c

22、har i; static bit startflag; if(startflag) if(irtime=33)/引导码 TC9012的头码 i=0; irdatai=irtime;/一次存储32位电平宽度 irtime=0; i+; if(i=33) irok=1; i=0; else irtime=0;startflag=1;/void TIM0init(void)/定时器0初始化 TMOD=0x02;/定时器0工作方式2,TH0是重装值,TL0是初值 TH0=0x00;/reload value TL0=0x00;/initial value ET0=1;/开中断 TR0=1;/void

23、 EX0init(void) IT0 = 1; / Configure interrupt 0 for falling edge on /INT0 (P3.2) EX0 = 1; / Enable EX0 Interrupt EA = 1; void Ir_work(void)/红外键值散转程序 switch(IRcord2)/判断第三个数码值 case 0:P0=0xf9;break;/1 显示相应的按键值 case 1:P0=0xa4;break;/2 case 2:P0=0xb0;break;/3 case 3:P0=0x99;break;/4 case 4:P0=0x92;break;

24、/5 case 5:P0=0x82;break;/6 case 6:P0=0xf8;break;/7 case 7:P0=0x80;break;/8 case 8:P0=0x90;break;/9 irpro_ok=0;/处理完成标志 void Ircordpro(void)/红外码值处理函数 unsigned char i, j, k; unsigned char cord,value; k=1; for(i=0;i4;i+)/处理4个字节 for(j=1;j7)/大于某值为1 value=value|0x80; else value=value; if(j1; k+; IRcordi=va

25、lue; value=0; irpro_ok=1;/处理完毕标志位置1 /void main(void) EX0init(); / Enable Global Interrupt Flag TIM0init();/初始化定时器0 P2=0xfe;/8位数码管全部显示 while(1)/主循环 if(irok) Ircordpro();/码值处理 irok=0; if(irpro_ok)/step press key Ir_work();/码值识别散转 附录2系统总电路原理图致 谢本次设计综合了大学几年所学到的专业知识,把理论联系到实际;此次的课程设计,通过自己学习单片机,对自己掌握的知识进行对

26、课题进行设计。通过上网查资料,不懂得问题及时向指导老师和同学请教,按时按量的完成老师布置的课题。在这次的维持两个星期的课题设计中,自己收获很多,也学到很多,在各方面对自己的能力有所提高。在吴全玉老师的指导和同学的帮助下,我和搭档对课题进行数次的探讨,最后顺利完成了本次设计任务。通过本次设计,我对电路设计以及软件控制等方面都有了更为深刻的认识,并在实际中的开发板实现工作与原理中,掌握了很多技能。我真诚的感谢吴老师和同学给予我们的帮主,吴老师对我们的设计思路及其最终实现都提出了非常宝贵的意见,并指出了设计思路中存在的不足,使得本次设计能够圆满成功。本次毕业论文是一次理论与实际相结合的考验,它使我更加真切的体会到,作为一名自动化专业的学生,光会纸上谈兵是远远不够的,实际动手能力和扎实的理论知识同等重要。本次设计对于我来说,既是一次对理论知识的巩固和提高,也是对实际动手操作能力的锻炼和加强。

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

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