格力空调遥控器红外编码精编版
- 格式:doc
- 大小:57.00 KB
- 文档页数:3
wz-1000a+万能空调遥控器代码表摘要:I.引言- 介绍万能空调遥控器代码表II.万能空调遥控器代码表的概述- 代码表的作用- 代码表的内容- 代码表的使用方法III.万能空调遥控器代码表的详细内容- 按键功能- 代码解释- 操作流程IV.万能空调遥控器代码表的应用场景- 空调遥控器失灵- 空调遥控器丢失- 空调遥控器需要复制其他遥控器功能V.万能空调遥控器代码表的优缺点- 优点- 缺点VI.结论- 总结万能空调遥控器代码表的作用和应用正文:【引言】万能空调遥控器代码表是一种能够帮助人们解决空调遥控器失灵、丢失或者需要复制其他遥控器功能的表格。
在这篇文章中,我们将详细介绍万能空调遥控器代码表的作用、内容、使用方法以及它的优缺点。
【万能空调遥控器代码表的概述】【II.1】代码表的作用万能空调遥控器代码表的主要作用是帮助用户在没有原厂遥控器的情况下,通过复制其他遥控器的功能,实现对空调的控制。
这不仅可以解决遥控器失灵或丢失的问题,还可以让用户更加灵活地使用空调。
【II.2】代码表的内容万能空调遥控器代码表中包含了各种空调品牌和型号的遥控器代码。
用户只需根据自己空调的品牌和型号,查找对应的代码,然后使用这些代码来操作空调。
【II.3】代码表的使用方法使用万能空调遥控器代码表的方法非常简单。
首先,用户需要确认自己空调的品牌和型号;然后,在代码表中找到对应的代码;最后,使用这些代码来操作空调。
【III.万能空调遥控器代码表的详细内容】【III.1】按键功能万能空调遥控器代码表中包含了各种按键的功能,如上下左右、确定、取消、模式切换等。
用户可以根据自己的需求,选择需要的按键功能。
【III.2】代码解释万能空调遥控器代码表中的代码分为两种:学习代码和直接代码。
学习代码需要通过学习过程将其他遥控器的功能复制到万能遥控器上;直接代码则可以直接用于操作空调。
【III.3】操作流程使用万能空调遥控器代码表的操作流程如下:1.打开空调2.按下“设置”键,进入设置模式3.按下“模式”键,选择“手动”模式4.按下需要的按键功能,如“风速”、“温度”等5.按下“确认”键,保存设置6.关闭空调,退出设置模式【IV.万能空调遥控器代码表的应用场景】【IV.1】空调遥控器失灵当用户的空调遥控器失灵时,可以通过使用万能空调遥控器代码表来操作空调。
用电器、视听产品的普及,红外线遥控器已被广泛使用在各种类型的家电产品上(如遥控开关、智能开关等)。
其具有体积小、抗干扰能力强、功耗低、功能强、成本低等特点,在工业设备中也得到广泛应用。
一般而言,一个通用的红外遥控系统由发射和接收两大部分组成,如图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.1151单片机格力空调遥控器2.2.#include <reg52.h>3.#include <intrins.h>4.#define uchar unsigned char5.#define uint unsigned int6.#define enTransmitt flag=17.#define disTransmitt flag=O8.sfr T2M0D = 0XC9;9.bit flag=0;10.sbit IR38k =P2A3; // 红外发射管11.sbit key1=P1A1;12.sbit key2=P1A3;13.sbit key3=P1A5;14.sbit key4=PM7;15.sbit key5=P1A0;16.sbit key6=P1A4;17.uchar KeyScan();18.uint count=0,set_count=0;19.uchar fengliang_value=0;20.uchar key_value=0;21.uchar wendu_value=0;22.uchar mode_value=0;23.uchar switch_value=0;24.uchar zhuanye_value=0;25.uchar codeZhuanye[][5]={{0x39,0x04,0x00,0x50,0x02},{0x79,0x04,0x00,0x50,0x02}};//手动,自动转页(20度,冷气)26.ucharcode fengliang[][5]={{0x28,0x08,0x00,0x50,0x02},{0x19,0x08,0x00,0x50,0 x02},uchar code mode[][5]={ {0x58,0x00,0x00,0x50,0x02},{0x59,0x04,0x00,0x50,0x02},{0x5a,0x04,0x00,0x50,0x02},{0x5b,0x04,0x00,0x50,0x02}}; //自动,冷气,除湿,送风/*ucharcode on_or_off[][5]={ {0x40,0x00,0x00,0x50,0x02},{0x48,0x00,0x00,0x50, 0x02} }; */ uchar code on_or_off[][5]={ {0x39,0x08,0x00,0x50,0x02},{0x31,0x08,0x00,0x50,0x02}, {0x59,0x08,0x00,0x50,0x02},{0x51,0x08,0x00,0x50,0x02},{0x79,0x08,0x00,0x50,0x02},{0x71,0x08,0x00,0x50,0x02},}; // 开机,关机 uchar code wendu[][5]={ {0x59,0x00,0x00,0x50,0x02},{0x59,0x01,0x00,0x50,0x02},{0x59,0x02,0x00,0x50,0x02},{0x59,0x03,0x00,0x50,0x02}, {0x59,0x04,0x00,0x50,0x02},{0x59,0x05,0x00,0x50,0x02}, {0x59,0x06,0x00,0x50,0x02},{0x59,0x07,0x00,0x50,0x02}, {0x59,0x08,0x00,0x50,0x02},{0x59,0x09,0x00,0x50,0x02}, {0x59,0x0a,0x00,0x50,0x02},{0x59,0x0b,0x00,0x50,0x02}, {0x59,0x0c,0x00,0x50,0x02},{0x59,0x0d,0x00,0x50,0x02}, {0x59,0x0e,0x00,0x50,0x02} }; // 温度值 void send_precode(unsigned int s_cnt_1,unsigned int s_cnt_2); void send_8bit_code(uchar value); void send_4bit_code(uchar value); void send_final_code();29.30.31. 32. 33. 34. 35.36.37. 38. 39.40.41. 42.43.44.45.46.47.48.49.50.51.52.53.54.55.void ir_out1() // 启动和关闭57.send_precode(180,90);58.send_8bit_code(on_or_off[switch_value][0]);59.send_8bit_code(on_or_off[switch_value][1]);60.send_8bit_code(on_or_off[switch_value][2]);61.send_8bit_code(on_or_off[switch_value][3]);62.send_4bit_code(on_or_off[switch_value][4]);63.〃send_final_code();64.// key_value=0;65.switch_value++;66.if(switch_value==6){ switch_value=0; }67.67.}68.void ir_out2() //wendu--69.{71.70.send_precode(180,90);71.send_8bit_code(wendu[wendu_value][0]);72.send_8bit_code(wendu[wendu_value][1]);73.send_8bit_code(wendu[wendu_value][2]);74.send_8bit_code(wendu[wendu_value][3]);75.send_4bit_code(wendu[wendu_value][4]);76.send_final_code();77.wendu_value--;78.if(wendu_value==0) {wendu_value=15;}81.79.}80.void ir_out3() 〃wendu++81.{82.send_precode(180,90);83.send_8bit_code(wendu[wendu_value][0]);84.send_8bit_code(wendu[wendu_value][1]);85.send_8bit_code(wendu[wendu_value][2]);86.send_8bit_code(wendu[wendu_value][3]);87.send_4bit_code(wendu[wendu_value][4]);88.send_final_code();89.wendu_value++;90.if(wendu_value==15) { wendu_value=O;}91.}92.void ir_out4()//mode choose93.{94.send_precode(180,90);95.send_8bit_code(mode[mode_value][0]);96.send_8bit_code(mode[mode_value][1]);97.send_8bit_code(mode[mode_value][2]);98.send_8bit_code(mode[mode_value][3]);99.send_4bit_code(mode[mode_value][4]);100.send_final_code();101.mode_value++;102.if(mode_value==4)103.{ mode_value=0;}107.104.}105.void ir_out5() // 转叶106.{107.send_precode(180,90);108.send_8bit_code(zhuanye[zhuanye_value][0]); 109.send_8bit_code(zhuanye[zhuanye_value][1]); 110.send_8bit_code(zhuanye[zhuanye_value][2]); 111.send_8bit_code(zhuanye[zhuanye_value][3]); 112.send_4bit_code(zhuanye[zhuanye_value][4]); 113.send_final_code();114.zhuanye_value++;115.if(zhuanye_value==2) {zhuanye_value=0;}}void ir_out6() // 风量{send_precode(180,90);send_8bit_code(fengliang[fengliang_value][0]); send_8bit_code(fengliang[fengliang_value][1]); send_8bit_code(fengliang[fengliang_value][2]); send_8bit_code(fengliang[fengliang_value][3]); send_4bit_code(fengliang[fengliang_value][4]); send_final_code();fengliang_value++;if(fengliang_value==3) {fengliang_value=0;}}//============================================void delayms(unsigned char ms){unsigned char i;while(ms--){for(i=0;i<120;i++){};}}void Timerlnit(){EA=1;ET0=1;TMOD=0X01;TH0=0XfF;TL0=221; //50UST2C0N=0x00; 120.121.122.123.124.125.126.127.128.129.130.131.132.133.134.135.136.137.138.139.140.141.142.143.144.145.146.147.148.149.150.151.152.T2MOD=0x02; //enable T2's wave output through T2 pin(P10) 153.RCAP2H=(65536-11059/38/4)>>8; //output frequency is 38KHz 154.RCAP2L=(65536-11059/38/4)&0 xff;155.}156.void TransmittPulse()157.{158.enTransmitt;159.// ir=0;160.TR0=1;161.TR2=1;162.}163.void TransmittLow()164.{165.//ir=1;166.TR0=1;167.disTransmitt;168.TR2=0;169.IR38k=1;170.}171.void endTransmitt()172.{173.//ir=0;174.TR0=0;175.TR2=0;176.IR38k=1; //JIEZHI177.}178.void send_logic0(unsigned int s_cnt_1,unsigned int s_cnt_2) 179.{180.set_count=s_cnt_1;//181.TransmittPulse();182.count =0;184.while(count<set_count)185.;186.endTransmitt();187.〃ir=1;188.set_count=s_cnt_2;//11;〃189.//ir=1;190.count =0;191.TransmittLow();192.192.while(count<set_count)193.;194.endTransmitt();195.}196.void send_logic1(unsigned int s_cnt_1,unsigned int s_cnt_2) 197.{198.set_count=s_cnt_1;//199.TransmittPulse();201.200.count =0;203.201.while(count<set_count)202.;203.endTransmitt();204.//ir=1;205.//=========================206.set_count=s_cnt_2;//32;〃207.//ir=1;208.count =0;212.209.TransmittLow();214.210.while(count<set_count)endTransmitt();}void send_precode(unsigned int s_cnt_1,unsigned int s_cnt_2) {set_count =s_cnt_1;//180;〃 9MSTransmittPulse(); //start send pulsecount =0;while(count<set_count) {;} endTransmitt(); set_count =s_cnt_2;//90;//4.5MS count =0;TransmittLow();while(count<set_count){;}endTransmitt();}void send_final_code(){set_count=28;//count =0;TransmittPulse(); while(count<set_count) endTransmitt();}void send_8bit_code(uchar value)216. 217. 218. 219. 220. 221. 222. 223.224.225.226.227.228.229.230.231.232.233.234.235.236.237.238.239.240.241.242.243. 244. 245.uchar i,temp;temp=value;for(i=0;i<8;i++){if(temp&0x01) sendl_logic1(11,32); //1.68ms else send_logic0(11,11); //600UStemp=temp>>1;}}void send_4bit_code(uchar value){uchar i,temp;temp=value;for(i=0;i<4;i++){if(temp&0x01) sendd_logic1(11,32); //1.68mselse send_logic0(11,11); //600UStemp=temp>>1;}}//============================主函数======================== void main(){TimerInit();while(1){key_value=KeyScan();switch(key_value){case 1:ir_out1();delayms(200);break; //248. 249. 250. 251. 252. 253. 254. 255.256.257.258.259.260.261.262.263.264.265.266.267.268.269.270.271.272.273.274. 275. 276. 277. 开和关case 2:ir_out2();delayms(200);break; // 温度- case 3:ir_out3();delayms(200);break; // 温度 +. case 4:ir_out4();delayms(200);break; // 模式选择 case 5:ir_out5();delayms(200);break; // 转叶设置 case 6:ir_out6();delayms(200);break; 〃default:ir=1;break; }}}void timer0(void) interrupt 1 {TH0=0XfF; TL0=221; 〃50us count++; if(flag) TR2=1; 〃IR38k=0; else TR2=0;//IR38k=1; }unsigned char KeyScan() {/* -------- 第一列扫描 ------------------ */ if(key1==0) {delayms(20); if(key1==0) {return 1;280.281.282.283.284.285.286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297.298. 299.300.301.302.303.304.305.306.307.308.309.312. while(!key1); 313. }314. if(key2==0) 315. {316. delayms(20); 317. if(key2==0) 318. {319. return 2; 320. }321. while(!key2); 322. }323.324. if(key3==0) 325. {326. delayms(20); 327. if(key3==0) 328. {329. return 3; 330. }331. while(!key3); 332. }333. if(key4==0) 334. {335. delayms(20); 336. if(key4==0) 337. {338. return 4; 339. }340. while(!key4); 341. }342. if(key5==0)344. delayms(20); 345. if(key5==0) 346. {347. return 5; 348. }349. while(!key5); 350. }351. if(key6==0) 352. {353. delayms(20); 354. if(key6==0) 355. {356. return 6; 357. }358. while(!key6); 359. }360. return 0 ; 361. }。
红外遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点。
同时,由于红外遥控器件,工作电压低,功耗小,外围电路简单,因此,在日常生活中广泛应用,如彩电,录像机,音响空调,风扇,即其它的小型电器上。
遥控距离在几米到十几米。
波长在0.76um~1000um的光波为红外光(线),红外光为不可见光。
红外光按波长范围分为近红外、中红外、远红外、极红外4类。
红外线遥控是利用近红外光传送遥控指令的,波长为0.76um~1.5um。
用近红外作为遥控光源,是因为目前红外发射器件(红外发光管)与红外接收器件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um~0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。
一、红外遥控系统的构成:主要由两大部分构成: 红外编码发射部分,红外解码接收部分。
红外发射部分主要由,键盘,红外编码芯片(sc6122/ht6122),电源,红外发射管组成。
红外解码部分:由红外接收电路、红外解码、电源和应用电路组成。
红外遥控接收器的主要作用是将遥控发射器发来的红外光信好转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。
其中红外接收电路主要是接收部分的红外接收管是一种光敏二极管(现在常用一体化红外接收头)。
三、红外遥控的编码与解码常用的编码芯片HT6122,遥控器的按键信息由编码芯片编码后,以38KHZ的载频,经红外发射管,向外发射。
有引导码,16为用户编码,按键编码,按键反码构成。
引导码:引导码,也称引导脉冲,一般由高电平1和低电平0的脉冲组成,高电平9ms,低电平4.5ms用来标志遥控编码脉冲信号的开始,使遥控接收器能由此判断出所接收的信号是干扰还是系统的遥控代码。
用户码:通常由8位原码和8位反码组成。
它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作。
mz-1000a+万能空调遥控器代码表摘要:1.引言:介绍mz-1000a+万能空调遥控器2.遥控器代码表:列出mz-1000a+万能空调遥控器的代码表3.代码表的使用:说明如何使用代码表进行空调遥控器的操作4.结论:总结mz-1000a+万能空调遥控器的特点和优势正文:一、引言在炎热的夏季和寒冷的冬季,空调是我们生活中不可或缺的电器。
随着科技的发展,遥控器也变得越来越智能化。
今天,我们要介绍的就是一款具有强大功能的空调遥控器——mz-1000a+万能空调遥控器。
二、遥控器代码表mz-1000a+万能空调遥控器具有一个完整的代码表,这个代码表包括了各种品牌和型号空调的遥控代码。
这些代码可以帮助用户轻松地控制他们的空调,无论他们使用的是哪种品牌或型号的空调。
以下是部分代码表的示例:- 品牌代码:美的(Midea)、格力(Gree)、海尔(Haier)等- 型号代码:空调型号、空调类型(冷暖、单冷等)- 功能代码:开关机、模式、风速、温度等三、代码表的使用使用mz-1000a+万能空调遥控器的代码表非常简单。
首先,用户需要找到他们空调的品牌和型号对应的代码。
然后,他们可以将这些代码输入到遥控器中,这样遥控器就可以控制他们的空调了。
例如,如果用户使用的是美的品牌的空调,他们可以将“Midea”输入到遥控器的品牌代码中,然后将相应的型号代码和功能代码输入到遥控器中。
这样,用户就可以使用遥控器来控制他们的空调了。
四、结论mz-1000a+万能空调遥控器具有强大的功能和简单的使用方法。
它不仅可以帮助用户轻松地控制他们的空调,而且还可以适用于各种品牌和型号的空调。
avr学习型空调红外遥控器代码作者:佚名来源:本站原创点击数:24 更新时间:2010年08月15日【字体:大中小】/***************************************//* Target : avr单片机 ATmega8l */ /* Crystal: 3.6864Mhz *//* 2007.8.20 *//* 外国人写的学习型空调红外遥控器的源程序*//* AT24C512里存储2个键的时间数据, *//* 学习和发射时都通过串口输出 *//* 按键学习和串口学习都可以/*带多键盘通讯接口/***************************************///IRD-1V20 模块地址写EEPROM(2)#include <iom8v.h>#include <macros.h>#include <string.h>#include <eeprom.h>#define SYSCLK 3686400UL#define uchar unsigned char#define uint unsigned int#define ulint unsigned long#define IRD_START TCCR2=0X19#define IRD_STOP TCCR2=0X00/* I2C device slave address 1 A0、A1、A2--GND == 0xa02 A0、A1、A2--VCC == 0xa6 */ /* 24c512 =65536 bytes,anykey include <1000 bytes */#define devicecode 0x01#define TWI_SLA_24C512 0xa0//#define address 0x02//遥控器地址//#define TWI_SLA_PCF8563 0xa2#define MAX_ITER 200#define TW_WRITE 0#define TW_READ 1// MT#define TW_REP_START 0x10#define TW_START 0x08#define TW_MT_ARB_LOST 0x38#define TW_MT_SLA_ACK 0x18#define TW_MT_SLA_NACK 0x20#define TW_MT_DATA_ACK 0x28#define TW_MT_DATA_NACK 0x30// MR#define TW_MR_SLA_ACK 0x40#define TW_MR_SLA_NACK 0x48#define TW_MR_ARB_LOST 0x38#define TW_MR_DATA_NACK 0x58#define TW_MR_DATA_ACK 0x50#define led_off PORTC|=(1<<PORTC2)#define led_on PORTC&=(~(1<<PORTC2)) #define TX485 PORTD|=(1<<PORTD7);#define RX485 PORTD&=(~(1<<PORTD7));uchar end,study_key;uchar data_buf[700];//uchar data_buf11[100];uchar modify_buf[6];//键值特征暂存区uchar study_key_value=0;uchar send_key_value=0;uchar scon_key_value=0;uchar rece_begin=0;uint timer_over_cnt,pulse_in_cnt;uchar send_end;uint save_start,send_start;//uint pp;uchar study_num,send_num;uint num,lenth;uchar sum=0,rec_end;//len1;uint s_save_start;uchar s_study_num;uint count0,count1;uint rece_num=0;//接受数据计数;uchar rece_buf[8];uchar rece_ok=0;uchar ctrl_flag=0;uchar get_flag=0;uchar set_flag=0;uchar amend_flag=0;uchar scon_save[8];uchar scon_err=0;uchar scon_err_flag=0;uchar key_on_flag=0;uchar key_off_flag=0;uchar ord_flag=0;uchar MKaddress;void EEPROM_write( unsigned int Address, unsigned char UcData) {while(EECR & (1<<EEWE));EEAR=Address;EEDR=UcData;EECR|=(1<<EEMWE);EECR|=(1<<EEWE);}unsigned char EEPROM_read(unsigned int Address)while(EECR & (1<<EEWE));EEAR=Address;EECR|=(1<<EERE);return EEDR;}void watchdog_init(void){WDR(); //this prevents a timout on enablingWDTCR=0x1F;NOP();WDTCR=0x0F; //WATCHDOG ENABLED - dont forget to issue WDRs }void Delay_mSec(uint n){uchar i;while(n--){for(i=0;i<125;i++);WDR();}}void Delay_us(uchar n){uchar i;for(i=0;i<n;i++);void int0_init(void){MCUCR=0x01;// MCUSR=0;}void uart_init(void)//bps=38400,UCSRA=0X02;bps=19200,UCSRA=0;{UCSRB = 0x00; //disable while setting baud rateUCSRA = 0x01;UCSRC = 0x86;//0x06;UBRRL = 0x0b; //set baud rate loUBRRH = 0x00; //set baud rate hiUCSRB = 0x9c;}int TWI_read_bytes(uchar SLAADDR,uint eeaddr, int len, uchar *buf,uchar slavtype)uchar sla, twcr,n = 0;int rv = 0;/* patch high bits of EEPROM address into SLA */WDR();sla = SLAADDR ;restart:if (n++ >= MAX_ITER) return -1;begin:TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); /* send start condition */ while ((TWCR & (1<<TWINT)) == 0) ; /* wait for transmission */switch ((TWSR&0xf8)){case TW_REP_START: /* OK, but should not happen */case TW_START:break;case TW_MT_ARB_LOST:goto begin; /* Note [7] */default:return -1; /* error: not in start condition */ /* NB: do /not/ send stop condition */ }WDR();TWDR = sla | TW_WRITE;TWCR = (1<<TWINT)|(1<<TWEN); /* clear interrupt to start transmission */while ((TWCR & (1<<TWINT)) == 0) ; /* wait for transmission */switch ((TWSR&0xf8)){case TW_MT_SLA_ACK:break;case TW_MT_SLA_NACK:goto restart; /* nack during select: device busy writing */case TW_MT_ARB_LOST:goto begin; /* re-arbitrate */default:goto error; /* must send stop condition */}if(slavtype==2){TWDR = eeaddr>>8; /* high 8 bits of addr */TWCR = (1<<TWINT) | (1<<TWEN); /* clear interrupt to start transmission */ while ((TWCR & (1<<TWINT)) == 0) ; /* wait for transmission */switch ((TWSR&0xf8)){case TW_MT_DATA_ACK:break;case TW_MT_DATA_NACK:goto quit;case TW_MT_ARB_LOST:goto begin;default:goto error; /* must send stop condition */}}WDR();TWDR = eeaddr; /* low 8 bits of addr */TWCR = (1<<TWINT) | (1<<TWEN); /* clear interrupt to start transmission */while ((TWCR & (1<<TWINT)) == 0) ; /* wait for transmission */由于代码太长,本文篇幅有限,完整本版的代码从这里下载/ziliao/file/IRD-1V21.rar这是从一个外国论坛上搞下来的,已经测试通过,晶振使用外接的3.6864Mhz,内部rc晶振可能不太稳定。
单片机对不同品牌空调红外遥控代码【原创实用版】目录1.单片机红外遥控原理及应用2.不同品牌空调红外遥控代码的差异3.解码原理及方法4.实践案例与注意事项5.总结与展望正文一、单片机红外遥控原理及应用红外遥控技术是一种广泛应用于家电遥控器的技术,它通过红外发射器发射红外光,再由红外接收器接收红外光,从而实现信息的传递。
单片机作为核心的控制芯片,可以通过编程实现红外遥控的解码和编码。
在众多应用场景中,单片机红外遥控技术在空调遥控器领域表现得尤为突出。
二、不同品牌空调红外遥控代码的差异由于不同品牌的空调在设计时采用了不同的遥控器编码方案,因此它们之间的红外遥控代码存在差异。
这些代码通常由品牌和型号信息、用户码、数据码等组成。
为了实现对不同品牌空调的红外遥控,我们需要对这些代码进行解码和分析。
三、解码原理及方法解码原理主要基于红外遥控器的编码和解码原理。
在接收到红外光信号后,单片机首先对其进行解调,然后提取出遥控器编码方案中的品牌和型号信息、用户码、数据码等。
解码方法通常包括查找编码表、使用专用解码芯片等。
四、实践案例与注意事项在实际操作过程中,我们可以通过编写程序实现对不同品牌空调的红外遥控。
以某品牌空调为例,首先需要找到该品牌空调的遥控器编码表,然后编写程序实现对红外光信号的解调,并根据编码表提取出相应的用户码和数据码。
在编程过程中,需要注意红外接收头的连接、编程环境的配置等问题。
五、总结与展望随着科技的发展,单片机红外遥控技术在家电控制领域的应用越来越广泛。
通过研究不同品牌空调的红外遥控代码,我们可以实现对多种空调设备的遥控,从而提高生活质量。
万能空调(电视)遥控器的使用(设置代码)————————————————————————————————作者:————————————————————————————————日期:万能空调遥控器的使用(代码设置)万能空调遥控器,是根据空调机品种较多,遥控器损坏难以相配而专门设计的。
它集遥控器主要功能于一体,有近 50 种名牌于一身,采用进口芯片设计,性能稳定,配大屏幕液晶中文显示,一目了然,简单易操作。
适用机型及代码:三菱电机 1.2.3.4.5.6.7 三菱重工 8.9 大金 10 东芝 11 开利 13 麦克维尔 14 松下乐声 15 日立16 夏普声宝17.18 LG 19.20 珍宝(富士通)21.12 华宝 22.23.24.41 科龙 24.25.26.27 美的28.11.5.30 汇丰5 格力 31.32.33 胜风34 新科35 春兰36.37 长虹38 飞歌39 索华41 海尔 39.40.29 威力 44.40.42 东宝 43 蓝波 45 志高 6 华菱 8 飞利浦 15设置步骤(一)手动设置步骤:1. 从“代码表”中查出你所需遥控的空调机对应的机型代码,并打开空调机电源;2. 连续(间断)按“设置”键,直至所需代码显示在窗口上并闪烁;注:此机型代码即为您空调机所对应的代码。
3. 按确认键,机型代码将停止闪烁,设置完毕,这样本遥控器就可以遥控您所选的空调机了。
查找代码→打开空调机电源→连续按“设置”键设置→机型代码在“型号”窗口闪烁→按确认键确认→机型代码停止闪烁→设置完毕(二)数字式自动搜索适用机型:1. 打开空调机电源;2. 将遥控器正对着空调机接收头,循环按“设置”键,直到空调机自动开启/关闭,按“确认”键;注:此机型代码即为您空调所对应的代码。
3. 设置完毕。
打开空调机电源→将遥控器对向空调机→循环按“设置”键否空调机自动开启/关是按“确认”键→自动查找代码设置完成。
格力空调对应的遥控器型号表【最新版】目录1.遥控器的重要性2.格力空调遥控器的特点3.格力空调遥控器型号表的结构4.格力空调遥控器的使用和维护正文1.遥控器的重要性在现代家居生活中,遥控器已经成为了我们生活中不可或缺的一部分。
它可以让我们在舒适的位置上控制家电,极大地提高了我们的生活品质。
特别是在空调的使用中,遥控器更是起到了至关重要的作用。
它可以让我们在室内调整温度、风速、风向等功能,让我们在炎热的夏天和寒冷的冬天都能享受到舒适的室内环境。
2.格力空调遥控器的特点格力空调作为我国家电领域的佼佼者,其遥控器也具有显著的特点。
首先,格力空调遥控器设计简洁,操作方便,即使是初次使用者也能快速上手。
其次,格力空调遥控器功能齐全,除了可以调节温度、风速、风向等基本功能外,还具有定时、睡眠等高级功能,满足了用户多样化的需求。
最后,格力空调遥控器质量可靠,使用寿命长,得到了广大消费者的认可。
3.格力空调遥控器型号表的结构为了方便消费者购买和使用,格力空调提供了详细的遥控器型号表。
该表格主要包含以下几部分:(1)型号:包括了格力空调遥控器的具体型号,如 RF-1202、RF-1203 等。
(2)适用机型:列出了该遥控器适用的格力空调机型,方便消费者对照选购。
(3)功能概述:简要介绍了该遥控器的主要功能,如温度控制、风速调节等。
(4)尺寸和重量:提供了遥控器的尺寸和重量信息,方便消费者了解遥控器的物理特性。
4.格力空调遥控器的使用和维护在使用格力空调遥控器时,我们需要注意以下几点:(1)确保遥控器电池电量充足,以免影响正常使用。
(2)使用遥控器时,避免将其置于潮湿、高温的环境中,以免损坏。
(3)不要将遥控器暴露在阳光下长时间直射,以免损坏遥控器表面。
(4)使用结束后,将遥控器放置在干燥、通风的地方,以免影响使用寿命。
一种红外遥控器编解码仿真如图4-1所示,发射数据与38K载波调制后为红外发射信号,该信号经过一种专门的红外接收滤波后将发射的数据还原,还原出的数据波形与发射出的数据波形相位刚好反向,“0”,“1”用不同宽度(周期中高电平部分)的周期信号表示。
这种编解码原理网上资料很多,这里不多说。
图4-1 常见红外编码这里介绍另外一种编码方式,通过对金星遥控器G328111发射信号进行研究,总结得到,如图4-2所示的编码方式。
短周期信号为“0”,1/2长周期(短周期2倍)信号表示“1”,低电平开始,高电平结束。
图4-2金星遥控器G328111编码这种编码规律我们可以用数字示波器把数据波形存储后对比分析得到,这里介绍一种不用数字示波器,直接用单片机测试红外编码的方法。
程序设计思想:连续对高低电平进行计数,通过数据比较高低电平时长,找出规律。
While(低电平){计数1}While(高电平){计数2}While(低电平){计数3}While(高电平){计数4}……用一个数组记录一次按键的所有周期高低电平计数数值,分析数据可以得到红外编码规律。
实际程序:while(IRM_DQ) P1=0;//P1口LED灯亮表示可以按遥控器按键了P1=0xff;//灯熄灭,解码开始for(i=0;i<15;i++) { //循环测试次数为经验值while(!M51_IRM_DQ) {if(++da[i*2 ]>0x54) break; delay(10);}//低电平长度检测while( M51_IRM_DQ) {if(++da[i*2+1]>0x54) break; delay(10);}//高电平长度检测}这里的da[]就是记录信号变化长短的数组,将这一数组通过串口发送到PC机,通过数组就可以分析红外信号高低电平的规律了。
例如:1E 18 38 17 1D 19 1C 1A 1C 18 1D 18 1D 31 1E 18 1C 1A 38 18 1D 18 1D1D 18 1E 18 37 1A 1C 19 1C 19 1C 18 1D 18 1D 18 1C 33 1D 19 38 18 1D 23-30 49-56 实际信号周期只有两种时长,我们可以把【17到1E】当成短周期,【31到38】当成长周期,从而可以绘出波形图:1E 18 38 17 1D 19 1C 1A 1C 18 1D 18 1D 31 1E 18 1C 1A 38 18 1D 18 1D___---______----__----___----___----___----___--------___----___---______----___----___0 1 0 0 0 0 0 1 0 0 1 0 0根据前面讲的编码方式,从波形图就可以看出数据。
万能空调遥控器代码973一、引言空调是现代生活中必不可少的电器之一,尤其在炎热的夏季,空调的使用率更是高居不下。
然而,不同品牌、型号的空调遥控器却存在着兼容性的问题,给用户带来了困扰。
为了解决这一问题,我们研发了一款万能空调遥控器代码973,旨在提供一种简单、方便的解决方案,实现对多种空调品牌、型号的统一控制。
二、万能空调遥控器代码973的功能特点1.支持多种空调品牌、型号:万能空调遥控器代码973具备广泛的兼容性,可以适配市面上大部分主流空调品牌和型号,如格力、美的、海尔等。
2.快速配对功能:用户只需按下遥控器上的配对按钮,然后将遥控器对准空调,即可自动搜索并配对成功,无需繁琐的操作步骤。
3.多功能操作:万能空调遥控器代码973不仅可以实现常规的开关、温度调节功能,还支持模式切换、风速调节、定时开关等更多功能,满足用户的个性化需求。
4.大屏幕显示:遥控器配备了一块大尺寸的液晶屏,清晰显示当前的操作状态和设置信息,方便用户查看和操作。
5.节能环保:万能空调遥控器代码973采用先进的节能技术,有效降低能耗,减少对环境的影响。
三、万能空调遥控器代码973的使用方法1.配对空调:按下遥控器上的配对按钮,然后将遥控器对准空调,等待配对成功的提示。
2.开关空调:按下遥控器上的电源按钮,即可实现空调的开关。
3.调节温度:通过遥控器上的温度增减按钮,可以调节空调的温度设置。
4.切换模式:遥控器上配备了模式切换按钮,可以在制冷、制热、送风等模式之间进行切换。
5.调节风速:通过遥控器上的风速调节按钮,可以实现空调风速的调节,满足不同用户的需求。
6.定时开关:遥控器上设有定时开关功能,用户可以设定空调的开关时间,实现智能化的控制。
四、万能空调遥控器代码973的应用场景万能空调遥控器代码973适用于各种场景,包括家庭、办公室、酒店、商场等。
无论是个人用户还是企事业单位,都可以受益于这款万能遥控器的便捷性和多功能性。
特别是在需要同时控制多个空调设备的场合,使用万能空调遥控器代码973可以大大提高操作效率,简化操作流程。
志兴万能空调遥控器机型代码大全1.格力空调机型代码:
-格力立式空调:001
-格力挂壁式空调:002
-格力中央空调:003
-格力单冷机:004
-格力冷暖机:005
-格力天花机:006
2.美的空调机型代码:
-美的挂壁式空调:101
-美的柜式空调:102
-美的中央空调:103
-美的单冷机:104
-美的冷暖机:105
-美的天花机:106
3.长虹空调机型代码:
-长虹挂壁式空调:201
-长虹柜式空调:202
-长虹中央空调:203
-长虹单冷机:204
-长虹冷暖机:205
-长虹天花机:206
4.TCL空调机型代码:
-TCL挂壁式空调:301
-TCL柜式空调:302
-TCL中央空调:303
-TCL单冷机:304
-TCL冷暖机:305
-TCL天花机:306
5.海尔空调机型代码:
-海尔挂壁式空调:401
-海尔柜式空调:402
-海尔中央空调:403
-海尔单冷机:404
-海尔冷暖机:405
-海尔天花机:406。