简单红外收发器设计.docx
《简单红外收发器设计.docx》由会员分享,可在线阅读,更多相关《简单红外收发器设计.docx(16页珍藏版)》请在冰豆网上搜索。
简单红外收发器设计
第1章概述
简单红外收发器是在红外遥控的基础上,利用红外线进行点对点的数据通信装置。
目前,其相应的软件和硬件技术都已比较成熟。
它是把红外线作为载体的遥控方式。
红外遥控是一种无线、非接触控制技术,具有结构简单、制作方便、成本低廉、抗干扰能力强、信息传输可靠、易实现,同时,由于采用红外线收发器件时,工作电压低、功耗低、外围电路简单等优点,因此,被诸多电子设备,特别是家用电器广泛采用,并越来越多的应用到计算机系统中。
系统要实现的功能:
红外发射器、红外接收器,要实现远距离(10米)的发射与接收。
红外收发的特点是不影响周边环境、不干扰其它电器设备。
电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易。
信息可以直接通过红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,接收端去掉载波,取到信息。
第2章设计目的及设计要求
设计目的:
训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。
设计要求:
本次单片机课程设计的设计要求如下:
1、应用MCS-51单片机设计简单红外收发器;
2、选用红外发射、红外接收器,红外发射、接收距离大于10M;
3、硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。
设计的单元电路必须有工作原理,器件的作用,分析和计算过程;
4、软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;
5、原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。
第3章红外收发器硬件设计电路及描述
按照系统设计的功能的要求,确定设计系统主要由发射模块与接收模块两部分组成。
发送模块先由输入信号,以二进制信号的形式,传送给单片机,然后单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
红外接收模块普遍采用价格便宜,性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再传送给单片机,经单片机解码并由数码管显示接收到的数据。
图1:
总体设计框图
输入信号
输入信号要以二进制信号输入,送给单片机,让单片机进行识别。
若输入信号不是二进制的,需要进行信号的编码解码转换。
单片机简介
单片机就是在一块半导体硅片上集成了未处理器(CPU),存储器(RAM,ROM,EPROM)和各种输入、输出接口(定时器/计数器,并行I/O口,串行口,A/D转换器以及脉宽调制器PWM等),这样一块集成电路芯片具有一台计算机的属性。
MCS-51单片机的类型包含:
基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。
MCS-51单片机的硬件结构:
微处理器、数据存储器、程序存储器、4个8位并行I/O口、1个串行口、2个16位定时器/计数器、中断系统、特殊功能寄存器。
图2:
AT89C2051
芯片内部结构
AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微型计算机。
它采用ATMEL的高密非易失存储技术制造并和工业标准MCS-51指令集和引脚结构兼容。
通过在单块芯片上组合通用的CPLI和闪速存储器,ATMELAT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法。
芯片功能
AT89C2051提供以下标准功能:
2K字节闪速存储器,128字节RAM,15根I/O口,两个16位定时器,一个五向量两级中断结构,一个全双工串行口,一个精密模拟比较器以及两种可选的软件节电工作方式。
空闲方停止CPU工作但允许RAM、定时器/计数器、串行工作口和中断系统继续工作。
掉电方式保存RAM内容但振荡器停止工作并禁止有其它部件的工作到下一个硬件复位。
芯片复位
复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。
89系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可响应并且将系统复位。
复位分为手动复位和上电复位。
本设计系统采用的是手动复位,当按下按钮时,即使人的动作很快,也会使按钮保持通达数十毫秒,所以,手动复位能确保复位时间要求。
红外收发模块
红外接收硬件设计
红外接收电路主要由单片机、红外接收头和显示部分组成,发射端发射的红外信号经过接受处理,传给单片机。
接收电路使用一体化的红外接装置,将发送的信号接收,放大、检波、整形,并且经P1.0传输可以让单片机识别的TTL信号,经单片机解码由数码管显示。
HS0038一体化红外接收头,接收频率为38kHz+1kHz管脚依次为:
如下图3。
连接时,在VCC与GND之间并入一个0.1uF的电容有助于改进信号质量。
其可以用于编码接收,也可以用于低码率的数据通讯。
其中,它的圆形面为红外接收面,它与SE304红外发射管的有效收发直射距离可达35M。
不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。
图3:
HS0038
HS0038信号电平:
38kHz红外发射接收到时:
OUT低电平输出
38kHz红外发射接收不到时:
OUT高电平输出
红外发射硬件设计
根据系统设计要求,红外发送、接收距离≥10M,即要提高红外线作用距离,那么就应该提高发射管的瞬时发射功率,降低其平均功率。
而采用一定的占空比的脉冲发射是解决发射功率与作用距离的有效途径。
同时,加装聚光透镜,以改善其发射指向性能,提高作用距离。
红外光束编码收发系统的有效作用距离是由馈送进发射LED的电流峰值所决定的,电流平均值越小,其功率越高。
改变R2的值,可以改变发射的距离。
,
公式
(1)
为电路工作电压,
为管的工作电压,
为发射管的正向电流,
为发射管的耗损功率。
SE304红外发射管特性:
耗损功率:
=100mW;正向电流:
=50mA;反向电压:
=5V;
图4:
红外发射二极管电路简图
输出显示
显示电路,可以才有数码管,得出接收到的数据。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元;按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。
当某一字段的阳极为低电平时,相应字段就不亮。
第4章红外收发器软件设计流程及描述
红外发射电路主程序流程图
首先是初始化出入信号和红外发射端口的参数值,然后让单片机扫描检测信号,如果有信号输入就让红外发射管发射出去。
图5:
发射主程序流程图
红外接收电路主程序流程图
首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过数码管显示当前LED灯熄灭的状态如此循环。
图6:
红外接收主程序流程图
第5章源程序代码
发射模块程序
ORG0000H
AJMPSTART;转主程序
ORG001B
AJMPINT1;转定时器T1
ORG0030H
START:
LCALLSCAN;按键扫描
JNBKESY,START;判断是否有键按下
CLRKESY;右键按下,则清零
MOVB,A;键值送给B
LCALLRED_SEND;调用红外子程序
AJMPSTART;等待循环
RED_SEND:
MOVTMOD,#20H;定时器T1工作方式2
MOVTH1,#0E8H
MOVTL1,#0E8H;标准38K脉冲频率
MOVIE,#88H;允许T1中断使能
SETBTR1;启动T1
SETBP1.0;红外发送管控制IO口
RED_END1:
MOVA,B;从B中取数据
MOVR4,#8;发送8位
MOVR5,#20;传输开始(同步帧),发送20
个脉冲
LCALLDELAY1;调用一次子程序DELAY1,产生一个周期26us的脉冲
RED_END2:
RLCA;先发送字节的高位
JCRED_D;判断是发送‘0’还是‘1’
MOVR5,#20;发送编码‘0’,先发送20个脉
冲宽度的低电平
LCALLDELAY2;调用一次子程序DELAY2,产生宽度26us的低电平
MOVR5,#10;再发送10个脉冲
LCALLDELAY1
LIMPJIESHU;调转判断发送结束
RED_D:
MOVR5,#10;发送编码‘1’,先发送10个脉冲宽度的低电平
LCALLDELAY2
MOVR5,#10;在发送10个脉冲的高电平
LCALLDELAY1
JIESHU:
DJNZR4,RED_SEND;发送8位未完,继续
MOVR5,#10;8位传输结束,再发送10个脉冲宽度的低电平(结束帧)
LCALLDELAY2
RET
DELAY1:
NOP;0.5us
MOVR6,#11;0.5us
DJNZR6,$;11x1us=11us
CLRP1.0;1us
MOVR6,#11;0.5us
DJNZR6,$;11us
DJNZR5,DELAY1;判断20个脉冲是否结束,1us
RET;1us
DELAY2:
CLRP1.0;0.5us;
MOVR6,#24;0.5us
DJNZR6,$;24us
RET;1us
输入信号的扫描程序
SCAN:
MOVP0,#0FH;P0.0P0.3作行输入线
MOVP2,#00H;P2.0P2.3作列输出线
MOVA,P0
CJNEA,#0FH,SCAN_KEY;行线全为“1”,无输入信号,
STEBC
RETC
SCAN_KEY:
CLRC;行线为非全“1”,有输入信号,0
CY返回
RET
KEYN:
MOVP0,#0FH
MOVA,P0
CJNEA,#0FH,KEYN1;有信号,转移KEYN1
SETBC;无信号,1
CY返回
RET
KENY1:
LCALLDELAY;调用延时10ms,消除抖动
CJNEA,#0FH,KEYN;确认信号
ANLA,#0FH
MOVB,A;保存P0低位状态
MOVP0,#00H
MOVP2,#0FH;行线、列线翻转
MOVA,P2;读输入列线的的状态
ANLA,#0FH
ORLB,A;信号送B
MOVDPTR;#KTAB;DPTR指向表首地址
MOVR3,#0;计数器R3清零
KEYN2:
MOVA,R3
MOVCA,@A+DPTR;取输入信号
CJNEA,B,NEXT;不符合继续
MOVA,R3;信号
A
CLRC;0
CY已得到信号
RET
NEXT:
INCR3;信号加1
AJMPKEYN2;循环
KTAB:
DB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H
DB0BEH,0BDH,0BBH,0B7H,07EH,07DH,07BH,077H
红外接收模块程序
ORG0000H
AJMPSTART
ORG001BH
AJMPINT1
ORG0030H
RECE:
MOVR5,#8;接收8位
JBP1.0,$;等待同步帧,同步帧为低电平
MOVR7,#15;同步帧(低电平)到来后,延时
等待15个脉冲的时间
LCALLDELAY0;调用一次子程序DELAY0。
产生
一个26的延时
JBP1.0,RECE;延时15个脉冲后,若P1.0=1,转RECE重新检测
JNBP1.0,$;延时15个脉冲后,若P1.0还是0,传输开始,再等编码中的高电平
RECE_1:
MOVR7,#15;编码中的高电平到来后,延时
15个脉冲的时间
LCALLDELAY0
JNBP1.0,RE1;延时15个脉冲后,P1.0=0
转RE1,P1.0=1顺序执行
CLRC;P1.0=1时应解码为0,使标志C清0
RLCA;把标志C=0移入寄存器A中,经8次移位到A的高位,跳过后续高电平
JBP1.0,$;再跳过后续低电平
JNBP1.0,$;转接收下一位
RE1:
SETBC;P1.0=0时应解码为1,使标志C置1
RLCA;把标志C=0移入寄存器A中
JNBP1.0,$
NEXT:
DJNZR5,RECE_1;8位未接收完,继续
RET
DELAY0:
NOP;0.5us
MOVR6,#24;0.5us
DJNZR6,$;24us
DJNZR7,DELAY0;每次1us
RET
START:
JBP1.0,$;等待接收数据
LCALLRECE;调用发送程序
MOVA,R2;接收到的数据存到A中
AJMP$;循环等待
输出显示程序
DISPLAY:
MOVDPTR,#TAB;DPTR指向显示值表首地址
MOVA,R2;要显示的低位值送A
MOVCA,@A+DPTR;从表中取显示值
MOVP0,A;A值送数码管各位
CLRP2.6;低位位控制位清0
SETBP2.6;低位位控制位值1
MOVA,R1;要显示的高位值送A
MOVCA,@A+DPTR;从表中取显示值
MOVP0,A;A值送数码管各位
CLRP2.7;高位位控制位清0
SETBP2.7;高位位控制位置1
RET
TAB:
DBC0H,F9H,A4H,B0H;0,1,2,3
DB99H,92H,82H,F8H;4,5,6,7
DB80H,90H,88H,83H;8,9,A,B
DBC6H,A1H,86H,8EH;C,D,E,F
第6章红外收发器的设计原理图
红外接收模块电路图
图7:
红外接收模块电路图
红外发射模块电路图
图8:
红外发射模块电路图
第7章课程设计体会
这次课程设计是对我们学习微机原理及单片机课程的检验及实际应用能力的一次提高。
我们所设计的是红外收发器。
所能实现的是红外的发射和接收,发射部分通过键盘输入数字通过AT89C51编码并用红外二极管发射出去。
接收部分通过另外一块AT89C51通过中断方式接收红外信号并解码,最后从数码管显示所按下的键号。
原理图的设计时我们使用了Altium6.0这个强大的绘图工具,由于一些实际的器件在器件库中无法找到,我们只有自己制作,在这个过程中我们学到了很多的知识和方法。
在制作PCB印刷电路板的时候,很多器件的封装与实际尺寸存在很大的差别,为了获得准确的封装,我们实际测量了所给器件的大小与规格,自己制作与之匹配的封装库,这让我们明白实践是出真知的唯一途径,只有亲自动手,实际才能测试才能获得最可靠的设计数据。
当然我们也出现了严重的失误,由于对电源与地的距离估计不足,导致两者过近,出现了短接的危险。
因此我们不得不重新处理这个问题,这个教训也告诫了我们,对于任何小的细节都不能掉以轻心,小的疏忽也会造成大的损失。
对于电路图和电路板都应当采取科学谨慎的态度,这是保证是的基本实验结果产生的前提,在正式焊接前,对电路板的核查测试应当细心备至,反复检测才不会导致最终的失败。
程序的编写过程也给了我们很大的收获。
在编写程序之前,我们查阅了大量的相关资料,力求做到规范清晰。
在把握了整体的思路后,我们先从程序流程图着手, 将整个程序分成若干模块,分开编写,一边发现问题一边解决问题,并在实验板上检验程序测试情况,根据现象不断修改。
在这个过程中我们体会到编程的技巧,设置子程序的合理性,同时对单片机最小系统的设计有了整体的理解和深刻的体会,使我们的思维的锻炼与能力培养有了很大的提高和长足的进步。
本次课程设计虽然时间很短,但收获却很大。
首先我们对单片机最小系统的设计有了整体的把握,对程序编写的合理与规范性有了深刻的理解,建立起程序设计的一般思路,以及Altium6.0的使用方法,其强大的功能给我们提供了很大的帮助,通过原理图的设计过程,使我们认识到了这个软件的重要性,我们会以此为契机,在日后的学习中会继续使用它,使其发挥更大的功能。
经过三个星期的课程设计,我们得到了充分的锻炼,不仅对单片机的学习有了深刻的理解,同时也增强了我们的毅力和处理突发问题的能力。
学习是要付出一定的艰辛与努力的,做事情一定要有不怕困难的吃苦精神,唯有坚持不懈,发扬团队协作才能够克服困难,取得最后的胜利。
相信本次课程设计对我们以后的学习将会有很大的影响,我们一定会积极地总结经验与教训,改进不足,争取在日后做得更好。
当然要感谢老师和同学们的帮助,在我们束手无策,陷入困境的时候给予热情的帮助,使我们顺利渡过难关。
课程设计是一次很好的实践动手机会,通过实践,我们的知识得到了应用,真正实现了知识的学以致用,理论联系实际,我们会更加注重实践能力的锻炼,注重动手能力的培养。
参考文献
[1]单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社;
[2]单片机原理及应用,张毅刚编著,高等教育出版社;
[3]51系列单片机及C51程序设计,王建校,杨建国等编著,科学出版社;
[4]单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;
[5]张毅刚,彭喜源.MCS-51单片机应用设计[M].哈尔滨:
哈尔滨工业大学出版社,1997.