单片机的红外遥控器解码设计

合集下载

红外遥控解码实验报告(3篇)

红外遥控解码实验报告(3篇)

第1篇一、实验目的本次实验旨在通过搭建红外遥控系统,了解红外遥控的基本原理,掌握红外遥控信号的编码和解码方法,并利用单片机实现对红外遥控信号的解码,实现对红外遥控器的控制。

二、实验原理红外遥控技术是一种无线通信技术,通过发射端发送特定编码的红外信号,接收端接收该信号并进行解码,从而实现对电器的控制。

红外遥控系统主要由发射端和接收端两部分组成。

1. 发射端:由按键矩阵、编码调制电路和红外发射器组成。

按键矩阵根据按键的不同产生不同的编码信号,编码调制电路将这些信号调制在38kHz的载波上,红外发射器将调制后的信号发射出去。

2. 接收端:由红外接收器、前置放大电路、解调电路和指令信号检出电路组成。

红外接收器接收发射端发射的红外信号,前置放大电路对信号进行放大,解调电路将38kHz的载波信号去除,指令信号检出电路从解调后的信号中提取出指令信号。

三、实验设备1. 红外遥控发射器2. 红外接收模块3. 单片机开发板4. 连接线5. 电源6. 红外遥控解码程序四、实验步骤1. 搭建红外遥控系统:将红外接收模块连接到单片机开发板的相应引脚上,确保连接正确无误。

2. 编写红外遥控解码程序:根据红外遥控协议,编写解码程序,实现对红外信号的解码。

3. 程序烧录与调试:将解码程序烧录到单片机中,连接电源,进行程序调试。

4. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。

五、实验结果与分析1. 红外遥控系统搭建成功:通过连接红外接收模块和单片机开发板,成功搭建了红外遥控系统。

2. 解码程序编写与调试:根据红外遥控协议,编写解码程序,实现对红外信号的解码。

在调试过程中,通过观察单片机的输出,验证了程序的正确性。

3. 测试与验证:使用红外遥控器对单片机进行控制,观察单片机是否能够正确解码红外信号,并实现相应的控制功能。

实验结果表明,单片机能够成功解码红外信号,并实现红外遥控器的控制功能。

基于单片机的红外遥控解码器设计

基于单片机的红外遥控解码器设计

毕业论文(设计)论文(设计)题目:基于单片机的红外遥控解码器设计所属系别信息工程系专业班级 10大专电子信息工程技术2班姓 名学 号指导教师撰写日期 2013 年 4月本设计是一种以单片机和一体化红外接收器为核心,由单片机最小系统、通信模块、红外接收模块和液晶显示模块组成。

通过红外遥控接收头HS0038将光信号转变成电信号,经放大、解调、滤波后,将遥控脉冲波形送入单片机AT89S52中,利用相应的硬件滤波功能和软件滤波算法,对的输出信号进行信号识别、解码的实时动态处理,得到红外遥控器相应按键键码,单片机将得到的数据送入显示驱动电路,再通过LCD1602更直观的显示出来,实现单片机的红外解码。

经过解码后,可以将多种遥控器进行合成,实现一个遥控器控制多台电器设备。

即减少了遥控器的数量,同时又增强了遥控器的功能。

通过对电路的设计和实际调试,可以在液晶显示模块显示出来红外源码,从而验证了本设计是可行的。

关键词:AT89S52,红外接收HS0038,红外解码The design is a microcontroller and integrated infrared receiver as the core, from the smallest single-chip system, the communication module, the infrared receiving module and liquid crystal display module. Receiving head HS0038 the light signal is converted into electric signal through the infrared remote control, after amplification, demodulation, filtering, remote control pulse waveform into the SCM AT89S52, using the corresponding hardware filter and software filtering algorithm, the output signal of the signal recognition, real-time dynamic processing of infrared remote control decoding, obtained the corresponding key code, SCM will get data into the display driving circuit, and then through the LCD1602 display, infrared decoder chip. After decoding, can be a variety of remote controller synthesis, the realization of a remote control a plurality of electric equipment. Namely, reducing the number of remote control, and strengthen the function of the remote controller. Through the circuit design and debugging, in the liquid crystal display module display infrared source, which verified the design is feasible. Keywords: AT89S52, infrared receiver HS0038, infrared decoder1 引言 (1)2 总体设计方案 (1)2.1 方案论证 (1)2.2 总体设计框图 (1)3硬件电路设计 (2)3.1 单片机及其硬件电路设计 (2)3.1.1 单片机的介绍 (2)3.1.2 时钟电路及RC复位电路 (3)3.2 红外遥控器电路设计 (4)3.2.1 TC9012芯片介绍 (4)3.2.2 红外发射电路 (5)3.2.3 红外接收电路的设计 (7)3.3 1602液晶显示电路 (8)3.3.1 引脚功能说明 (9)3.3.2 指令说明 (9)4程序设计 (10)4.1 红外接收电路主程序流程图 (10)4.2 红外接收电路子程序流程图 (10)5结果分析与讨论 (12)5.1 测试仪器 (12)5.2 硬件调试的方法和过程 (12)5.3 软件调试问题及解决方法 (12)6总结 (13)参考文献: (14)致谢 (15)附录1: 系统电路原理仿真图 (16)附录2: 系统电路实物图 (17)附录3: 程序 (18)1 引言随着电子技术的发展,红外遥控器越来越多的应用到电器设备中,比如电视机、DVD机、空调、机顶盒甚至音响、热水器等都用到遥控器,而这些红外遥控器都是针对各自产品所设计的,从而导致了一般家庭中拥有数个遥控器,那么,能否将这些遥控器的功能进行复用,进而减少遥控器的数量,使遥控器的功能更加强大,就显得十分必要了。

单片机红外遥控编码与解码

单片机红外遥控编码与解码

用电器、视听产品的普及,红外线遥控器已被广泛使用在各种类型的家电产品上(如遥控开关、智能开关等)。

其具有体积小、抗干扰能力强、功耗低、功能强、成本低等特点,在工业设备中也得到广泛应用。

一般而言,一个通用的红外遥控系统由发射和接收两大部分组成,如图1 所示:其中发射部分主要包括键盘矩阵、编码调制、红外发射管;接收部分包括光、电信号的转换以及放大、解调、解码电路。

举例来说,通常我们家电遥控器信号的发射,就是将相应按键所对应的控制指令和系统码( 由0 和1 组成的序列),调制在32~56kHz 范围内的载波上,然后经放大、驱动红外发射管将信号发射出去。

此外,现在流行的控制方法是应用编/ 解码专用集成电路芯片来实现。

不同公司的遥控芯片,采用的遥控码格式也不一样。

在此介绍目前广泛使用较普遍的两种,一种是NEC Protocol 的PWM( 脉冲宽度调制) 标准,一种是Philips RC-5 Protocol 的PPM( 脉冲位置调制) 标准。

NEC 标准(代表芯片WD6122):遥控载波的频率为38kHz( 占空比为1:3) ;当某个按键按下时,系统首先发射一个完整的全码,然后经延时再发射一系列简码,直到按键松开即停止发射。

简码重复为延时108ms,即两个引导脉冲上升沿之间的间隔都是108ms。

如图2所示即为完整的NTC编码。

对于NTC编码,由引导码、用户编码低位,用户编码高位、键数据编码、键数据编码五部分组成,引导码由一个9ms的载波波形和4.5ms的关断时间构成,它作为随后发射的码的引导,这样当接收系统是由微处理器构成的时候,能更有效地处理码的接收与检测及其它各项控制之间的时序关系。

编码采用脉冲位置调制方式(PPM)。

利用脉冲之间的时间间隔来区分“0”和“1”。

每次8位的码被传送之后,它们的反码也被传送,减少了系统的误码率。

数据0 可用“高电平0.56ms +低电平0.56ms”表示,数据1 可用“高电平0.56ms +低电平1.68ms”表示。

基于单片机的红外遥控密码锁设计

基于单片机的红外遥控密码锁设计

目录1目的和意义 (2)2方案设计 (2)3 硬件原理分析及设计 (2)3.1发射模块原理 (2)3.1.1 红外发送系统原理 (2)3.1.2 NEC编码格式介绍 (3)3.2接收解码模块 (4)3.2.1 接收解码原理 (4)3.2.2 接收解码模块的硬件电路 (5)3.4液晶显示模块 (6)4 软件设计 (6)4.1编程语言 (6)4.2主要程序说明及流程图 (7)4.2.1 主程序 (7)4.2.2 接收解码程序 (7)4.2.3 按键数字分配 (10)4.2.4 密码判断、报警及修改程序 (11)4.2.5 按键发声程序 (16)4.2.6 没操作响应 (17)5 功能分析及总结 (17)5.1功能分析 (17)5.2C语言编程的延时技巧 (19)5.3本设计优缺点 (20)5.4设计总结 (21)参考文献 (1)附录C 实物图 (3)摘要单片机遥控系统是将红外遥控技术和单片机应用技术相结合的一种方案。

本系统为红外遥控电子密码锁的控制管理部分,只要再连接上不同用途的电磁锁即可成为一个完整的红外遥控电子密码锁系统应用到各种领域中。

而且本系统还设计有学习NEC红外编码遥控器的功能,通过红外接收解码电路,把遥控器的键码还原并储存起来,再利用查找对比的方法便能够识别不同的遥控器,大大提高了系统的灵活性和实用性。

本系统以单片机作为核心元件将电子密码锁和无线遥控技术结合起来,使其具有修改密码、报警锁定等功能,不仅能进行远距离遥控解锁,还能实现近距离按键密码初始化及复位解除报警。

同时采用E2PROM作为存储单元,方便用户存储、修改密码和遥控器键码;采用LCD显示令使用更加方便直观。

红外线遥控电子密码锁能实现多种控制功能,改善了传统机械锁的各种缺点,有较好的市场发展前景和技术应用价值。

而且本系统的红外接收解码部分延时计数准确,并且有错误校验,所以整个接收解码的准确性非常高。

设计电路主要由红外线解码学习电路、密码修改和存储电路、声光提示报警电路、LCD 显示电路组成。

单片机STM32F103C8T6的红外遥控器解码系统设计

单片机STM32F103C8T6的红外遥控器解码系统设计

单片机STM32F103C8T6的红外遥控器解码系统设计一、本文概述本文旨在详细阐述基于STM32F103C8T6单片机的红外遥控器解码系统的设计和实现过程。

随着科技的不断进步和智能化设备的普及,红外遥控器作为一种常见的遥控设备,已经广泛应用于家电、安防、玩具等多个领域。

然而,红外遥控器发出的红外信号往往需要通过解码器才能被设备正确识别和执行,因此,设计一款高效、稳定、可靠的红外遥控器解码系统具有重要意义。

本文将首先介绍红外遥控器的基本原理和信号特点,然后详细阐述STM32F103C8T6单片机的性能特点和在红外遥控器解码系统中的应用优势。

接着,将详细介绍红外遥控器解码系统的硬件设计,包括红外接收头的选择、电路设计和PCB制作等。

在软件设计部分,将详细阐述如何通过STM32F103C8T6单片机的编程实现红外信号的接收、解码和处理,以及如何将解码后的数据通过串口或其他通信方式发送给主控制器。

本文还将对红外遥控器解码系统的性能进行测试和分析,包括信号接收距离、解码速度和稳定性等方面的测试。

将总结本文的主要工作和创新点,并对未来的研究方向进行展望。

通过本文的研究和实现,旨在为红外遥控器解码系统的设计提供一种新的思路和方法,同时也为相关领域的研究人员提供有益的参考和借鉴。

二、红外遥控器基础知识红外遥控器是一种常见的无线遥控设备,它利用红外光作为信息载体,通过发射和接收红外光信号实现对设备的远程控制。

这种遥控方式因其简单、低成本和无需视线连接等优点,在各类消费电子产品中得到了广泛应用,如电视机、空调、音响等。

红外遥控器的工作原理主要基于红外辐射和光电器件的检测。

遥控器内部通常包含一个或多个红外发射管,当按下按键时,发射管会发射出特定频率和编码的红外光信号。

接收端则配备有红外接收头,该接收头内部有一个光敏元件(如硅光敏三极管或光敏二极管),用于检测红外光信号并将其转换为电信号。

为了区分不同的按键操作,红外遥控器通常采用特定的编码方式对按键信号进行编码。

51单片机红外遥控解码程序

51单片机红外遥控解码程序

51单片机红外遥控解码程序类别:单片机/DSP 阅读:2975编者按:以下是网友编写的遥控解码程序!一种用延时等待的解码方法,比较容易理解,但缺点是占用CPU运行时间,第二种方法用定时器和外中断的解码方法,初学不易理解,但优点也很明显,第二种方法如果能解决连发解码就比较完美,更完善的红外遥控解码程序,请参考本站TOPA V-2008,TOP51-2005所配程序。

解码方法一;//单片机接收红外解读程序\\;硬件结构:8951,P0口数码管段码,P2.0-P2.3为位,P1为8个LED;P3.2为红外接收头,P2.7蜂鸣器,晶振12M;适用UPD6121 6122芯片接收;---------------------------------------------------------ORG 0000HAJMP MAIN ;转入主程序ORG 0003H ;外部中断P3.2脚INT0入口地址AJMP INT ;转入外部中断服务子程序(解码程序);以下为主程序进行CPU中断方式设置MAIN: SETB EA ;打开CPU总中断请求SETB IT0 ;设定INT0的触发方式为脉冲下降沿触发SETB EX0 ;打开INT0中断请求AJMP $;以下为进入P3.2脚外部中断子程序,也就是解码程序INT: CLR EA ;暂时关闭CPU的所有中断请求MOV R6,#10SB: ACALL YS1 ;调用882微秒延时子程序JB P3.2,EXIT ;延时882微秒后判断P3.2脚是否出现高; 电平如果有就退出解码程序DJNZ R6, SB ;重复10次,目的是检测在8820微秒内;如果出现高电平就退出解码程序;以上完成对遥控信号的9000微秒的初始低电平信号的识别。

JNB P3.2, $ ;等待高电平避开9毫秒低电平引导脉冲ACALL YS2 ;延时4.74毫秒避开4.5毫秒的结果码MOV R1,#1AH ;设定1AH为起始RAM区MOV R2,#4;PP: MOV R3,#8JJJJ: JNB P3.2,$ ;等待地址码第一位的高电平信号LCALL YS1 ;高电平开始后用882微秒的时间尺去判断信;号此时的高低电平状态MOV C,P3.2 ;将P3.2引脚此时的电平状态0或1存入C中JNC UUU ;如果为0就跳转到UUULCALL YS3;UUU: MOV A,@R1 ;将R1中地址的给ARRC A ;将C中的值0或1移入A中的最低位MOV @R1,A ;将A中的数暂时存放在R1中DJNZ R3,JJJJ ;接收地址码的高8位INC R1 ;对R1中的值加1,换下一个RAMDJNZ R2,PP ;接收完16位地址码和8位数据码和8位数据反; 码,存放在1AH/1BH/1CH/1DH的RAM中MOV A,1CH ;比较数据码和数据反码是否正确?CPL AXRL A,1DH ;将1CH的值取反后和1DH比较不同则无效丢弃,核对数据是否准确JNZ EXITMOV DPTR,#TAB ;表头地址送指针MOV A,1DHANL A,#0FH ;相与,得到低四位码MOVC A,@A+DPTRMOV 1EH,A ;查表得表码存入1EHMOV A,1DHSWAP AANL A,#0FHMOVC A,@A+DPTRMOV 1FH,A ;查表得高四位码存入1FMOV R7,#20HDISP:MOV P0,1FH ;送数码管显示CLR P2.1ACALL YS2SETB P2.1MOV P0,1EHCLR P2.2ACALL YS2SETB P2.2MOV P1,1DH ;将按键的键值通过P1口的8个LED显示出来!CLR P2.7 ;蜂鸣器鸣响-嘀嘀嘀-的声音,表示解码成功LCALL YS2SETB P2.7 ;蜂鸣器停止DJNZ R7,DISPEXIT: SETB EA ;允许中断RETI ;退出解码子程序YS1: MOV R4,#20 ;延时子程序1,精确延时882微秒D1: MOV R5,#20DJNZ R5,$DJNZ R4,D1RETYS2: MOV R4,#10 ;延时子程序2,精确延时4740微秒D2: MOV R5,#235DJNZ R5,$DJNZ R4,D2RETYS3: MOV R4,#2 ;延时程序3,精确延时1000微秒D3:MOV R5,#248DJNZ R5,$DJNZ R4,D3RETTAB: DB 0C0H,0DEH,0A2H,8AH,9CH,89H,81H,0DAH,80H,88H,90H,85H,0E1H,86H,0A1H,0B1H;数据表,0-9-A-FEND解码方法二你的解码程序和我现在用的解码程序大体是一样的,我自己实际做了一下,发现按下遥控器,接收到红外信号后,数码管闪的厉害。

基于单片机的红外遥控器解码器的设计

基于单片机的红外遥控器解码器的设计
P贻鬻麓 厂] n n
}—一 16如,—叫4‰或1 w=u叫’刚,c9
图4 第二以后连续发送的遥控信号的编码脉冲
由图2和图3可以看出,遥控编码脉冲波形的输出时 间为192瓦,或224 Tc,,以为用户码(8位)的输出时间。当 口≥26 Tc,时,遥控编码脉冲波形输出时间为224Tc,。另 外,对于连续发送的编码脉冲中用户码第一位的相反码的 脉冲问隔时间,当SO一“1”时,则So一“0”,该时间为
3单片机程序设计
单片机程序主要解决的问题就是如何对接收到的 9021型红外遥控器所发射的信号进行解码,编码脉冲信 号是由引导码、用户码、和功能码等部分组成,我们只对获 取其功能码过程进行分析。在单片机设置中,将单片机 AT89C5l内部定时器/计数器To设为定时方式1,定时时 间为1 ms;设外部中断INTo为下降沿中断触发方式,由
116622)
摘 要:9012型红外遥控器被广泛用在家用电器和仪器仪表中,在了解了其发射的编码脉冲信号波形后,设计了基于单
片机AT89C51的红外遥控器解码器,对解码器硬件和相应软件进行分析并给出程序流程图。将红外遥控器用在生产即时
显示系统中,作为参数设置和系统控制用红外遥控器,既操作灵活方便,又能提高系统抗干扰能力,在实际中收到了良好
图3 Matlab中滤波前后结果
4结 语
一般DSP芯片实现FIR滤波器时,常是先在Matlab 中设计要求的滤波器,得到滤波器系数,在目标DSP汇编 程序中,对系数进行相应的Q格式转换,再用相关汇编指 令实现FIR滤波器算法。但在调试时,每改变一次滤波器
参数,相关系数也改变,目标DSP中的程序也要做相应改 变,给调试仿真带来很大麻烦,使滤波器设计效率很低。 Matlab具有强大的数值分析、计算、信号处理及图形显示 功能,并为用户提供了强大的信号处理工具箱和友好方便 的交互式图形用户界面,用Matlab辅助DSP实现FIR,在 滤波器系数改变时可以不必改变DSP中程序,大大提高 了滤波器设计效率。本文只是利用Matlab辅助DSP实现 了一个简单的FIR低通滤波器,并在TMS320C6713 DSK 上成功运行。还可以利用Matlab辅助DSP来实现比较复 杂的诸如语音处理、通信、图像处理等方面的程序开发,可 以大大缩短DsP应用程序的开发时间,提高设计效率,这 也是以后DSP设计的一个趋势。

基于单片机的红外遥控器解码器设计

基于单片机的红外遥控器解码器设计

中 图 分 类 号 :TN21
文 献 标 识 码 :A
文 章 编 号 :1672-3791(2010)03(a)-0051-03
1 红外遥控信号发送电路SAA3010T及遥 控信号
1.1 SAA3010 简介 SAA3010是一款红外遥控发射集成电
路,采用CMOS工艺制造,低电压工作,单管 脚的振荡器,双相位发射技术,最大可提供 2048 个 编 码 。一 般 为28P 表 贴 封 装, 管 脚 信 号的功能定义为:KI0~KI3为键盘扫描输 入端,KO0~KO7为键盘扫描驱动管脚,C 0~C3键盘扫描输入,SMS为系统模式选择 输入,MDout为用载波(频率为fc/12,占空 比为33%)调制的码脉冲输出,Dout为合成 码数据输出端,OSC为振荡器输入管脚,T 为测试端,VDD电源正,VSS电源负。
工 程 技 术
科技资讯 2010 NO.06
SCIENCE & TECHNOLOGY INFORMATION
基于单片机的红外遥控器解码器设计
靳光明 ( 绵阳职业技术学院计算机科学系 四川绵阳 6 2 1 0 0 0 )
摘 要:SAA3010T是一种通用型红外遥控信号发送用的集成电路,适用于电视机、组合音响、VCD、DVD、风扇、电玩等设备的遥控操
(1)设外部中断1(接SH506数据输出端) 为 低 电 平 触 发 , 允 许 中 断 。定 时 器 T 0 工 作 于 定时方式2(自动重装在时间常数),定时时 间常数为20us,高优先级中断。
(2)定时器T0的中断服务函数为每20us (1/4位时间)到,T20_c计数器加1。
(3)外部中断1的中断服务函数的算法: ①关闭外部中断,启动T0定时器,清计 数器T20_c。 ②判断第一位起始位是否为1,并丢掉该 位,清计数器T20_c,清接收数据位计数器。 ③接收后面的13位数据的每一位,每 一位的时间1.668ms ④停止定时器,接收的13位数据取反送I RDA_dat,从IRDA_dat中提取5位用户码。 ⑤当第二个起始位为1且用户码为0000 0,表明本帧数据有效,提取6位指令码,否 则行纠错处理。 ⑥等待外部中断1(IRDA)变高,打开外 部中断1。

单片机做红外遥控解码器

单片机做红外遥控解码器

单片机做红外遥控解码器你家里是否有一个电视机遥控器或者空调机遥控器呢?你是否也想让它遥控其他的电器甚至让它遥控您的电脑呢?那好,跟我一起做这个“遥控”。

该小制作所需要的元件很少:TA89C2051一只,RS232接口电平与TTL 电平转换心片MAX232CPE一只,红外接收管一只,晶振11.0592MHz,电解10uF4只,10uF一只,1K1个,300欧姆左右1个,瓷片电容30P2个。

发光8个。

价钱不足20元。

原理介绍:主控制单元是单片机AT89C2051,中断口INT0跟红外接受管U1相连,接收红外信号的脉冲,8个作为显示解码输出(也可以用来扩展接其他控制电路),U3是跟电脑串行口RS232相连时的电平转换心片,9、10脚分离与单片机的1、2脚相连,(1脚为串行接收,2脚为串行发送),MAX232CPE的7、8脚分离接电脑串行口的2(接收)脚、3(发送脚)。

晶振采纳11.0592MHz,这样才干使得通讯的波特率达到9600b/s,电脑普通默认值是9600b/s、8位数据位、1位停止位、无校验位。

电路就这么容易了,现在分析详细的编程过程吧。

开头位是以3.6ms低电平然后是3.6ms高电平,然后数据表示形式是0.9ms低电平0.9ms高电平周期为1.8ms表示“0”,0.9ms低电平2.4ms 高电平周期为3.3ms表示“1”,编写程序时,以大于3.4ms小于3.8ms 高电平为起始位,以大于2.2ms小于2.7ms高电平表示“1”,大于0.84ms小于1.11ms高电平表示“0”。

因此,我们主要用单片机测量高电平的长短来确定是“1”还是“0”即可。

定时器0的工作方式设置为方式1:movtmod,09h,这样设置定时器0即是把GATE置1,16位计数器,最大计数值为2的16次方个机器周期,此方式由外中断INT0控制,即INT0为高时才允许计数器计数。

比如:jnbp3.2,$jbp3.2,$clrtr0这3条命令就可以测量一个高电平,接下来读取计数值TH0,TL0就可以辨别是起始位还是“1”或“0”。

单片机的红外遥控器编码原理与实现

单片机的红外遥控器编码原理与实现

单片机的红外遥控器编码原理与实现红外遥控器是我们日常生活中常见的一种设备,用于控制电器设备的开关、音量调节等操作。

而单片机作为一种重要的电子元器件,可以通过编程来实现红外遥控器的功能。

本文将介绍单片机的红外遥控器编码原理和实现过程。

一、红外编码原理红外遥控器通过发送红外信号来控制电器设备的开关。

而红外编码原理是指在红外遥控器中,将按键的信息编码成红外信号发送出去。

在遥控器中,每个按键对应一个特定的红外编码。

当按下某个按键时,遥控器会将该按键的特定编码发送出去。

接收器设备会解码接收到的红外信号,并根据解码结果来执行相应的操作。

二、红外编码实现步骤1. 硬件准备实现红外遥控器编码,首先需要准备以下硬件设备:- 单片机模块- 红外发射模块- 按键模块- 电源供应模块2. 硬件连接将单片机模块、红外发射模块、按键模块和电源供应模块按照电路图进行连接。

确保连接正确并固定好各个模块。

3. 软件编程使用单片机的编程语言(如C语言)进行编程,实现红外遥控器的功能。

具体的编程步骤如下:- 初始化相关的引脚和中断,包括红外发射引脚和按键引脚。

- 设置红外编码的格式和协议,如NEC编码、SONY编码等。

- 通过按键模块检测按键是否被按下,如果按键被按下,则执行相应的红外编码发送操作。

- 根据按键的不同,发送不同的红外编码信号。

4. 红外编码发送编写代码实现红外编码信号的发送。

根据选择的编码协议和格式,在编程中设置相应的红外编码参数,并通过红外发射模块将编码信号发送出去。

5. 测试和调试完成编程后,进行测试和调试。

将红外编码器面对接收器设备,按下遥控器的按键,观察接收器设备是否成功接收到信号并执行相应的操作。

通过以上步骤,就可以实现单片机的红外遥控器编码功能。

三、红外编码的应用红外遥控器的编码原理可以应用于各种控制场景,例如家电控制、智能家居系统、工业自动化等。

通过编程,可以实现不同按键对应不同设备的控制,提高生活和工作的便利性。

红外遥控解码课程设计

红外遥控解码课程设计

红外遥控解码课程设计一、课程目标知识目标:1. 学生能理解红外遥控器的基本原理,掌握红外编码和解码的基础知识。

2. 学生能描述红外信号的特性,了解红外通信在日常生活和科技领域的应用。

3. 学生能解释不同品牌和型号遥控器之间的红外信号差异。

技能目标:1. 学生能够使用红外接收器和发射器进行基本的数据传输实验。

2. 学生能够通过编程实现对红外信号的解码,并运用到实际控制中。

3. 学生能够设计并制作一个简单的红外遥控装置,实现对电器的开关控制。

情感态度价值观目标:1. 学生培养对电子技术和遥控技术的兴趣,激发创新意识和探索精神。

2. 学生通过实践活动,增强团队合作意识和解决问题的能力。

3. 学生认识到红外遥控技术在智能家居、物联网等领域的重要性,培养对科技发展的关注和责任感。

课程性质:本课程为信息技术与电子技术的跨学科综合实践活动,注重理论知识与实践操作的结合。

学生特点:学生处于初中年级,具备一定的物理知识和动手能力,对新鲜事物充满好奇心。

教学要求:结合学生的认知水平和动手能力,以实践为主,理论联系实际,培养学生的创新思维和实际操作能力。

在教学过程中,注重引导学生主动探究、合作交流,实现知识、技能和情感态度价值观的全面发展。

通过具体的学习成果,对教学设计和评估提供明确依据。

二、教学内容1. 红外遥控原理介绍:包括红外遥控器的工作原理、红外信号的发射与接收过程。

- 教材章节:《电子技术》第三章第三节“红外遥控技术”2. 红外编码和解码基础:学习红外信号的编码方式,如NEC编码,以及解码方法。

- 教材章节:《信息技术》第二章第五节“数字信号的编码与解码”3. 红外接收与发射器使用:介绍红外接收器、发射器的功能与使用方法,进行基础实验操作。

- 教材章节:《电子技术》第三章第四节“红外接收与发射器的应用”4. 红外信号编程解码:通过编程软件,实现对红外信号的捕捉、解析和运用。

- 教材章节:《信息技术》第四章第一节“编程基础与应用”5. 实践制作红外遥控装置:分组合作设计并制作一个简单的红外遥控装置,实现对电器的控制。

基于M37544单片机的红外遥控解码方案设计

基于M37544单片机的红外遥控解码方案设计

—科教导刊(电子版)·2018年第26期/9月(中)—264基于M37544单片机的红外遥控解码方案设计裴德凤(合肥通用机械研究院安徽·合肥230031)摘要根据HS0038的性能,结合瑞萨M37544单片机,本文介绍红外遥控系统的工作原理及空调器红外遥控通讯协议,给出红外遥控接收系统的硬件电路,重点阐述通过查询方式完成程序编写的方法,该种控制方式具有可靠性高、成本低的特点,在单片机控制系统中可以广泛的应用。

关键词单片机红外遥控空调查询方式中图分类号:TP368.1文献标识码:A 0引言红外遥控是目前使用很广泛的一种通信和遥控技术,由于红外遥控装置具有体积小,功耗低,功能强、成本低等特点,因而,在家用电器产品及工业设备中得到广泛采用,本文以家用空调为例,阐述如何通过M37544单片机来实现遥控器解码功能。

1红外遥控系统简介红外遥控系统有发射和接收两大部分组成,发射部分包括键盘矩阵,编码调制,LED 红外发送器。

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

如图1所示。

2空调系统遥控接收通讯协议本文所介绍的空调使用的遥控器引导码格式为:先发3ms 高电平、再发3ms 低电平,再发3ms 高电平,再发4.5ms 低电平,引导码格式如图2所示:图2:遥控器引导码格式数据码格式如图3所示,数据“1”格式为发1.2ms 低电平,数据“0”格式为发0.56ms 低电平,间隔码为0.56ms高电平。

图3:遥控器数据码格式上述由引导码和“0”,“1”组成的数据码经38KHZ 载频进行二次调制以提高发射效率,达到降低电源功耗的目的,然后再通过红外发射二极管产生红外线向空间发射。

遥控器先发送引导码,紧跟其后再发送8个字节数据,共64位。

在64位二进制数据中,包含空调运行所有状态,包括开关机、运行模式、风速、风摆、睡眠、定时等信息,其具体通讯协议如下表1所示:表1:遥控器通讯协议一览表3硬件电路的设计接收部分采用一体化接收头HS0038,该器件集红外线接收、放大、解调,还原成同步格式相同,但高低电位刚好相反的脉冲信号,输出TTL 电平,再送给单片机,经单片机解码并执行,控制相应的控制对象。

采用单片机的红外遥控器解码器的设计

采用单片机的红外遥控器解码器的设计

采用单片机的红外遥控器解码器的设计TC9012F 是一种通用型红外遥控信号发送用CMOS 大规模集成电路,适用于电视(TV),磁带录像机(VTR),激光唱机等设备的遥控操作。

市场上,以TC9012F 为核心的9012 型红外遥控器被广泛使用且价格便宜。

将设计的基于单片机AT89C51 的9012 型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。

1 红外线遥控信号发送器电路TC9012F 的遥控信号TC9012F 为4 位专用微控制器,其内部振荡电路的振荡频率fosc 典型值为455 kHz。

当不按下操作键时,其内部455 kHz 的时钟振荡器停止工作,以减少电池消耗。

内部分频电路将振荡频率,fosc 进行12 分频后,变成频率fc=37.9 kHz,占空比为1/3 的脉冲载波信号。

红外遥控信号发送器电路由集成电路TC9012F、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为37.9 kHz 的脉冲载波被遥控编码脉冲调制的已调波,如遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如本遥控器采用第一次发送的遥控信号的编码脉冲(由解码器硬件以AT89C51 单片机为核心,如3 单片机程序设计单片机程序主要解决的问题就是如何对接收到的9021 型红外遥控器所发射的信号进行解码,编码脉冲信号是由引导码、用户码、和功能码等部分组成,我们只对获取其功能码过程进行分析。

在单片机设置中,将单片机AT89C51 内部定时器/计数器T0 设为定时方式1,定时时间为1 ms;设外部中断INT0 为下降沿中断触发方式,由于在接收时将编码脉冲信号进行反相,因此,每当INT0 外管脚信号下降沿到来时,外部中断INT0 发生中断,启动定时器T0,定时器每次中断定时时间为1 ms 并累加到定时计数器中,在下一次外。

STC89C52单片机红外遥控器解码

STC89C52单片机红外遥控器解码
iNumber:记录Delay_MS的数值,以for语句实现所要求的延时
iValue:要延时毫秒所要进行的循环数值,本数值为实际测得
返回值:无
注意事项:本实验是在所用晶振为12M的前提下实现的毫秒延时,本函数
是通过循环的形
式完成,所以如果改变了晶振的频率,请做相应的改变
voidDelayMs(uintDelay_MS)
0
if(cCount>=8)//协议里定义1的电平为2.25ms,因为Delay(1)延时为
0.14ms
{//加上其他指令执行时的延时,所以大于等于8时,为高电平
cIRReceiveData[cNumber1]=cIRReceiveData[cNumber1]|0x80;
voidDelay(unsignedcharcDelay)//x*0.14MS
{
unsignedcharcNumber;
while(cDelay--)
{
for(cNumber=0;cNumber}
}
函数名称:One_DigitalTube_display
函数功能:把数字显示在数码管上,因为实验板上用了锁存器573控制数
}
while(!IR)//确认IR信号出现
{//等IR变为高电平,跳过9ms的前导低电平信号。
Delay(1);
}
for(cNumber1=0;cNumber1{//仅接着是两个命令码,这是NEC公司所定义
的协议里规定的
for(cNumber2=0;cNumber2{
while(IR)//等IR变为低电平,跳过4.5ms的前导高电平信号。
ucharcodeDis_table[]=//将BCD码转换成数码管扫描码的数组

探索单片机解码红外遥控信号的简单编程

探索单片机解码红外遥控信号的简单编程
COM3 COM O S 3 S 。采用 两 节 7号 电池 供 电 。  ̄ 、1 ̄ 0
定 稿 日期 : 0 0 1- 2 2 1- 0 1
用 户码 高 8 、 户 码低 8 、 键 码 8 、 键 反码 8 。图 位 用 位 按 位 按 位
2 从 一体 化 红 外接 收 头输 出端 获取 的完 整 的遥 控码 波 形 图 。 是 无 红 外码 时 , 直 为 高 电 平 , 遥 控 码 输 出 时 , 先 是 9 的 一 有 首 ms 低 电平 ,接 着 是 4 的 高 电 平 ,以后 就 是 3 ms 2位 的 数 据脉 冲
ZH AN G —h En
( h n q gC t u y n o n o r u pyC . t. n a gC o g mg4 4 0 , h a C o g i i Y n a gC u t P we p l o, d Yu y n h n q 0 5 0c i ) n y y S L n
t og a ss pl d ay t nd rtn hepr r m i i m ea n e s O u esa d. I ie 2 bi ul o o ary y 8 tD e , n e s w n te LCD i ui rsa twrt s3 t p s c det ra b il a d t n ho i s e s h h l q d c ytl d s a o t rby he a e i a. iply m nio x d cm 1
Re e r h o h i p e tP o r m m i g o i g e Ch p s a c n t e S m ls r g a n fS n l i
M ir c m p e c d sI f a e m o e S g a coo ut r De o e n r r d Re t i n l

(完整版)基于51单片机的红外遥控器解码设计毕业论文

(完整版)基于51单片机的红外遥控器解码设计毕业论文

第1章红外解码系统分析第1节设计要求整个控制系统的设计要求:被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间应小于1s;整个系统的抗干扰能力强,防止误动作;整个系统的安装、操作简单,维护方便;成本低。

红外载波、编码电路设计要求:单片机定时器精确产生38KHz红外载波;根据控制系统要求能对红外控制指令信号精确编码并迅速发送。

红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出TTL电平信号;对非红外光及边缘红外光抗干扰能力强。

设备扩展模块设计要求:直流控制交流;抗干扰能力强;反应迅速不产生误动作;能承受大电流冲击。

第2节总体设计方案2.1 方案论证驱动与开关方案一:采用晶闸管直接驱动。

其优点是体积小,电路简单,外围元件少。

但控制电流小,大电流晶闸管成本高,并且隔离性能差。

方案二:采用三极管驱动继电器。

其体积大,外围元件多。

优点是控制电流大,隔离性能好。

根据实际情况,拟采用方案二。

2.2 总体设计框图经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,1602液晶显示驱动电路。

整体设计思路为:根据扫描到不同的按键值转至相对应的ROM表读取数据。

确认设备及菜单选择键后AT89S2将从ROM读取出来的值,按照数据处理要求从P2.5输出控制脉冲与T0产生的38KHz的载波(周期是26.3μs)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。

红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。

然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。

图1-1 电路设计整体框图第2章红外解码硬件电路设计第1节单片机及其硬件电路设计1.1 单片机的介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

单片机的红外遥控器解码原理与实现

单片机的红外遥控器解码原理与实现

单片机的红外遥控器解码原理与实现红外遥控器是我们日常生活中常见的电子设备,它通过使用红外线信号与接收器进行通信。

而在这个过程中,单片机起到了解码的重要作用。

本文将介绍单片机解码红外遥控器的原理以及实现方法。

一、红外遥控器的工作原理红外遥控器是一种使用红外线进行通信的设备,它主要由发送器和接收器两部分组成。

发送器将指令数据转换为红外脉冲信号并发送出去,接收器通过接收红外线信号并将其转换为电信号,进而解码为可识别的指令。

而单片机则负责接收并解码红外信号,将其转化为具体的操作。

二、单片机解码红外信号的原理单片机解码红外信号主要分为两个步骤:红外信号的接收和信号的解码处理。

1. 红外信号的接收单片机通过外部的红外接收器接收红外信号。

红外接收器可以通过外部电路将接收到的红外信号转换为电压信号,然后通过单片机的IO 口输入。

2. 信号的解码处理接收到的红外信号经过IO口输入后,单片机需要对信号进行解码处理。

解码的过程涉及到红外信号的标准化和解析。

对于常见的红外遥控器协议,单片机需要能够识别其编码方式,确定其协议格式。

这些协议通常包含了引导码、地址码和指令码等信息。

在解析红外信号时,单片机首先需要识别引导码。

引导码是红外信号的起始标志,通常由高、低电平组成,表示编码的开始。

单片机通过判断引导码的时间长度来确定信号的开始。

接下来,单片机需要识别地址码和指令码。

地址码是用来区分不同的红外遥控器设备,指令码则表示具体的操作指令。

单片机通过判断地址码和指令码的高、低电平时间长度来确定具体的操作。

三、单片机解码红外信号的实现方法单片机解码红外信号有多种实现方法,以下是一种简单的实现示例。

首先,需要连接红外接收器到单片机的IO口,将接收到的信号输入到单片机。

接收到的信号可以通过外部中断的方式触发单片机的中断服务程序。

然后,在中断服务程序中,单片机需要根据红外协议的规则,判断引导码、地址码和指令码的时间长度。

利用计时器或延时函数可以实现对信号时间的测量。

用单片机解码红外遥控器

用单片机解码红外遥控器

用单片机解码红外遥控器用单片机解码红外遥控器遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。

如果能将遥控器上许多的按键解码出来.用作单片机系统的输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。

而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。

下面以TC9012编码芯片的遥控器为例。

谈谈如何用常用的51系统单片机进行遥控的解码。

一、编码格式1、0和1的编码遥控器发射的信号由一串O和1的二进制代码组成.不同的芯片对0和1的编码有所不同。

通常有曼彻斯特编码和脉冲宽度编码。

TC9012的O和1采用PWM方法编码,即脉冲宽度调制,其O码和1码如图1所示(以遥控接收输出的波形为例)。

O码由O.56ms低电平和0.56ms高电平组合而成.脉冲宽度为1.12ms.1码由0.56ms低电平和1.69ms高电平组合而成.脉冲宽度为2.25ms。

在编写解码程序时.通过判断脉冲的宽度,即可得到0或1。

2、按键的编码当我们按下遥控器的按键时,遥控器将发出如图2的一串二进制代码,我们称它为一帧数据。

根据各部分的功能。

可将它们分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。

遥控器发射代码时.均是低位在前。

高位在后。

由图2分析可以得到.引导码高电平为4.5ms,低电平为4.5ms。

当接收到此码时.表示一帧数据的开始。

单片机可以准备接收下面的数据。

地址码由8位二进制组成,共256种.图中地址码重发了一次。

主要是加强遥控器的可靠性.如果两次地址码不相同.则说明本帧数据有错.应丢弃。

不同的设备可以拥有不同的地址码.因此。

同种编码的遥控器只要设置地址码不同,也不会相互干扰。

图中的地址码为十六进制的0EH(注意低位在前)。

在同一个遥控器中.所有按键发出的地址码都是相同的。

数据码为8位,可编码256种状态,代表实际所按下的键。

51单片机红外的遥控解码程序的编写

51单片机红外的遥控解码程序的编写

51单片机红外的遥控解码程序的编写下面把这次红外编程的解码的经历简要的写一下,以便以后回顾总结:红外遥控过程是这样的:红外遥控器的矩阵键盘按键,接着专用芯片编码调制然后红外发射;红外接受头经过光电放大,解调,最后解码编程。

我的遥控专用芯片是UPD6122G-001.解码晶振是455kHz,调制载波频率是455kHz/12=38kHz。

此外调制信号是PWM进行调制的,0是脉冲波形位0.5625ms的高电平跟0.5625ms的低电平组成,1则是0.5625ms的高电平跟1.6785ms的低电平组成。

跟其他通用的波形一样,有键按下时,先是9ms的高电平的起始码,接着是一个4.5ms结果码,接下来就是数据了。

用户码的高8位,用户码的低8位,8位数据码,8位数据反码,最后还有一个停止位。

如果按键一直没松,则接下来就只是发送起始码(9ms高电平),接着是一个2.2ms的低电平,再接着是一个停止位。

我的红外接在单片机p3.7引脚上面,从网上收集了一些程序,基本上如同一则,汇编编写,跟外部中断还有关系。

于是便萌生了自己写一下的想法。

我的思路是用定时器进行计数,然后编程。

刚开始编写程序是,由于忘了对定时器的标志位进行置为,结果定时中断根本就没有执行,手头上又没有用仿真芯片,搞得我下载调试了十来次才发现了这个问题。

还有一个问题刚开始遥控能够解码的时候,可是一直按某个键,你按一次,她就变化一次,搞得我很是郁闷,差点儿没晕过去。

怎么找都不知道问题的所在,心里不断地打算放弃,不过最后还是坚持了下来,原来电路的实际解码电平跟资料上是相反的。

遥控器的实际电平由高变低,而电路板上却是由低变高。

这点确好相反。

总结:一要自信,二要坚持,才有可能完成你想做的事件。

#include"reg51.h"#include"2-16.h"#include"address.h"//需要显示的信息uchar code hello[] = "Hello,PengSen!";//变量uchar data psCount; //定时器计数器uchar data i;uchar data j;uchar data temp;uchar data dp[4]; //用来保存红外遥控的码值uchar data dp2[12];//用来显示红外遥控的码值sbit HW = P3^7;void delay(unsigned int y);void main(){//初始化initlcd();dp[0] = 0x0;dp[1] = 0x0;dp[2] = 0x0;dp[3] = 0x0;TMOD = 0x11; // 定时器0, 1工作模式1, 16位定时方式TH1 = 0xfe; //定时500uSTL1 = 0x33;TCON = 0x01;IE = 0x80;TR1 = 1;printf(hello,13);while(1){//报文头ET1 = 0;psCount = 0;while(HW == 1); //初始状态下,红外输出脚一直是高电平,等待遥控按键ET1 = 1;while(HW == 0);if( psCount > 17)//0.5* 17 = 8.5ms约为9.0ms{ET1 = 0;psCount = 0;ET1 = 1;while(HW == 1);if(psCount > 5)//超过0.5*5 = 2.5毫米,检查一下遥控命令是不是连发,不是则执行下面的程序{ET1 = 0;psCount = 0;dp[0] = 0x0;dp[1] = 0x0;dp[2] = 0x0;dp[3] = 0x0;//数据for(i = 0 ; i < 4; i++){for(j = 0; j < 8; j++){while(HW == 0);ET1 = 0;psCount = 0;ET1 = 1;while(HW == 1);if(psCount > 2)//根据波形长度判定码值为0或1temp = 0;elsetemp = 1;dp[i] |= (temp<<="">}}}}//停止位while(HW == 1);//数据显示delay(20);dp2[0] = dp[0]/100 + 0x30;dp2[1] = dp[0]%100/10 + 0x30;dp2[2] = dp[0]%10 + 0x30;dp2[3] = dp[1]/100 + 0x30;dp2[4] = dp[1]%100/10 + 0x30;dp2[5] = dp[1]%10 + 0x30;dp2[6] = dp[2]/100 + 0x30;dp2[7] = dp[2]%100/10 + 0x30; dp2[8] = dp[2]%10 + 0x30; dp2[9] = dp[3]/100 + 0x30;dp2[10] = dp[3]%100/10 + 0x30; dp2[11] = dp[3]%10 + 0x30; printf(dp2,12);delay(20);}}//延时子程序void delay(unsigned int y){uchar x;for(;y!=0;y--)for(x=200;x!=0;x--); }//定时器1中断void timer1() interrupt 3 {psCount++;TH1 = 0xfe; //定时500uS TL1 = 0x33;}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章红外解码系统分析第1节设计要求整个控制系统的设计要求:被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间应小于1s;整个系统的抗干扰能力强,防止误动作;整个系统的安装、操作简单,维护方便;成本低。

红外载波、编码电路设计要求:单片机定时器精确产生38KHz红外载波;根据控制系统要求能对红外控制指令信号精确编码并迅速发送。

红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出TTL电平信号;对非红外光及边缘红外光抗干扰能力强。

设备扩展模块设计要求:直流控制交流;抗干扰能力强;反应迅速不产生误动作;能承受大电流冲击。

第2节总体设计方案2.1方案论证驱动与开关方案一:采用晶闸管直接驱动。

其优点是体积小,电路简单,外围元件少。

但控制电流小,大电流晶闸管成本高,并且隔离性能差。

方案二:采用三极管驱动继电器。

其体积大,外围元件多。

优点是控制电流大,隔离性能好。

根据实际情况,拟采用方案二。

2.2总体设计框图经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,1602液晶显示驱动电路。

整体设计思路为:根据扫描到不同的按键值转至相对应的ROM表读取数据。

确认设备及菜单选择键后AT89S2将从ROM读取出来的值,按照数据处理要求从P2.5输出控制脉冲与T0产生的38KHz的载波(周期是26.3μs)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。

红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。

然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。

图1-1 电路设计整体框图第2章红外解码硬件电路设计第1节单片机及其硬件电路设计1.1单片机的介绍AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8K字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

图2-1 AT89S52引脚图1.2时钟电路及RC复位电路AT89S52芯片内部有一高增益反相放大器,用于构成振荡器反相放大器的输入端为XTAL1,输出端为XTAL2。

在XTAL1、XTAL2(第19、18引脚)两端接一个石英晶体振荡器,和两个电容就构成了稳定自激谐振电路。

晶振频率为11.0592MHz,C12、C13是两个瓷片电容,与晶振Y2构成了自激谐振电路。

其电容的作用主要是对频率进行微调,一般取30~45pF左右。

使用该电路可产生稳定的11.0592MHz频率,受外界的环境的干扰影响非常小。

其接法如图2-2所示:图2-2 晶振电路复位是单片机初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H 单元执行程序。

除了进入系统的正常初始化之外,当程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位键重新启动。

复位操作有上电自动复位和按键手动复位两种方式。

本设计采用了按键手动复位方式。

该复位电路如图2-3所示。

复位电路采用了按键与上电复位。

上电与按键均可以有效复位。

上电瞬间RST引脚获得高电平,单片机复位电路随着电容的C11的充电,RST引脚的高电平逐渐下降。

RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。

按键复位是直接将高电平通过电阻R11、R10分压到达RESET引脚,实现复位操作。

图2-3复位电路图第2节红外遥控器电路2.1采用TC9012芯片编码的遥控器TC9012 是一块用于东芝系列红外遥控系统中的专用发射集成电路,采用CMOS 工艺制造。

它可外接32 个按键,提供8 种用户编码,另外还具有3 种双重按键功能。

TC9012 的管脚设置和外围应用线路都进行了高度优化,以配合PCB 的布图和低成本的要求。

图2-4 TC9012引脚图低压CMOS 工艺制造,低功耗超小静态电流,低工作电压,精简条指令码,8 种用户编码可选择,TSOP-20、SOP20、COB 可选的封装形式。

应用范围:电视机、组合音响设备、录音卡座、VCD、DVD 播放机。

2.2红外发射电路将脉冲编码信号调制在载波振荡器产生的载波上(也称脉码调制),然后用这脉码调制信号去驱动红外发光二极管,以发出经过调制的红外光波,其红外遥控系统电路如图2-5所示。

图2-5红外遥控系统电路框图通常,红外遥控器将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去。

二进制脉冲码的形式有多种,其中最为常用的是PWM码(脉冲宽度调制码)和PPM码(脉冲位置调制码)。

前者以宽脉冲表示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的低电平组成(不同的红外家用设备在高低电平的宽度上有一定区别),用来标志遥控编码脉冲信号的开始。

如图2-7所示。

图2-7 信号引导码图系统码也叫识别码,它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作功能码也叫指令码,它代表了相应的控制功能,接收机中的可根据功能码的数值完成各种功能操作。

系统反码与功能反码分别是系统码与功能码的反码,反码的加入是为了能在接收端校对传输过程中数据是否产生差错。

脉冲位置表示的“0”和“1”组成的32位二进制码,前16位控制指令,控制不同的红外遥控设备。

而不同的红外家用电器又有不同的脉冲调控方式,后16位分别是8位的功能码和8位的功能反码。

串行数据码时序图如2-8所示。

图2-8 串行数据码时序图将要发送的指令脉冲编码信号调制在38KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。

信号调制时序如2-9所示。

图2-9 信号调制图TC9012作为红外遥控器控制核心,遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。

以PPM码(脉冲位置调制码)对红外数据调制在38KHz 的载波上对外进行发射信号。

第3节红外接收显示电路硬件电路组成有:红外接收电路、电源电路、1602液晶显示电路。

3.1红外接收电路HS0038是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。

接收器对外只有3个引脚:OUT、GND、VCC与单片机接口非常方便。

1脚接电源(+VCC),2脚GND是地线(0V),3脚脉冲信号输出,经非门U6缓冲与P24的判断信号进行逻辑与使得进入INT0的信号恰好是红外数据发射电路输出端P25的相反相信号,只要检测到INT0信号下降沿从而测出控制指令的功能。

图2-12 HS0038内部结构工作流程HS0038接收原理:红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。

这些工作通常由一体化的接收头来完成,输出TTL 兼容电平。

最后通过解码把脉冲信号转换成数据,从而实现数据的传输。

图2-13是一个红外线接收电路框图。

图2-13红外接收及控制电路框图本设计的核心部分在于红外接收及LCD显示。

其中红外数据接收是对红外二进制脉冲的宽度进行测量,从而获得红外遥控的脉冲信息。

采用外部中断成为了理所当然的选择,外部中断只有低电平和下降沿触发两种方式,这就使得单片机只能一次性对脉冲的高电平或低电平进行测量,而一连串的脉冲是不可能分开多次测量的,因此,为了解决这一问题,本人将从接收头出来的红外二进制脉冲信号与标志位(P24)进行逻辑或非,然后再输入到INT0(P3.2)引脚,使得输入INT0的信号恰好是红外数据发射电路输出端P25的信号,只要检测到INT0信号下降沿到上升沿的这段时间。

如果相邻的两个中断间隔的时间长度为1.125ms,说明接收到的是“0”;时间长度是2.25ms则为“1”。

因此,脉冲电平的每一次跳变都会形成一次中断,在中断服务子程中即可实现一次性对一连串连续波形的测量,在测量后对0和1的各数据统计从而测出控制指令的功能。

硬件或非门的反应速度是纳秒级的,满足实时要求。

红外接收电路连接图如图2-14所示。

图2-14红外接收电路图3.2 1602液晶显示电路1602LCD主要技术参数:显示容量:16×2个字符,芯片工作电压:4.5~5.5V,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V,字符尺寸:2.95×4.35(W×H)mm。

1.引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-1所示。

表2-1液晶1602引脚说明编号符号引脚说明编号符号引脚说明1 VSS 电源地9 D2 数据2 VDD 电源正极10 D3 数据3 VL 液晶显示偏压11 D4 数据4 RS 数据/命令选择12 D5 数据5 R/W 读/写选择13 D6 数据6 E 使能信号14 D7 数据7 D0 数据15 BLA 背光源正极8 D1 数据16 BLK 背光源负极第1脚:V SS为地。

相关文档
最新文档