51單片機紅外遙控電風扇程序
紅外遙控電風扇的電路圖下載:http://www.51hei.com/bbs/dpj-20601-1.html
下面是主要源碼:
/**********************李登峰************************
* 編寫;李登峰
*晶振:11.0592MHZ
******************************************************************/
/*-----------------------------------------------
名稱;單片機紅外遙控電風扇
------------------------------------------------*/
#include
sbit IR=P3^2; //紅外接口標志
#define DataPort P0 //定義數(shù)據(jù)端口 程序中遇到DataPort 則用P0 替換
sbit LATCH1=P2^0;//定義鎖存使能端口 段鎖存
sbit LATCH2=P2^1;// 位鎖存
sbit LCD1602=P2^5;
sbit cs88=P2^2;
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
sbit D7=P1^6;
sbit D8=P1^7;
sbit LD=P3^7;
/*------------------------------------------------
全局變量聲明
------------------------------------------------*/
unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9
unsigned char irtime;//紅外用全局變量
bit irpro_ok,irok;
unsigned char IRcord[4];
unsigned char irdata[33];
/*------------------------------------------------
函數(shù)聲明
------------------------------------------------*/
void Ir_work(void);
void Ircordpro(void);
/*------------------------------------------------
定時器0初始化
------------------------------------------------*/
void TIM0init(void)//定時器0初始化
{
TMOD=0x02;//定時器0工作方式2,TH0是重裝值,TL0是初值
TH0=0x00; //重載值
TL0=0x00; //初始化值
ET0=1; //開中斷
TR0=1;
}
評論