基于51单片机的红外遥控红外遥控是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头和38k红外遥控器
1838红外接收头:红外遥控器:原理:红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面,http://wenku
com/view/c353e8360b4c2e3f57276349
html我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码和用户反码,后16位为数据码和数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作
源程序1:(这个程序的功能是将用户码和用户反码,数据码和数据反码显示在1602液晶上,因为遥控器买回来是不会说明按键对应什么码值,所以先自己测试,确定每个按键的码值)#include#include#include#defineuintunsignedint#defineucharunsignedchar#define_Nop()_nop_()#defineTURE1#defineFALSE0/*端口定义*/sbitlcd_rs_port=P3^5;/*定义LCD控制端口*/sbitlcd_rw_port=P3^6;sbitlcd_en_port=P3^4;#definelcd_data_portP0///////////////////////////////////voiddelay1(void)//关闭数码管延时程序{intk;for(k=0;k7)value=value|0x80;//大于某值为1k++;}IRcord[i]=value;value=0