基于单片机的红外遥控风扇

基于单片机的红外遥控风扇

ID:24695878

大小:241.00 KB

页数:5页

时间:2018-11-11

基于单片机的红外遥控风扇_第1页
基于单片机的红外遥控风扇_第2页
基于单片机的红外遥控风扇_第3页
基于单片机的红外遥控风扇_第4页
基于单片机的红外遥控风扇_第5页
资源描述:

《基于单片机的红外遥控风扇》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于单片机的红外风扇遥控市场上销售的带遥控的风扇价格普遍比较昂贵,如果能用普通的电视红外线遥控器来遥控风扇调档转速,对于DIY们来说,不但可以节约金钱,还可以提高自己的动手能力,何乐而不为呢?本电路采用价格低廉的AT89C2051单片机为主控CPU,一体化接受头接受遥控器SSA3010T发出的编码,送CPU解码后,CPU控制相应的单片机动作!具体的原理图如下:为叙述方便起见,上图只画出了P3_3引脚的相应连接电路,还有2个可接在P3_0和P3_5上。分别控制风扇的高、中、低档。7段共阳数码管显示相

2、应的档数,当按下遥控器的1、2、3键,分别显示1、2、3。按下遥控器OFF键不显示并关闭风扇的运行!红外线一体化接受头引脚如下:1为GND2为VCC3为DATASAA3010T电视遥控器的数据码值表如下:******************************************************[开关]55D2[静音]55D3*[1]55AB[2]55AC[3]55AD[4]55B2*[5]55B3[6]55B4[7]55B5[8]55CA*[9]55CB[0]55AA[单/双]5

3、5CC[调谐]5554*[节目+]56AA[节目-]56AB[微调+]56CD[微调-]56D2*[音量+]552A[存储]56CB[召回]55D5*[音量-]552B[爱好]55D4[定时]56B4*[对比+]5552[色彩+]5532[亮度+]5526[录像]564A*[对比-]5553[色彩-]5533[亮度-]55D2[电视]5655*****************************************************C51控制程序具体如下:/*------------

4、------------------------------------------------------------------------------------本程序采用SAA3010T电视遥控器若没有SAA3010T的遥控器,读者可获知相应的编码,更改CASE语句里的相应的数据,即可!这里不在叙述如何获知编码,望读者谅解!------------------------------------------------------------------------------------

5、--------------*/#includestaticunsignedchardataIRCode[3],IRCON,IRCON2;staticunsignedchardataDT;voidmain(void){unsignedintde;TMOD=0x01;//定时器0方式1EA=1;//允许CPU中断IT0=1;//INT0下降沿有效EX0=1;//开INT0中断P3_3=0x00;P3_0=0x00;P3_5=0x00;P1=0Xc0;//上电复位显示“0”do{

6、for(de=0;de<8000;de++)P3_6=1;//LED点亮for(de=0;de<8000;de++)P3_6=0;//LED熄灭if(DT){EX0=0;//关闭外中断for(de=0;de<30000;de++)//按键值正确后会有一个延时,防止重复按键P3_6=1;for(de=0;de<30000;de++)P3_6=0;DT=0;}EX0=1;}while(1);}//定时器0中断处理voidtimeint(void)interrupt1using2{TH0=0xFC;//

7、TH0=0XFC;TL0=0XE0TL0=0xE0;//设定时值为800usif(IRCON<3){if(IRCON2<8)//中断一次读一次遥控接收头的状态,每二次为遥控编码中的一个位{IRCON2++;IRCode[IRCON]=IRCode[IRCON]<<1;//每读一次放入变量中的二进制的一个位,每次左移一位IRCode[IRCON]=IRCode[IRCON]

8、P3_2;//每八次填满一个字节,一个字节存放遥控编码4个位}else{IRCON++;//填满一个字节,指向下一个变量IRC

9、ON2=0;//计数清零}}else{TR0=0;//关闭定时器ET0=0;//定时器0中断关闭if((IRCode[1]!=0xFF)&&(IRCode[2]!=0xFF)){if(IRCode[1]==0x55){switch(IRCode[2]){case0xAB:P1=0Xf9;P3_3=0x01;P3_0=0x00;P3_5=0x00;DT=1;break;case0xAC:P1=0Xa4;P3_0=0x01;P3_5=0x00;P3_3=0x00;DT=1;break;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。