当前位置:文档之家› 万能红外遥控解码模块【精选】

万能红外遥控解码模块【精选】

万能红外遥控解码模块【精选】
万能红外遥控解码模块【精选】

https://www.doczj.com/doc/3b5623136.html,/item.htm?id=7693624806

该模块采用5V电源供电,可以完成目前应用最广泛的多种红外遥控编码的解码,包括飞利浦(RC5)编码(典型编码芯片如SAA3010及兼容芯片如PT2210 等)和NEC编码(典型编码芯片如uPD6121,uPD6122, TC9012 )以及众多的兼容芯片型号,(如PT2221, PT2222, SC6121, SC6122,SC9012 等等),采用该模块,可以缩短开发时间,节约CPU 资源,降低总体成本。

特点

●使用简单、可靠

● 支持多种编码

● 兼容SPI 及UART(波特率9600)的串行输出

● 采用数字滤波技术,高抗干扰,无误码

● 接收有效指示输出

● 工业级温度范围

储存温度-65至+150℃

工作温度-40至+85℃

任意接口对地电压-0.3至6V

红外编码介绍

目前应用于家电等领域的红外线遥控装置,并没有统一的国际标准,目前市场上所见的红外线遥控编码芯片,超过10 种之多,分别由飞利浦公司、NEC 公司、SONY 公司、东芝公司、三菱公司、JVC 公司等生产,使用的编码方式各不相同。目前应用最广泛、兼容产品最多的,是飞利浦公司(RC5编码)的和NEC 公司的编码芯片。本模块可以完成这两种格式编码的解码工作。

RC5 编码:

RC5 编码由飞利浦公司推出,其编码芯片有SAA3010,SAA3006 等,是应用很

广泛的一种编码方式。

RC5 编码采用双相位编码方式,用不同相位分别代表“0”和“1”。传送每一位的时间固定为1.778mS。

每一个指令包括1.5bits 的起始位(2 个逻辑1),1 个翻转位,5 位系统码(地址码),以及6 位命令码(键码),因此,最多可以支持64 个键。

翻转位在每次有新的按键按下去的时候翻转一次,这里指的新按键,也包括同一个键抬起后再次按下的情况。如果某个键持续按下,则编码芯片会不断地重复发送同样的数据。翻转位保持不变。而如果该键中途抬起后再次按下,则再次按下后所发送的数据中的翻转位发生翻转,其它数据保持不变。

NEC 编码:

NEC 编码由NEC 公司推出,其典型编码芯片为uPD6121,uPD6122,除了NEC 公司的产品,市场上还有大量与之相兼容的产品,如PT2221, PT2222, SC6121, SC6122,SC9012 等等。是应用最广泛的一种编码方式。

该编码方式采用脉冲位置编码方式,利用脉冲间的时间间隔来区分“0”和“1”。

每个指令包括32 位数据,包括16 位的用户码、以及8 位键数据码和键数据码的反码。因为具有反码可以作为校验的依据,因此该种编码方式具有很低的误码率。理论上该编码方式可以支持256 个键,实际的编码芯片一般可支持64 个

键。

uPD1621 等芯片支持组合按键,即某些键码只有在特定的2 个键同时按下的情况下才会发出,这个功能对于类似录像机“录像”键等需要防止误操作的场合非常有用。

模块的输出接口

ATC信号:模块的ACT 引脚作为接收有效指示输出,当模块芯片接收到有效的数据时,ACT 变为低电平。对于RC5 和NEC 2种工作模式,ACT 信号的表现略有不同,这是由于两种编码制式的不同传输方式决定的。下面分别介绍在两种工作模式下模块的输出情况:

RC5 模式:

RC5 的编码芯片在有持续按键的时候,会不断地重复发送相同的数据,因此,本模块也会不停地重复输出解码出的数据,而ACT 信号也会随着不停地跳变,每一个新的数据码到来时,都会输出一个低电平脉冲。

NEC 模式:

与RC5 模式的遥控器不同,NEC 格式的遥控芯片在有按键持续按下的情况下,不是重复地发出数据码,而是仅在第一次时传送一次数据,此后只是每108ms 发送一次引导信号,表示按键还持续有效。因此,本模块在接受这样的信号时,也只会在最开始输出一次数据,而按键的保持情况,是通过ACT 信号的持续低电平来表示的,如果ACT 一直持续保持低电平,则表示该按键一直有效,按键抬起后,ACT 也随之恢复高电平。(见下图)

如果用户需要判断遥控器的键是否被持续按下,对应RC5 模式和NEC 模式,应采用不同的方法,RC5 模式下,系统用翻转位来表示新的按键,用户可以将最后收到的键码数据中的翻转位(本模块芯片将翻转位置于键码数据的最高位BIT7)与上一次收到的数据中的翻转位相比较,如果两次翻转位相同,则表示是持续的按键,如果不同,则表示这是一个新的按键。而对于NEC 模式,用户则可以通过监视ACT 信号来判断按键的情况,如果收到键码后,ACT 持续保持为低电平,则表示按键一直没有释放。

串行输出:模块串行数据输出使用三个引脚,分别用作SS(选通信号),CLK(时钟信号),DAT(串行数据)。使用串行输出时,ACT 引脚电平也会发生变化, ACT 在数据开始输出前就跳变为低电平。

模块的串行输出,采用的是标准的3 线SPI 接口方式,不过,为了达到最大的兼容性,数据的传送速率(波特率)被特别设定为9600,因此,发出的数据也可以直接用于波特率为9600 的异步串行接口。数据采用低位在前的方式。输出时,SS 首先变为低电平,同时DAT 端也变为低电平,这个状态将保持104uS,这个时间正好是波特率9600 的异步串行口传送1 个BIT 所用的时间,如果接收数据方是UART,则DAT 保持低电平的这个104uS,相当于发送了1 个起始位(START BIT)。随后第一个数据位在DAT 上输出,CLK 开始输出同步脉冲,每输出一位所用的时间为104uS,8 位数据的最后一位数据输出完成后,SS 恢复为高电平。

模块工作时,会将收到的用户码和按键键码一同输出,因此每次输出2-3 个字节,RC5 模式地址码只有5 位,因此输出2个字节,一个字节的地址码和一个字节的键码,地址码先输出。NEC 模式有16 位用户码,因此将总共输出3 个字节,用户码高8 位在前,其次是用户码低8 位,最后是按键的键码。

下面用NEC 模式为例,说明其输出的波形:

模块的应用方式

1.与微处理器接口

(1)、使用UART 方式

很多的微处理器都提供片上的UART 接口,模块的串行输出兼容于“波特率9600,1 个起始位,1 个停止位,无奇偶校验位”的UART,使用的方式极其简单,只需要将模块的DAT引脚与微控制器的RX引脚相连即可。这种接口方式只需要占用1 根口线,微处理器的数据接收可以由硬件完成,占用CPU 的资源很少。(2)、使用SPI 方式

有的微处理器,比如ATMEL 公司的AVR 系列等,具有片上的可以工作于从机模式的SPI 接口,这时也可以利用SPI 接口,和UART 方式类似,这种方式数据传输也由硬件完成,占用CPU 资源很少。以AVR 芯片为例,将模块的DAT与单片机的MOSI 引脚相连,CLK 与SCK 相连,SS 与SS 相连,设置AVR 芯片的SPI 接口工作于“从机、上升沿为起始沿(Clock Polarity=LOW)、起始沿采样、低位数据在前”模式即可。

(3)、使用外部中断读取串行数据

上面第三种方式占用的I/O 口比较多,如果希望减少I/O 的使用,可以采用外部中断读取串行数据的方式,这时,可以用SS 信号的下降沿或者CLK 信号的上升沿作为中断的触发条件。使用SS 下降沿作为触发时,从中断触发到数据出现在DAT 引脚上,有104uS的时间,用户可以在中断处理程序中监视CLK 的状态,每次CLK 由低电平变为高电平,就读取一位数据。因为每一位的时间都是104uS,加上开始时的104uS,整个中断处理程序(读取一个字节)需要耗时约900uS。也可以采用CLK 的上升沿作为中断触发条件,每次中断服务程序只读取一位数据,这样可以减少一些读取数据的时间开销。

(4)、不使用中断的接口方式

上面的几种方式都使用了硬件的串行接口或者是中断资源,有的低成本的微

控制器没有这些资源,或者资源被其它程序占用,不能使用硬件接口和中断,则必须采取查询的方式。查询方式的最大问题在于存在的丢失数据的可能性,因为程序除了查询模块状态外,还会有其他工作要做。当程序正在执行其他任务,或者收到一个按键指令后进行处理尚未完成时,又有新的按键数据,则新来的数据就有可能因为未被CPU 察觉而丢失。

2. 与RS-232口相连

模块的DAT输出经过简单的电平转换,就可以直接用于RS-232 接口,可以直接被PC接收,配合适当的软件(如串口调试助手等),可以完成PC的遥控控制及键码显示。

如通过MAX232电平转换后,在PC上通过配置好的串口调试助手,如下图,就能读出相应遥控器的按键编码。

模块的示例程序

//模块的DAT端接51单片机RX端在LCD1602显示一款NEC编码遥控器数字0-9 #include

#include

#define uchar unsigned char

#define uint unsigned int

#define INBUF_LEN 3

uchar inbuf1[INBUF_LEN]; unsigned char i=0;

uchar c=0;

uchar ir_value;

sbit BZ=P3^5;//蜂鸣器

bit read_flag= 0 ;

uchar code a[10]={"0123456789"};

//延时ms

void Delay1ms(uint count)

{

uint i,j;

for(i=0;i

for(j=0;j<120;j++);

}

//串口初始化

void init_serialcomm( void ) {

TMOD=0x20;

TH1=0xfd; //设置波特率为9600

TL1=0xfd;

SCON=0x50;

TR1=1;

ES=1;

EA=1;

}

//串口接收3字节中断函数

void Rcv_INT(void) interrupt 4 {

if(RI)

{

RI=0;

inbuf1[i]=SBUF;

i++;

if(i==INBUF_LEN)

{

i=0;

read_flag=1;

}

}

}

//主函数

void main(void)

{

LCD_Initial();

Delay1ms(50);

GotoXY(0,0);

Print("The 1602LCD IR");

GotoXY(0,1);

Print("GO: by YU");

GotoXY(5,1);

LCD_Write(LCD_DATA,a[c]);

init_serialcomm(); //初始化串口

while ( 1 )

{

Delay1ms(50);//延时50MS开始接收

i=0; //忽略BC7210上电输出乱码

if(read_flag) //如果取数标志已置位,就将读到的数进行辗转处理

{

read_flag =0; //取数标志清0

if(inbuf1[0]==0x00&&inbuf1[1]==0xFF)//接收到的地址码高8位和低8位 {

BZ=!BZ;

Delay1ms(50);//蜂鸣器响一下表示接收到数据

BZ=!BZ;

ir_value=inbuf1[2];//接收到的1字节数据码

switch(ir_value)//判断数据码对应遥控器键盘的数据

{

case 0x12:{c=0;break;}//注意:遥控器的地址码和数据码事先通过串口调

//试助手在PC上读出,不同的遥控有不同的

//编码,见上节与RS-232口相连的内容 case 0x09:{c=1;break;}

case 0x1D:{c=2;break;}

case 0x1F:{c=3;break;}

case 0x0D:{c=4;break;}

case 0x19:{c=5;break;}

case 0x1B:{c=6;break;}

case 0x11:{c=7;break;}

case 0x15:{c=8;break;}

case 0x17:{c=9;break;}

default:{break;}

}

GotoXY(5,1);

LCD_Write(LCD_DATA,a[c]);

}

}

}

}

//以下是LCD1602.H文件

#ifndef LCD_CHAR_1602_2005_4_9

#define LCD_CHAR_1602_2005_4_9

#include

//PortDefinitions**************************************************** sbit LcdRs = P1^0;

sbit LcdRw = P1^1;

sbit LcdEn = P1^2;

sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口

//内部等待函数***************************************************** unsigned char LCD_Wait(void)

{

LcdRs=0;

LcdRw=1; _nop_();

LcdEn=1; _nop_();

while(DBPort&0x80);//在用Proteus仿真时,注意用屏蔽此语句,在调用//GotoXY()时,会进入死循环,

//可能在写该控制字时,该模块没有返回写入完备命

//令,即DBPort&0x80==0x80

//实际硬件时打开此语句

LcdEn=0;

return DBPort;

}

//向LCD写入命令或数据****************************************

#define LCD_COMMAND 0 // Command

#define LCD_DATA 1 // Data

#define LCD_CLEAR_SCREEN 0x01 // 清屏

#define LCD_HOMING 0x02 // 光标返回原点

void LCD_Write(bit style, unsigned char input)

{

LcdEn=0;

LcdRs=style;

LcdRw=0; _nop_();

DBPort=input; _nop_();//注意顺序

LcdEn=1; _nop_();//注意顺序

LcdEn=0; _nop_();

LCD_Wait();

}

//设置显示模式***************************************************

#define LCD_SHOW 0x04 //显示开

#define LCD_HIDE 0x00 //显示关

#define LCD_CURSOR 0x02 //显示光标

#define LCD_NO_CURSOR 0x00 //无光标

#define LCD_FLASH 0x01 //光标闪动

#define LCD_NO_FLASH 0x00 //光标不闪动

void LCD_SetDisplay(unsigned char DisplayMode)

{

LCD_Write(LCD_COMMAND, 0x08|DisplayMode);

}

//设置输入模式****************************************************** #define LCD_AC_UP 0x02

#define LCD_AC_DOWN 0x00 // default

#define LCD_MOVE 0x01 // 画面可平移

#define LCD_NO_MOVE 0x00 //default

void LCD_SetInput(unsigned char InputMode)

{

LCD_Write(LCD_COMMAND, 0x04|InputMode);

}

//移动光标或屏幕***************************************************** /*

#define LCD_CURSOR 0x02

#define LCD_SCREEN 0x08

#define LCD_LEFT 0x00

#define LCD_RIGHT 0x04

void LCD_Move(unsigned char object, unsigned char direction)

{

if(object==LCD_CURSOR)

LCD_Write(LCD_COMMAND,0x10|direction);

if(object==LCD_SCREEN)

LCD_Write(LCD_COMMAND,0x18|direction);

}

*/

//初始化LCD********************************************************* void LCD_Initial()

{

LcdEn=0;

LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);

LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标

LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏

LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC递增, 画面不动

}

//******************************************************************* void GotoXY(unsigned char x, unsigned char y)

{

if(y==0)

LCD_Write(LCD_COMMAND,0x80|x);

if(y==1)

LCD_Write(LCD_COMMAND,0x80|(x-0x40));

}

void Print(unsigned char *str)

{

while(*str!='\0')

{

LCD_Write(LCD_DATA,*str);

str++;

}

}

/*

void LCD_LoadChar(unsigned char user[8], unsigned char place)

{

unsigned char i;

LCD_Write(LCD_COMMAND,0x40|(place*8));

for(i=0; i<8; i++)

LCD_Write(LCD_DATA,user[i]);

}

*/

//******************************************************************* #endif

以下是附加文档,不需要

的朋友下载后删除,谢谢

顶岗实习总结专题13篇

第一篇:顶岗实习总结

为了进一步巩固理论知识,将理论与实践有机地结合起来,按照学校的计划要求,本人进行了为期个月的顶岗实习。这个月里的时间里,经过我个人的实践和努力学习,在同事们的指导和帮助下,对村的概况和村委会有了一定的了解,对村村委会的日常工作及内部制度有了初步的认识,同时,在与其他工作人员交谈过程中学到了许多难能可贵经验和知识。通过这次实践,使我对村委会实务有所了解,也为我今后的顺利工作打下了良好的基础。

一、实习工作情况

村是一个(此处可添加一些你实习的那个村和村委会的介绍)我到村村委会后,先了解了村的发展史以及村委会各个机构的设置情况,村委会的规模、人员数量等,做一些力所能及的工作,帮忙清理卫生,做一些后勤工作;再了解村的文化历史,认识了一些同事,村委会给我安排了一个特定的指导人;然后在村委会学习了解其他人员工作情况,实习期间我努力将自己在学校所学的理论知识向实践方面

转化,尽量做到理论与实践相结合。在实习期间我遵守了工作纪律,不迟到、不早退,认真完成领导交办的工作。

我在村委会主要是负责管理日常信件的工作,这个工作看似轻松,却是责任重大,来不得办点马虎。一封信件没有及时收发,很有可能造成工作的失误、严重的甚至会造成巨大的经济损失。很感谢村委会对我这个实习生的信任,委派了如此重要的工作给我。在实习过程中,在信件收发管理上,我一直亲力亲为,片刻都不敢马虎。

为了做好信件的管理工作,我请教村委会的老同事、上网查阅相关资料,整理出了一套信函管理的具体方法。每次邮递员送来的信件,我都要亲自检查有无开封、损坏的函件,如果发现有损坏的函件,我马上联络接收人亲自来查收。需要到邮局领取的函件,我都亲自到邮局领取,并把信函分别发放到每个收件人的手里。对于收到的所有信函,我都分门别类的登记,标注好收发人的单位、姓名还有来函日期等等。我对工作的认真负责,受到了村委会领导和同事们的一致好评,在他们的鼓励下,我的工作干劲更足了。

在工作之余,我还经常去村民家里,帮助他们做一些我力所能及的事情,也让我收获了很多知识,学会了许多技能。我学会了一些常见农作物的生长特征,也学会了怎么给农作物施肥,洒药。这些,都将是我今后人生道路上的宝贵财富。

短短个月的实习生活很快就过去了,这次实习是我从学校踏入社会的第一步。在这里,我感受到了村民们的纯朴,也体会到了农村生

活的不易,更加深刻的认识到了作为当代大学生身上肩负的使命。在这次实习生活中,村委会的叔叔、阿姨们对我十分的照顾,在工作中,在生活上都给予了我很多的帮助,也对我寄予了很高的期望。通过这次实习,锻炼了我的做事能力,养成了对人对事的责任心,也坚定了我加强学习,提升自我价值的信心。

二、发现的问题和建议

在此次在村村委会顶岗实习的工作中,确实让我学到了不少书本以外的知识,同时我也发现了不少问题。

第一,该村村委会的工作人员文化水平相对偏低,在村务工作的处理上,方式方法比较粗放。

第二,村委会工作人员思想比较守旧,缺乏对新事物、新观念的学习和认识。

第三,村委会的现代化办公水平还比较低,虽然配备了电脑等现代化办公工具,但是实际的利用程度很低。

第四,村委会人员由于不是国家编制,工作人员的工作热情和工作态度不是很积极。

三、实习的心得体会

刚开始去村村委会实习的时候,我的心情充满了激动、兴奋、期盼、喜悦。我相信,只要我认真学习,好好把握,做好每一件事,实习肯定会有成绩。但后来很多东西看似简单,其实要做好它很不容易。

通过实践我深有感触,实习期虽然很短,却使我懂得了很多。不仅是进行了一次良好的校外实习......

本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。

第二篇:会计顶岗实习工作总结

从我踏进实习单位的那一刻起,我就知道我将经历一段特殊的不平凡的并且充满收获的人生旅程,那旅程必定在我的生命中写下浓墨重彩的一笔,必定会在我的生命中留下绚烂多彩的回忆,必定会给我带来生命中无与伦比的财富。

一、实习目的

毕业实习是我们大学期间的最后一门课程,不知不觉我们的大学时光就要结束了,在这个时候,我们非常希望通过实践来检验自己掌握的知识的正确性。在这个时候,我来到圣鹿源生物科技股份有限公司在这里进行我的毕业实习。

二、实习内容及过程

为了达到毕业实习的预期目的。在学校与社会这个承前启后的实习环节,我们对自己、对工作有了更具体的认识和客观的评价。在整个的实习工程中,我总共做了以下的一些工作,同时自己的能力也得到了相应的提高。

1.工作能力。在实习过程中,积极肯干,虚心好学、工作认真负责,胜任单位所交给我的工作,并提出一些合理化建议,多做实际工作,为企业的效益和发展做出贡献。

2.实习方式。在实习单位,师傅指导我的日常实习,以双重身份完成学习与工作两重任务。向单位员工一样上下班,完成单位工作;又以学生身份虚心学习,努力汲取实践知识。

3.实习收获。主要有四个方面。一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了教学的实践任务。二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。三是在实习单位受到认可并促成就业......

本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。

第三篇:工厂车间顶岗实习总结

我怀着激动的心情踏上了期待已久的顶岗实习之路,当我坐上离开学校的的班车那一刻起,我就知道我将经历一段特殊的不平凡的并且收获的人生旅程,那旅程必定在我的生命中写下浓墨重彩的一笔,必定会在我的生命中留下绚烂多彩的回忆,并定会给我带来生命中无与伦比的财富。那时候对自己的未来希,希在那里能大展拳脚,实现自己的抱负。那时候想的是多么多么的好啊,直到此刻我才觉得我当时是那么的幼稚,不可能你刚出来什么都没有就让你做好的岗位。

是的,顶岗实习的生活是艰辛的挑战的。当我们来到实习点面对一间间产房和一条条流水线时,很多人后悔为什么当初选择了到海信科龙顶岗实习,但是我想说,这是我所预料到的,这也是我想要的,我知道人只有在艰苦的环境中才能磨练出坚强的意志,我也知道吃得苦中苦,方为人上认得道理,我自然还不是人上人,但是我相信在这个世界上每一个人都渴成功,都渴自己有限的生命能创造出的价值,都渴为更多的人做出自己能做的一切,都渴在看来你的生命无可,我自然也比例外。我知道我的实习之路还刚刚开始,我要经历的还有很多。到啦海信科龙之后,尽管他们很就帮我们把食宿解决啦,但那里生活习惯和在湖南的时候相差太大,吃的很不习惯。对我们湖南人来说菜里面没有一点辣椒是吃不下的,因此在那里的时候开始一段时间都只是吃一点点饭,很快身材就“苗条”啦。

我的实习岗位被分配在总装车间箱发组,面对一台台发好泡的冰箱从自己流过,而我的工作就是和这些冰箱打交道。我在这里做的装冰箱的托板,是将托板固定在冰箱上,这个岗位说难也不难,就是要你记得哪种型号的冰箱用哪种托板,要不要带电容,是几微法的电容。要分清楚,不能弄错,不然会导致以后的环节出错,冰箱制冷时有可能电容会发爆炸。所以这个一定要很认真的做,不能粗心大意,害别人帮你善后。

带我的师傅是一个个中专生,开始时我觉得做这个很简单,不用学,一看就会,做是会做,不过不是最省力的方法,就那么做啦一天,做得很累,后来,我看师傅做看他做的很轻松很快,我就在想为什么

我不行呢,难到是我不如他,我知道我不是只是我不够虚心,不想学,看不起这个岗位,是我的态度,既然找到的根本原因,那就好解决啦。后来,仔细看师傅的动作,怎么最省力,怎么最舒服。并且不懂的地方虚心讨叫那些老员工。就这样到我正式独立上岗时,我也像我师傅那样独立上岗啦,并不用要人帮忙啦。

就这样一直到今年,我把我那条的岗位都学会啦,并且我自己也当师傅啦,而且是带三个徒弟,分别教他们不同的岗位该怎么做,开始当别人师傅时我觉得很好玩,终于不用自己做啦,可以徒弟来做啦,就这样想,所以当徒弟一来时,我就给他做啦,当时我是舒服啦,不过后来就不是那么的啦,我没有认真的教他们......

本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。

第四篇:师范系中学顶岗实习总结

大一的时候就知道大三的上学期学校有顶岗实习活动,也知道这个机会对于我们师范生来说很难得,所以我毅然地选择了顶岗。不知道顶岗的生活会是怎样,学校怎么样,学生好不好管,会是收获满满还是不如不曾经历过,一切都充满疑惑。曾经问过师哥师姐,答案却是相差甚大,一切都是未知数。可转眼间,实习已接近尾声,中学是一个小社会,是大社会的一个缩影,顶岗实习是大学步入社会的一个缩影,是大学进入社会的一个过渡。在这为期半年的实习中,我们有最初的迷茫、紧张、陌生到现在的习惯、大方自然,工作、生活看似

单调,但是,不论从刚开始的听课,到后来的讲课,参加班级管理,我们都受益匪浅:不在懒床,不再拖拉,多了责任,多了经验,也收获了幸福。

从脚步迈入二中这所学校大门开始,我就知道自己已经不仅仅是一个大学生了,我现在是一个老师,我要以老师的身份来完成这半年的实习生涯。另外在这里,学校的领导和老师都给了我很多帮助。学校完全把我们这些顶岗实习生看成正式老师,无论哪一方面都更正式老师一样,没有区别。这对我们这些实习生来说实在是一次难得的锻炼的机会。另外,学校还专门为我们配有指导老师。他们无论在教学技能和教学经验上都能给我们很多指导和帮助。使我们在教学这条路上少走弯路。每个礼拜我们的指导老师都会来听我们的课。每一次准备的过程都是在不断的进步。而我们每个礼拜也会去听指导老师的课,从他们身上,我们能够看到自己的不足,使自己在教学实际中扬长避短。

初为人师,总是有些紧张。我带着羞涩与忐忑抱着课本和教案走上讲台时,尽管我做了很多准备,但当我真正面对那么多双眼睛时,我还是紧张了。同学们,现在开始上课。我机械得重复了在台下不知念了多少遍的开场白。然而,这句话说完,下句该说什么呢?突然间我的脑袋一片空白,只能感觉到有十几双眼睛正齐刷刷地盯着我,让我感到十分地不自在。短暂的犹豫之后,我剩下来的只有微笑,因为我想起了那句话:微笑是法宝。这时学生也对着我微笑,看着他们那一张张稚气的面孔,我所有的紧张都在这一瞬间消失了,透过那一双

双澄清的眼睛,我也似乎读到了那一颗颗纯净的心。等我大汗淋漓的走下讲台,我知道我已成功地走出第一步。从此以后,我便穿梭于讲台与办公室之间。

刚来到这里,对于我们最重要的就是身份的变换,我们不在是天天由老师管理的学生了,我们变成老师了,我们不但要处理好自己的事情,还要管理好孩子,特别是作为班主任,一切的工作都显得那么细致入微,因为这里是县城,大部分来自乡村的孩子都住宿,所以教师又充当着另一种身份--家长。初为人师,总是有些紧张。我带着羞涩与忐忑抱着课本和教案走上讲台时,尽管我做了很多准备,但当我真正面对那么多双眼睛时,我还是紧张了。同学们,现在开始上课。我机械得重复了在台下不知念了多少遍的开场白。然而,这句话说完,下句该说什么呢?突然间我的脑袋一片空白,只能感觉到有十几双眼睛正齐刷刷地盯着我,让我感到十分地不自在。短暂的犹豫之后,我剩下来的只有微笑,因为我想起了那句话......

本文来自公务员之家,查看正文请使用公务员之家站内搜索查看正文。

第五篇:初中教师顶岗实习教学总结

选择顶岗实习是我从上大一就决定了的事情,如今实习已经结束,回想这四个多月的经历发现自己收获了很多。顶岗生活丰富多彩也充满了酸甜苦辣。但是选择它我无悔。下面我对自己的顶岗生活进行一个小小的总结。

红外遥控信号的解码

红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、V CD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反) 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 图4 遥控连发信号波形 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据

史上最全的红外遥控器编码协议

目录 1)MIT-C8D8 (40k) 2) MIT-C8D8(33K) 3)SC50560-001,003P 4)M50462 5)M50119P-01 6)M50119L 7)RECS80 8)M3004 9)LC7464M 10)LC7461-C13 11)IRT1250C5D6-01 12)Gemini-C6-A 13)Gemini-C6 14) Gemini-C17(31.36K)-1 15)KONKA KK-Y261 16)PD6121G-F 17)DATA-6BIT 18)Custum-6BIT 19)M9148-1 20)SC3010 RC-5 21) M50560-1(40K) 22) SC50560-B1 23)C50560-002P 24)M50119P-01 25)M50119P-1 26)M50119P 27)IRT1250C5D6-02 28)HTS-C5D6P 29)Gemini-C17 30)Gemini-C17 -2 31)data6bit-a 32)data6bit-c 33)X-Sat 34)Philips RECS-80 35)Philips RC-MM 36)Philips RC-6 37)Philips RC-5 38)Sony SIRC 39)Sharp 40)Nokia NRC17 41)NEC 42)JVC 43)ITT

44)SAA3010 RC-5(36K)45)SAA3010 RC-5(38K)46)NEC2-E2 47) NEC-E3 48) RC-5x 49) NEC1-X2 50) _pid:$0060 51) UPD1986C 52) UPD1986C-A 53) UPD1986C-C 54) MV500-01 55) MV500-02 56) Zenith S10

38K红外遥控解码

#include #define uint08 unsigned char #define uint16 unsigned int sbit IR=P3^2; uint08 a[4],k,IR_number; uint16 x; void init_int0_time0() //外部中断0与定时器中断0初始化函数 { TMOD=0x01; //定义定时中断0在模式1 TH0 =0x00; //0000 0000 TL0 =0x00; //0000 0000 TR0 =1; ET0 =1; //打开定时中断0 IT0 =1; //边沿触发 EX0 =1; //打开外部中断0 EA =1; //打开总中断 } void int0() interrupt 0 { x=TH0*256+TL0; //读取两次中断时间差 TH0=0; TL0=0; //恢复寄存器,准备下一次读数 if(12000<=x&&x<=15000) //判断IR开始信号 k =0; else if(1000<=x&&x<=2500) //判断IR信号为0/1 { a[k/8]=a[k/8]>>1; if(2000<=x&&x<=2500) a[k/8]|=0x80; k++; } if(k==32&&a[2]==~a[3]) //判断读取的数据是否正确 { IR_number=a[2]; } } void time0(void) interrupt 1 //定时器0 { } 说明:a[0],a[1]为用户码,a[2]为红外遥控信号数据,a[3]为a[2]的反码,应用时在“IR_number=a[2];”这条语句前面加个判断用户码是否正确的语句,然后在主函数中读出IR_number就可以了,目的是提高解码的准确度,减少误差。

基于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所示。

万能红外遥控解码模块【精选】

https://www.doczj.com/doc/3b5623136.html,/item.htm?id=7693624806 该模块采用5V电源供电,可以完成目前应用最广泛的多种红外遥控编码的解码,包括飞利浦(RC5)编码(典型编码芯片如SAA3010及兼容芯片如PT2210 等)和NEC编码(典型编码芯片如uPD6121,uPD6122, TC9012 )以及众多的兼容芯片型号,(如PT2221, PT2222, SC6121, SC6122,SC9012 等等),采用该模块,可以缩短开发时间,节约CPU 资源,降低总体成本。 特点 ●使用简单、可靠 ● 支持多种编码 ● 兼容SPI 及UART(波特率9600)的串行输出 ● 采用数字滤波技术,高抗干扰,无误码 ● 接收有效指示输出 ● 工业级温度范围 储存温度-65至+150℃ 工作温度-40至+85℃ 任意接口对地电压-0.3至6V 红外编码介绍 目前应用于家电等领域的红外线遥控装置,并没有统一的国际标准,目前市场上所见的红外线遥控编码芯片,超过10 种之多,分别由飞利浦公司、NEC 公司、SONY 公司、东芝公司、三菱公司、JVC 公司等生产,使用的编码方式各不相同。目前应用最广泛、兼容产品最多的,是飞利浦公司(RC5编码)的和NEC 公司的编码芯片。本模块可以完成这两种格式编码的解码工作。 RC5 编码: RC5 编码由飞利浦公司推出,其编码芯片有SAA3010,SAA3006 等,是应用很

广泛的一种编码方式。 RC5 编码采用双相位编码方式,用不同相位分别代表“0”和“1”。传送每一位的时间固定为1.778mS。 每一个指令包括1.5bits 的起始位(2 个逻辑1),1 个翻转位,5 位系统码(地址码),以及6 位命令码(键码),因此,最多可以支持64 个键。 翻转位在每次有新的按键按下去的时候翻转一次,这里指的新按键,也包括同一个键抬起后再次按下的情况。如果某个键持续按下,则编码芯片会不断地重复发送同样的数据。翻转位保持不变。而如果该键中途抬起后再次按下,则再次按下后所发送的数据中的翻转位发生翻转,其它数据保持不变。 NEC 编码: NEC 编码由NEC 公司推出,其典型编码芯片为uPD6121,uPD6122,除了NEC 公司的产品,市场上还有大量与之相兼容的产品,如PT2221, PT2222, SC6121, SC6122,SC9012 等等。是应用最广泛的一种编码方式。 该编码方式采用脉冲位置编码方式,利用脉冲间的时间间隔来区分“0”和“1”。 每个指令包括32 位数据,包括16 位的用户码、以及8 位键数据码和键数据码的反码。因为具有反码可以作为校验的依据,因此该种编码方式具有很低的误码率。理论上该编码方式可以支持256 个键,实际的编码芯片一般可支持64 个

红外遥控原理及解码程序

红外遥控系统原理及单片机 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC 的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周

期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

基于单片机的红外解码.温度及液晶显示

中国矿业大学徐海学院 技能考核培训 姓名:顾嘉诚学号: 22110818 专业:信息11-2班 题目:基于单片机的红外解码.温度及液晶显示专题:红外解码 指导教师:宥鹏老师翟晓东老师 设计地点:电工电子实验室 时间: 2014 年 4 月

通信系统综合设计训练任务书 学生姓名顾嘉诚专业年级信息11-2班学号22110818 设计日期:2014年4 月5日至2014 年4 月10 日 同组成员:姜怀修,刘剑桥,顾嘉诚,彭传锁,何子豪,王业飞 设计题目: 基于单片机的红外无线控制 设计专题题目: 红外解码 设计主要内容和要求: 1.主要内容: 2. 单片机内部结构 红外遥控解码 C语言程序设 Ds18b20的使用 Lcd1602的使用 2. 功能扩展要求 环境温度液晶显示 指导教师签字:

目录 正文 (5) 1.概述 (5) 1.1功能描述 (5) 1.2单片机资源 (5) 2.1管脚图 (5) 3.1. 使用资源 (5) 2.原理篇 (6) 2.1红外发送及接收 (6) 2.1.1红外接收概述 (6) 2.1.2硬件及原理图 (7) 2.1.3红外中断接收部分程序 (8) 2.2温度原理 (9) 2.2.1 DS18B20 的主要特性 (9) 2.2.2原理图与硬件 (10) 2.2.3 DS18B20时序和程序 (10) 2.3 QC1602A (12) 2.3.1 1602外部结构及管脚说明 (12) 2.3.2 写命令/数据时序与部分程序 (13) 3.效果图 (15) 4.软件篇 (15) 4.1程序框图 (15) 4.1.1 Main函数 (15) 4.1.2 中断 (16) 4.1.3 60ms定时中断 (16) 4.2 完整程序 (16) 4.2.1 Project.c文件 (16) 4.2.2 onewire.c 文件 (23) 5.参考文献 (26)

红外遥控器信号接收和显示的设计1

电子电路综合设计总结报告 题目:红外遥控器信号接收和显示的设计 摘要: 随着电子技术的发展,红外遥控器越来越多的使用到电器设备中,但各种型号遥控器的大量使用带来的遥控器大批量多品种的生产,使得检测成为难题,因此智能的红外遥控器检测装置成为一种迫切的需要。在该红外遥控器信号的接收和显示电路以单片机和一体化红外接收器为核心技术,具体由单片机最小系统、单片机和PC机间的通信模块、红外接收模块、数码管显示模块和流水灯模块组成。在本系统的设计中,利用红外接收器接收遥控器发出的控制信号,并通过软件编程将接收信号存储、处理、比较,并将数据处理送至数码管显示模块。总之,通过对电路的设计和实际调试,可以实现红外遥控器信号的接收和显示功能。根据比较接收信号的不同,在数码管显示电路及流水灯电路上显示相应的按键数字或闪烁变化功能,并可实现单片机及PC机之间的通信功能,使得控制信号能在PC机上显示。

关键词:单片机红外接收器HS0038 解码串口调试

设计任务 结合单片机最小电路和红外线接收接口电路共同设计一个基于单片机的红外遥控信号接收和转发系统,用普通电视机遥控器控制该系统,使用数码管显示信号的接收结果。 1、实现单片机最小系统的设计。 2、当遥控器按下数字键时,在数码管上显示其键值。如按下数字键1,则在数码管上显示 号码01。 3、当遥控器按下音量△及音量▽时,用两位数码的周围段实现顺时针或者逆时针旋转的流 水灯功能。(为使得音量的增减清晰显示,试验中在单片机的P1口外接一排流水灯,具体功能的实现见方案的可行性论证) * 运用串口调试助手,在遥控器有按键按下时,将其键值显示在PC机上。 * 当遥控器按下频道△及频道▽时,在数码管上显示加1或减1后的数值。 一、系统方案比较和论证 1、方案比较和选择 为了实现系统整体功能,红外解码部分是核心,红外解码是指将遥控发射器所产生的红外遥控编码脉冲所对应的键值翻译出来的过程。下面将系统方案做一论证,通常有硬件解码和软件解码两种方案。 方案一:此方案中,使用专用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是按键数值信号或控制音量、频道等信号,当确认是何种信号后,启动子程序,然后进行查询。每次红外接收头接收到红外信号传到解码器中,解码器解码完毕后送到单片机,单片机再通过查表确定这些数值并进行相应功能的控制。设计原理图如图1所示。 图1、方案一设计原理图 方案二:此方案中,采用普通的家用遥控器作为控制信号发出装置,当按下遥控器的按键后,一体化红外接收装置接收到遥控器发出的红外线控制信号,然后把这个信号转换成电信号,传到单片机中,利用单片机对这个信号进行解码,解码完成后查表确定是按键数值信号或控制音量、频道等信号,启动子程序,进行相应的显示数字等功能。然后查询,重复上述流程。设计原理图如图2所示。

红外遥控解码原理

红外线遥控器解码原理 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。

UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G 最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 当一个键按下超过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=18ms 16位地址码的最长宽度: 2.24ms×16=36ms 易知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms ∴32位代码的宽度为(18ms+27ms)~(36ms+27ms)

最简单详细的红外解码程序

#include //包含头文件名 sbit IRIN=P3^2; //定义红外接收头的外部接口,即外部中断0 sbit BEEP=P1^5; //定义蜂鸣器接口,我的在P1^5 unsigned char IRCOM[7]; //定义数组,用来存储红外接收到的数据 void delay(unsigned char x) { //延时子程序unsigned char i; //延时约x*0.14ms while(x--) //不同遥控器应设置不同的参数

{for(i=0;i<13;i++){}} //参数的选择咱们先不管,先看这个 } void beep() { unsigned char i; //蜂鸣器发声子程序 for(i=0;i<100;i++) { delay(4); //这个得看你的蜂鸣器内部是否有振荡源 BEEP=~BEEP; } //如果没有振荡源就应该输入脉冲信号 BEEP=1; }

void IR_IN() interrupt 0 using 0 //外部中断0程序 { unsigned char j,k,n=0; //先定义变量,记住n=0 EX0=0; //禁止中断,以免再次进入中断 delay(15); //延时0.14ms*15=2.1ms if(IRIN==1) //如果在这期间有高电平说明 { //信号不是来自遥控的,返回主程序 EX0=1; return; } while(!IRIN){delay(1);} //死循环,等待9ms前导低电平信号的结束for(j=0;j<4;j++) //一共有4组数据

红外遥控编解码全攻略

-DYDIY- 红外遥控编解码全攻略 作者:杜洋 2005-9-26 红外遥控器的解码并对电器进行遥控一直是广大单片机爱好者的一个心愿。自己动手实现红外遥控电器也是大家单片机学习提高的一个重要的实验。现在网上关于红外线遥控器的解码的资料和文章很多,可是我在半年前学习红外遥控的解码时可是费了不少的力气。因为网上大部分资料和源程序都是针对某一种的红外遥控进行说明,只有买了和文章中一样的遥控器才可以继续实验。而且网上很少有遥控器的编码资料(用单片机模拟红外遥控器),经过了半年的学习与实践现在终于对红外遥控信号的编解码有了一个微薄的认识,在止写成文章希望对初学红外遥控的朋友有一定的帮助,更渴望有深入了解这方面的高手批评指正,谈谈自己的理解与看法,我就算是抛砖引玉了。呵呵! 红外遥控器的解码: 大部分的红外遥控的解码资料都是采用串口或是利用一个专用的单片机解码电路取码,前者的制作麻烦而且还要有专用的软件支持。后者则必须单独做一块解码板,而且一般只对某一种或一类的红外遥控器有效。而我有一种方法,只用一条不需要电路板的接线,用声卡测出红外遥控的波型。经过了长时间的使用效果很好,而且不仅对各种红外遥控的解码,还可以对无线通信或各种低波特率的编码进行分析,相当一个高级的试波器。 红外遥控器声卡波形解码一法: 采用我的解码方法需要以下的条件: 1,一台有MIC输入的声卡的电脑。 2,一条制作好的红外转换线(自己制作,以下有介绍) 3,安装高级音频编辑软件COOL EDIT PRO 2.0(各大下载网均有破解版下载) 红外遥控协议说明: 一般的,红外遥控的编码由前导码、地址码和数据码组成。而且有比较精准的时序要求。遥控码的发射由38KHZ或40KHZ的载波信号,由信号的时间长度来表示二进制数据。遥控的协议表示方法很多,下面是几种典型的例子:1, 1 E-mail:dydiy@https://www.doczj.com/doc/3b5623136.html,

51单片机红外解码程序

51单片机红外解码程序 1、红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。 发射部分包括键盘矩阵、编码调制、LED红外发送器; 接收部分包括光、电转换放大器、解调、解码电路。 下面,我们将使用下面两种设备: 另外,使用51单片机进行解码。 2、原理图

从原理图看出,IR的data脚与51的PD2(P3.2)相连。 2、红外发射原理 要对红外遥控器所发的信号进行解码,必须先理解这些信号。 a) 波形 首先来看看,当我们按下遥控器时,红外发射器是发送了一个什么样的信号波形,如下图: 由上图所示,当一个键按下超过22ms,振荡器使芯片激活,将发射一组108ms 的编码脉冲(由位置1所示)。如果键按下超过108ms仍未松开,接下来发射的 代码(连发代码由位置3所示)将仅由起始码(9ms)和结束码(2.5ms)组成。 下面把位置1的波形放大:

由位置1的波形得知,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(用户编码)(9ms~18ms),高8位地址码(用户编码)(9ms~18ms),8位数据码(键值数据码)(9ms~18ms)和这8位数据的反码(键值数据码反码)(9ms~18ms)组成。 b) 编码格式 遥控器发射的信号由一串0和1的二进制代码组成.不同的芯片对0和1的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。XS-091遥控板的0和1采用PWM方法编码,即脉冲宽度调制。下图为一个发射波形对应的编码方法: 放大0和1的波形如下图: 这种编码具有以下特征:以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。 3、红外接收原理 a) 波形 红外接收头将38K载波信号过虑,接收到的波形刚好与发射波形相反:

红外遥控编码格式

红外遥控编码 红外遥控编码常用的格式有两种:NEC和RC5 NEC格式的特征: 1:使用38 kHz载波频率 2:引导码间隔是9 ms + 4.5 ms 3:使用16位客户代码 4:使用8位数据代码和8位取反的数据代码 下面的波形是从红外接收头上得到的波形:(调制信号转变成高低电平了) 不过需要将波形反转一下才方便分析:

NEC 协议通过脉冲串之间的时间间隔来实现信号的调制(英文简写PPM)。逻辑“0”是由0.56ms的38KHZ载波和0.560ms的无载波间隔组成;逻辑“1”是由0.56ms的38KHZ载 波和1.68ms的无载波间隔组成;结束位是0.56ms的38K载波。 遥控器的识别码是Address=0xDD20;键值是Command=0x0E;

注意波形先是发低位地址再发高位地址。所以0000,0100,1011,1011反转过来就是1101,1101,0010,000十六进制的DD20; 键值波形如下:

也是要将0111,0000反转成0000,1110得到十六进制的0E;另外注意8位的键值代码是取反后再发一次的,如图0111,0000 取反后为1000,1111。 最后一位是一个逻辑“1”。 RC5编码相对简单一些: 下面的遥控器地址是1A,键值是0D的波形 同样由于取自红外接收头的波形需要反相一下波形以便于分析:

反相后的波形: 根据编码规则:

得到一组数字:110,11010,001101 根据编码定义 第一位是起始位S 通常是逻辑1 第二位是场位F通常为逻辑1,在RC5扩展模式下它将最后6位命令代码扩充到7位代码(高位MSB),这样可以从64个键值扩充到128个键值。 第三位是控制位C 它在每按下了一个键后翻转,这样就可以区分一个键到底是一直按着没松手还是松手后重复按。 如图所示是同一按键重复按两次所得波形,只有第三位是相反的逻辑,其它的位逻辑都一样。

一种红外遥控信号的解码方法

第18卷第2期苏州大学学报(自然科学) Vol .18, No .2 2002 年 4 月JOURNAL OF SUZHOU UNIVERSITY(NATURAL SCIENCE) Apr .2002 文章编号:1000-2073(2002)02-0101-06 一种红外遥控信号的解码方法 肖圣兵,仲兴荣,徐清源,曲波 (苏州大学通信与电子工程系, 江苏苏州215021) 摘要:文章介绍了红外遥控的基本原理和红外遥控发射器的组成,详细论述了以单片机 89C2051 为核心的红外遥控信号的解码方法, 提出了用单片机对红外遥控信号进行识别译码 的程序设计流程. 关键词:单片机;89C2051;红外遥控;解码 中图分类号:TP722文献标识码:A 红外遥控技术广泛应用于各种家用电器产品、金融及商业设施中,为用户提供方便的操纵手段.一些遥控功能相对简单的电器产品,红外遥控信号的接收识别往往采用与编码调制芯片配套的译码芯片.而遥控功能比较复杂的一些电器产品(如电视机),均采用专用的遥控解码芯片,实现特定的功能.为了能将性能稳定、价格低廉、功能较多的电视机遥控器应用于其他控制场合,本文利用单片机89C2051为核心,设计了一套红外遥控信号解码的软硬件系统,通过驱动电路的扩展,可实现功能较复杂的遥控控制. 1 红外遥控的基本原理 红外遥控系统一般由发射系统和接收系统组成.发射系统由专用芯片产生指令代码,经载波调制后驱动红外发射器件,发射红外控制信号.红外信号的指令代码均为二进制码,编码调制由专用芯片完成,编码的方法有多种,不同芯片的编码方法和代码长度有所不同.指令信号常用的编码调制方法有脉冲宽度调制(PWM)和脉冲位置调制(PPM)两种,本系统采用脉冲位置调制方法的遥控信号发射器,即用两个脉冲串之间的时间间隔来表示二进制信息.红外遥控信号被红外接收头接收后,经放大、检波、整形,得到TTL电平的代码信号,再送给解码电路,经译码并执行,去控制指定对象,实现遥控功能. 收稿日期:2002-01-10

红外线遥控系统原理及软件解码实例

红外线遥控系统原理及软件解码实例 简介:红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功 关键字:红外 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1、红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED 红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 、遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125 ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25 ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)

上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。U PD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108 ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 图4 遥控连发信号波形 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8 位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。 图5 引导码图6连发码 3 、遥控信号接收 接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。 接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,如图7所示。

红外遥控器解码原理及示Mini51Board上测试成功

红外遥控器解码原理及示,Mini51Board上测试成功 一、编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有 以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”, 其波形如下图所示。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。编码数据, 载波,发射,接收解码如下图所示: UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别

不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,发 射波形图如下图所示。 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码 (2.5ms)组成。 二、解码 红外接收头将38K载波信号过虑,得到与发射代码反向接收代码

手把手教你红外遥控解码实验

手把手教你红外遥控解码实验 单片机轻松入门教学 ------- 『电子驿站』原创,转载请注明出处! --------------------------------------------------------------------------- ------------------------------------ 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 【红外遥控系统】 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1a 图1b 【遥控发射器及其编码】 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示,连发波形如图4所示。 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 当遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 代码格式(以接收代码为准,接收代码与发射代码反向) ① 位定义

红外解码程序详解

//此程序为网上下载后修改,要弄懂的话,可以去看看HT6221的时序图。当然也欢迎在这里留言。 ///C51的红外解码程序,可以根据需要自己修改: //11.0592Mhz #include //根据自己的接线来改 sbit IRIN = P3^2; //红外接收器数据线 sbit led = P3^7; //指示灯 //////////////////////////////////////////// //定义数组IRCOM,分别装解码后得到的数据 //IRCOM[0] 低8位地址码 //IRCOM[1] 高8位地址码 //IRCOM[2] 8位数据码 //IRCOM[3] 8位数据码的反码 ///////////////////////////////////////////// #define uchar unsigned char #define uint unsigned int uchar IRCOM[4]=0; bit flag=0; /********************/ void delay014ms(unsigned char x); //x*0.14MS void IR_init(void); void delay014ms(unsigned char x) //x*0.14MS STC10F04延时约0.15MS { unsigned char i; while(x--) { for (i = 0; i<125; i++) //13 {;} } } /////////////// //初始化 //////////// void IR_init(void) { EA=1; EX0=1; //允许总中断中断,使能 INT0 外部中断 IT0=1; //触发方式为脉冲负边沿触发 IRIN=1; //I/O口初始化

红外遥控软件编解码简析

红外遥控软件编解码简析 摘要: 介绍如何用SONIX单片机实现红外编解码,并讨论SONIX系列芯片在实现红外遥控中的优势所在。文中给出红外发射和接收硬件原理图,并给出相应程序。 关键词:Buzzer输出,外部电平变化中断 引言: 红外线遥控是目前应用最广泛的一种通信和遥控手段。由于红外线遥控器具有体积小、功耗低、功能强、成本低等特点。因此在家电产品中有着广泛的应用。相比与专用的控制芯片,微控制器具有开发灵活的特点,用户可以随意制定编解码格式。SONIX 8bit MCU中的 1、1K的ROM,48bit的RAM完全可以用来开发普通的红外遥控产品,4K的ROM,128bit 的RAM可用做高端复杂的红外遥控产品。 2、Buzzer输出功能可以方便的实现38K载波,1/2个计时计数器,上升下降沿可选的 外部中断便于灵活接收和解码。 3、5V/4MHz条件下,正常工作电流2~3mA,睡眠电流小于1uA,便于电池供电系统。 一、红外编码格式说明 用户采用红外模块时,编码格式非常灵活。目前市场上的红外编码格式非常多,每家公司都可以自己定义一种编解码格式。下面以一种比较常用的格式来做分析说明(示意图中高电平代表38K载波输出): 上面的波形格式包括前导码(Load Code)、身份码和身份反码(ID Code)、数据码和数据反码(Data Code)。 导航码(Load Code):导航码用来通知接受器其后为遥控数据,解码部分在接受到这个信号后就可以开始解码。

系统码(ID Code):系统码用来区分是哪一机型的数据,接收端依此来判断后续的数据是否为须执行的指令。 数据码(Data code):数据码用来区分是哪一个键被按下,接收端根据数据码做出应该执行什么动作的判断。 数据帧间的空闲时间:有用信号中两帧数据间的空闲时间。 红外遥控数据传输系统中的关键是数据传输的可靠性。因此有些公司也会在系统码和数据码后面分别再传送一个同样的码或反码,供误码校验用。 在红外遥控编码中数据位的格式一般如下图所示,通过低电平的时间不同,来区别0和1。在解码的时候既可以根据总的时间长度不同来解码,也可以根据低电平时间的不同来解码。 Bit 0 Bit 1 二、红外发射接收硬件电路部分 红外遥控的发射接收电路比较简单,其中接收电路可以使用集成红外接收器成品。接收器包括红外接收管和信号处理IC。接收器对外只有3个引脚:Vcc、GND和1个脉冲信号输出PO。与单片机接口非常方便,如图所示。 ①Vcc接系统的电源正极(+5V); ②GND接系统的地线(0V); ③脉冲信号输出接CPU的中断输入引脚。采取这种连接方法,软件解既可工作于查询方式,也可工作于中断方式。 但需要注意的两点:一是注意发射接收管的驱动电流;二是要注意接收部分的滤波措施,上图中C2就是用做稳定输出波形,但注意C2不可太大。 三、红外编码发射接收软件实现部分 1、红外编码发射部分软件实现方法: 红外发射管需要靠38K的载波驱动,才能将信号发送出去。有的MCU没有BUZZER

相关主题
文本预览
相关文档 最新文档