資源簡介
采用51單片機和proteus的仿真程序和仿真電路圖

代碼片段和文件信息
#include??
static?bit?OP;????????//紅外發射管的亮滅
static?unsigned?int?count;???????//延時計數器
static?unsigned?int?endcount;?//終止延時計數
static?unsigned?char?Flag;??????//紅外發送標志
char?iraddr1;??//十六位地址的第一個字節
char?iraddr2;??//十六位地址的第二個字節
void?SendIRdata(char?p_irdata);
void?delay();
char?getkey()
{
??P1=0xfe;P3_6=P3_7=1;P3_3=1;
??if(!P1_4)return?1;???//ON
??if(!P1_5)return?2;???//7
??if(!P1_6)return?3;???//8
??if(!P1_7)return?4;???//9
??if(!P3_6)return?5;???//X
??if(!P3_7)return?6;???//÷
??P1=0xfd;
??if(!P1_4)return?11;?//+-
??if(!P1_5)return?12;?//4
??if(!P1_6)return?13;?//5
??if(!P1_7)return?14;?//6
??if(!P3_6)return?15;?//-
??if(!P3_7)return?16;?//MRC
??P1=0xfb;
??if(!P1_4)return?21;?//%
??if(!P1_5)return?22;?//1
??if(!P1_6)return?23;?//2
??if(!P1_7)return?24;?//3
??if(!P3_6)return?25;?//+
??if(!P3_7)return?26;?//M-
??P1=0xf7;
??if(!P1_4)return?31;?//□
??if(!P1_5)return?32;?//0
??if(!P1_6)return?33;?//.
??if(!P1_7)return?34;?//=
??if(!P3_6)return?35;?//+
??if(!P3_7)return?36;?//M+
??P1=0xfF;P3_3=0;
??if(!P1_4)return?41;?//
??if(!P1_5)return?42;?//
??if(!P1_6)return?43;?//
??if(!P1_7)return?44;?//
??if(!P3_6)return?45;?//
??if(!P3_7)return?46;?//
??return?0;
}
void?main(void)?
{
??char?key;
??count?=?0;
??Flag?=?0;
??OP?=?0;
??P3_4?=?1;
??EA?=?1;?//允許CPU中斷?
??TMOD?=?0x11;?//設定時器0和1為16位模式1?
??ET0?=?1;?//定時器0中斷允許?
??P1=0xff;
??TH0?=?0xFF;?
??TL0?=?0xE6;?//設定時值0為38K?也就是每隔26us中斷一次??
??TR0?=?1;//開始計數
??iraddr1=0xff;
??iraddr2=0xff;
??do{
??key=getkey();
??????if(key==1)SendIRdata(0x12);//set
??????if(key==11)SendIRdata(0x0b);//exit
??????if(key==25||key==35)SendIRdata(0x1a);//+
??????if(key==15)SendIRdata(0x1e);//-
??????if(key==6)SendIRdata(0x0e);//↑?÷
??????if(key==16)SendIRdata(0x1d);//↓?MRC
??????if(key==26)SendIRdata(0x1f);//←?M-
??????if(key==36)SendIRdata(0x1b);//→?M+
??????if(key==32)SendIRdata(0x00);//0
??????if(key==22)SendIRdata(0x01);//1
??????if(key==23)SendIRdata(0x02);//2
??????if(key==24)SendIRdata(0x03);//3
??????if(key==12)SendIRdata(0x04);//4
??????if(key==13)SendIRdata(0x05);//5
??????if(key==14)SendIRdata(0x06);//6
??????if(key==2)SendIRdata(0x07);//7
??????if(key==3)SendIRdata(0x08);//8
??????if(key==4)SendIRdata(0x09);//9
??????if(key==21)SendIRdata(0x2A);//%
??????if(key==5)SendIRdata(0x2B);//X
??????if(key==33)SendIRdata(0x2C);//.
??????if(key==34)SendIRdata(0x2D);//=
??????if(key==31)SendIRdata(0x2E);//□
??????if(key==41)SendIRdata(0x2F);//
??????if(key==42)SendIRdata(0x30);//
??????if(key==43)SendIRdata(0x31);//
??????if(key==44)SendIRdata(0x32);//
??????if(key==45)SendIRdata(0x33);//
??????if(key==46)SendIRdata(0x34);//
??}while(1);
}?
//定時器0中斷處理?
void?timeint(void)?interrupt?1?
{?
??TH0=0xFF;?
??TL0=0xE6;?//設定時值為38K?也就是每隔26us中斷一次
??count++;
}?
void?SendIRdata(char?p_irdata)
{
??int?i;
??char?irdata=p_irdata;
??//發送9ms的起始碼
??endcount=223;
??Flag=1;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????149931??2008-08-04?20:07??紅外遙控模擬\Last?Loaded?紅外遙控的仿真.DBK
?????文件???????5196??2008-08-04?22:06??紅外遙控模擬\main.c
?????文件??????10149??2008-08-04?22:06??紅外遙控模擬\main.LST
?????文件??????13217??2008-08-04?22:06??紅外遙控模擬\main.OBJ
?????文件??????10482??2007-11-01?21:52??紅外遙控模擬\紅外遙控
?????文件?????????44??2007-11-01?21:52??紅外遙控模擬\紅外遙控.lnp
?????文件??????12468??2007-11-01?21:52??紅外遙控模擬\紅外遙控.M51
?????文件???????1535??2008-08-04?22:53??紅外遙控模擬\紅外遙控.Opt
?????文件????????166??2008-01-15?12:19??紅外遙控模擬\紅外遙控.plg
?????文件???????1652??2008-08-04?22:53??紅外遙控模擬\紅外遙控.Uv2
?????文件?????149931??2008-11-21?19:17??紅外遙控模擬\紅外遙控的仿真.DSN
?????文件???????3463??2009-06-16?18:29??紅外遙控模擬\紅外遙控的仿真.PWI
?????文件??????22584??2008-08-04?22:08??紅外遙控模擬\解碼
?????文件???????3779??2008-08-04?22:06??紅外遙控模擬\解碼.c
?????文件???????7303??2008-08-04?22:08??紅外遙控模擬\解碼.hex
?????文件?????????41??2008-08-04?22:08??紅外遙控模擬\解碼.lnp
?????文件???????7575??2008-08-04?22:08??紅外遙控模擬\解碼.LST
?????文件??????24972??2008-08-04?22:08??紅外遙控模擬\解碼.M51
?????文件??????14968??2008-08-04?22:08??紅外遙控模擬\解碼.OBJ
?????文件???????1604??2008-11-21?19:25??紅外遙控模擬\解碼.Opt
?????文件????????202??2008-11-21?19:25??紅外遙控模擬\解碼.plg
?????文件???????1963??2008-11-21?19:25??紅外遙控模擬\解碼.Uv2
?????文件???????3609??2008-01-15?13:55??紅外遙控模擬\解碼LCD.c
?????文件???????6629??2008-08-04?22:08??紅外遙控模擬\解碼LCD.LST
?????文件??????10091??2008-08-04?22:08??紅外遙控模擬\解碼LCD.OBJ
?????文件???????1573??2008-08-04?22:53??紅外遙控模擬\解碼_Opt.Bak
?????文件???????1676??2008-08-04?22:53??紅外遙控模擬\解碼_Uv2.Bak
?????文件??????11166??2008-08-04?22:06??紅外遙控模擬\遙控
?????文件???????3122??2008-08-04?22:06??紅外遙控模擬\遙控.hex
?????文件?????????40??2008-08-04?22:06??紅外遙控模擬\遙控.lnp
............此處省略6個文件信息
評論
共有 條評論