简单红外收发器设计_第1页
简单红外收发器设计_第2页
简单红外收发器设计_第3页
简单红外收发器设计_第4页
简单红外收发器设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计第1章 概述简单红外收发器是在红外遥控的基础上,利用红外线进行点对点的数据通信装置。目前,其相应的软件和硬件技术都已比较成熟。它是把红外线作为载体的遥控方式。红外遥控是一种无线、非接触控制技术,具有结构简单、制作方便、成本低廉、抗干扰能力强、信息传输可靠、易实现,同时,由于采用红外线收发器件时,工作电压低、功耗低、外围电路简单等优点,因此,被诸多电子设备,特别是家用电器广泛采用,并越来越多的应用到计算机系统中。系统要实现的功能:红外发射器、红外接收器,要实现远距离(10米)的发射与接收。红外收发的特点是不影响周边环境、不干扰其它电器设备。电路调试简单,只要按给定电路连接无误,一般

2、不需任何调试即可投入工作;编解码容易。信息可以直接通过红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,接收端去掉载波,取到信息。第2章 设计目的及设计要求2.1 设计目的:训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。2.2 设计要求: 本次单片机课程设计的设计要求如下:1、 应用MCS-51单片机设计简单红外收发器;2、 选用红外发射、红外接收器,红外发射、接收距离大于10M;3、 硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路

3、。设计的单元电路必须有工作原理,器件的作用,分析和计算过程;4、 软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;5、 原理图设计根据所确定的设计电路,利用Protel等有关工具软件绘制电路原理图、PCB板图、提供元器件清单。第3章 红外收发器硬件设计电路及描述按照系统设计的功能的要求,确定设计系统主要由发射模块与接收模块两部分组成。发送模块先由输入信号,以二进制信号的形式,传送给单片机,然后单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收模块普遍采用价格便宜,性能可靠的一体化红外接收头接收红外信号,它同时

4、对信号进行放大、检波、整形,得到TTL电平的编码信号,再传送给单片机,经单片机解码并由数码管显示接收到的数据。输入信号单片机红外发射电路红外接收头单片机输出显示图1:总体设计框图3.1 输入信号输入信号要以二进制信号输入,送给单片机,让单片机进行识别。若输入信号不是二进制的,需要进行信号的编码解码转换。3.2 单片机简介单片机就是在一块半导体硅片上集成了未处理器(CPU),存储器(RAM,ROM,EPROM)和各种输入、输出接口(定时器/计数器,并行I/O口,串行口,A/D转换器以及脉宽调制器PWM等),这样一块集成电路芯片具有一台计算机的属性。MCS-51单片机的类型包含:基本型、增强型、低

5、功耗型、专用型、超8位型、片内闪烁存储器型。MCS-51单片机的硬件结构:微处理器、数据存储器、程序存储器、4个8位并行I/O口、1个串行口、2个16位定时器/计数器、中断系统、特殊功能寄存器。 图2:AT89C20513.2.1 芯片内部结构AT89C2051是一带有2K字节闪速可编程可擦除只读存储器(EEPROM)的低电压,高性能8位CMOS微型计算机。它采用ATMEL的高密非易失存储技术制造并和工业标准MCS51指令集和引脚结构兼容。通过在单块芯片上组合通用的CPLI和闪速存储器,ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一定高度灵活和成本低的解决办法

6、。 3.2.2 芯片功能AT89C2051提供以下标准功能:2K字节闪速存储器,128字节RAM,15根I/O口,两个16位定时器,一个五向量两级中断结构,一个全双工串行口,一个精密模拟比较器以及两种可选 的软件节电工作方式。空闲方停止CPU工作但允许RAM、定时器/计数器、串行工作口和中断系统继续工作。掉电方式保存RAM内容但振荡器停止工作并禁止有其它部件的工作到下一个硬件复位。3.2.3 芯片复位复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作。无论是在单片机刚开始接上电源时, 还是断电后或者发生故障后都要复位。89系列单片机的复位信号是从RST引脚输人

7、到芯片的施密特触发器中的。当系统处于正常工作状态时, 且振荡器稳定后, 如果RST引脚有一个高电平并维持2个机器周期(24个振荡周期), 则CPU就可响应并且将系统复位。复位分为手动复位和上电复位。本设计系统采用的是手动复位, 当按下按钮时, 即使人的动作很快, 也会使按钮保持通达数十毫秒,所以, 手动复位能确保复位时间要求。3.3 红外收发模块3.3.1 红外接收硬件设计红外接收电路主要由单片机、红外接收头和显示部分组成,发射端发射的红外信号经过接受处理,传给单片机。接收电路使用一体化的红外接装置,将发送的信号接收,放大、检波、整形,并且经P1.0传输可以让单片机识别的TTL信号,经单片机解

8、码由数码管显示。HS0038一体化红外接收头,接收频率为38kHz1kHz管脚依次为:如下图3。连接时,在VCC与GND之间并入一个0.1uF的电容有助于改进信号质量。其可以用于编码接收,也可以用于低码率的数据通讯。其中,它的圆形面为红外接收面,它与SE304红外发射管的有效收发直射距离可达35M。不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。 图3:HS0038HS0038 信号电平:38kHz 红外发射接收到时:OUT低电平输出38kHz 红外发射接收不到时:O

9、UT高电平输出 3.3.2 红外发射硬件设计根据系统设计要求,红外发送、接收距离10M,即要提高红外线作用距离,那么就应该提高发射管的瞬时发射功率,降低其平均功率。而采用一定的占空比的脉冲发射是解决发射功率与作用距离的有效途径。同时,加装聚光透镜,以改善其发射指向性能,提高作用距离。红外光束编码收发系统的有效作用距离是由馈送进发射LED的电流峰值所决定的,电流平均值越小,其功率越高。改变R2的值,可以改变发射的距离。 , 公式(1) 为电路工作电压,为管的工作电压,为发射管的正向电流,为发射管的耗损功率。SE304红外发射管特性:耗损功率:=100mW; 正向电流:=50mA; 反向电压:=5

10、V;图4:红外发射二极管电路简图3.4 输出显示显示电路,可以才有数码管,得出接收到的数据。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元;按能显示多少个“8”可分为1位、2位、4位等等数码管; 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用

11、时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。第4章 红外收发器软件设计流程及描述4.1 红外发射电路主程序流程图首先是初始化出入信号和红外发射端口的参数值,然后让单片机扫描检测信号,如果有信号输入就让红外发射管发射出去。开始输入信号初始化,红外发射端口信号扫描红外数据发射图5:发射主程序流程图4.2 红外接收电路主程序流程图 首先初始化红外接收端口,然后检测是否接收红外信号,如果接收到红外信号就调用接收子程序,然后就通过数码管显示当前LED灯熄灭的状态如此循环。开始初始化红外接收端口接收到红外信号调用接收

12、程序数码管显示结束YN图6:红外接收主程序流程图第5章 源程序代码5.1 发射模块程序 ORG 0000H AJMP START ;转主程序 ORG 001B AJMP INT1 ;转定时器T1 ORG 0030HSTART: LCALL SCAN ; 按键扫描 JNB KESY,START ;判断是否有键按下 CLR KESY ;右键按下,则清零 MOV B,A ;键值送给B LCALL RED_SEND ;调用红外子程序 AJMP START ;等待循环RED_SEND: MOV TMOD,#20H ;定时器T1工作方式2 MOV TH1,#0E8H MOV TL1,#0E8H ;标准38

13、K脉冲频率 MOV IE,#88H ;允许T1中断使能 SETB TR1 ;启动T1 SETB P1.0 ;红外发送管控制IO口RED_END1: MOV A,B ;从B中取数据 MOV R4,#8 ;发送8位 MOV R5,#20 ;传输开始(同步帧),发送20 个脉冲 LCALL DELAY1 ;调用一次子程序DELAY1,产生一个周期26us的脉冲RED_END2: RLC A ;先发送字节的高位 JC RED_D ;判断是发送0还是1 MOV R5,#20 ;发送编码0,先发送20个脉 冲宽度的低电平 LCALL DELAY2 ;调用一次子程序DELAY2,产生宽度26us 的低电平

14、MOV R5,#10 ;再发送10个脉冲 LCALL DELAY1 LIMP JIESHU ;调转判断发送结束 RED_D: MOV R5,#10 ;发送编码1,先发送10个脉冲宽度的低电平 LCALL DELAY2 MOV R5,#10 ;在发送10个脉冲的高电平 LCALL DELAY1JIESHU: DJNZ R4,RED_SEND ; 发送8位未完,继续 MOV R5,#10 ;8位传输结束,再发送10个脉冲宽度的低电平(结束帧) LCALL DELAY2 RETDELAY1: NOP ;0.5us MOV R6,#11 ;0.5us DJNZ R6,$ ;11x1us=11us CL

15、R P1.0 ;1us MOV R6,#11 ;0.5us DJNZ R6,$ ;11us DJNZ R5,DELAY1 ;判断20个脉冲是否结束,1us RET ;1usDELAY2: CLR P1.0 ;0.5us; MOV R6,#24 ;0.5us DJNZ R6,$ ;24us RET ;1us5.2 输入信号的扫描程序SCAN: MOV P0,#0FH ;P0.0 P0.3作行输入线 MOV P2,#00H ;P2.0P2.3作列输出线 MOV A,P0 CJNE A,#0FH,SCAN_KEY ;行线全为“1”,无输入信号, STEB C RET CSCAN_KEY: CLR C

16、 ;行线为非全“1”,有输入信号,0CY返回 RETKEYN: MOV P0,#0FH MOV A,P0 CJNE A,#0FH,KEYN1 ;有信号,转移KEYN1 SETB C ;无信号,1CY返回 RETKENY1: LCALL DELAY ;调用延时10ms,消除抖动 CJNE A,#0FH,KEYN ;确认信号 ANL A,#0FH MOV B,A ;保存P0低位状态MOV P0,#00HMOV P2,#0FH ;行线、列线翻转MOV A,P2 ;读输入列线的的状态ANL A,#0FHORL B,A ;信号送BMOV DPTR;#KTAB ;DPTR指向表首地址MOV R3,#0 ;

17、计数器R3清零KEYN2:MOV A,R3MOVC A,A+DPTR ;取输入信号CJNE A,B,NEXT ;不符合继续MOV A,R3 ;信号ACLR C ;0CY已得到信号RETNEXT: INC R3 ;信号加1AJMP KEYN2 ;循环KTAB: DB 0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H DB 0BEH,0BDH,0BBH,0B7H,07EH,07DH,07BH,077H5.3 红外接收模块程序 ORG 0000H AJMP START ORG 001BH AJMP INT1 ORG 0030HRECE: MOV R5,#8 ; 接收8位

18、 JB P1.0,$ ; 等待同步帧,同步帧为低电平 MOV R7,#15 ; 同步帧(低电平)到来后,延时等待15个脉冲的时间 LCALL DELAY0 ; 调用一次子程序DELAY0。产生一个26 的延时 JB P1.0,RECE ; 延时15个脉冲后,若P1.0=1,转RECE重新检测 JNB P1.0,$ ; 延时15个脉冲后,若P1.0还是0,传输开始,再等编码中的高电平RECE_1: MOV R7, #15 ; 编码中的高电平到来后,延时15个脉冲的时间 LCALL DELAY0 JNB P1.0,RE1 ; 延时15个脉冲后,P1.0=0转RE1,P1.0=1顺序执行 CLR C

19、 ; P1.0=1时应解码为0,使标志C清0 RLC A ; 把标志C=0移入寄存器A中,经8次移位到A的高位,跳过后续高电平 JB P1.0, $ ; 再跳过后续低电平 JNB P1.0,$ ; 转接收下一位RE1: SETB C ; P1.0=0时应解码为1,使标志C置1 RLC A ; 把标志C=0移入寄存器A中 JNB P1.0,$NEXT: DJNZ R5,RECE_1 ; 8位未接收完,继续 RETDELAY0: NOP ;0.5us MOV R6,#24 ;0.5us DJNZ R6,$ ;24us DJNZ R7,DELAY0 ;每次1us RETSTART: JB P1.0,

20、$ ;等待接收数据LCALL RECE ;调用发送程序 MOV A,R2 ;接收到的数据存到A中AJMP $ ;循环等待5.4 输出显示程序DISPLAY: MOV DPTR,#TAB ;DPTR指向显示值表首地址 MOV A,R2 ;要显示的低位值送A MOVC A,A+DPTR ;从表中取显示值 MOV P0,A ;A值送数码管各位 CLR P2.6 ;低位位控制位清0 SETB P2.6 ;低位位控制位值1 MOV A,R1 ;要显示的高位值送A MOVC A,A+DPTR ;从表中取显示值 MOV P0,A ;A值送数码管各位 CLR P2.7 ;高位位控制位清0 SETB P2.7

21、;高位位控制位置1 RETTAB: DB C0H,F9H,A4H,B0H ;0,1,2,3 DB 99H,92H,82H,F8H ;4,5,6,7 DB 80H,90H,88H,83H ;8,9,A,B DB C6H,A1H,86H,8EH ;C,D,E,F第6章 红外收发器的设计原理图6.1 红外接收模块电路图 图7:红外接收模块电路图6.2 红外发射模块电路图图8:红外发射模块电路图第7章 课程设计体会这次课程设计是对我们学习微机原理及单片机课程的检验及实际应用能力的一次提高。我们所设计的是红外收发器。所能实现的是红外的发射和接收,发射部分通过键盘输入数字通过AT89C51编码并用红外二极

22、管发射出去。接收部分通过另外一块AT89C51通过中断方式接收红外信号并解码,最后从数码管显示所按下的键号。 原理图的设计时我们使用了Altium6.0这个强大的绘图工具,由于一些实际的器件在器件库中无法找到,我们只有自己制作,在这个过程中我们学到了很多的知识和方法。在制作PCB印刷电路板的时候,很多器件的封装与实际尺寸存在很大的差别,为了获得准确的封装,我们实际测量了所给器件的大小与规格,自己制作与之匹配的封装库,这让我们明白实践是出真知的唯一途径,只有亲自动手,实际才能测试才能获得最可靠的设计数据。当然我们也出现了严重的失误,由于对电源与地的距离估计不足,导致两者过近,出现了短接的危险。因此我们不得不重新处理这个问题,这个教训也告诫了我们,对于任何小的细节都不能掉以轻心,小的疏忽也会造成大的损失。对于电路图和电路板都应当采取科学谨慎的态度,这是保证是的基本实验结果产生的前提,在正式焊接前,对电路板的核查测试应当细心备至,反复检测才不会导致最终的失败。 程序的编写过程也给了我们很大的收获。在编写程序之前,我们查阅了大量的相关资料,力求做到规范清晰。在把握了整体的思路后,我们先从程序流程图着手, 将整个程序分成若干模块,分开编写,一边发现问题一边解决问题,并在实验板上检验程序测试情况,根据现

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论