資源簡(jiǎn)介
lrhhki.rar

代碼片段和文件信息
/*********************************************/
/*??????紅外發(fā)射管波長(zhǎng)940nm,載波38kHz???????*/
/*??????????????晶振11.0592M?????????????????*/
/* ?版權(quán)所有者:張興恩 ?*/
/* ? QQ:?410846867 ?*/
/*********************************************/
#include
typedef?unsigned?char?BYTE;
typedef?unsigned?int?WORD;
sbit?IR=P1^0; //?紅外發(fā)射管控制腳
sbit?KEY1=P3^6; //?按鍵1?
sbit?KEY2=P3^7; //?按鍵2?
sbit?dula=P2^6; //?數(shù)碼管段選(消除數(shù)碼管顯示)?
sbit?wela=P2^7; //?數(shù)碼管位選(消除數(shù)碼管顯示)
bit?T1Flag=0;
/***************************
延時(shí)函數(shù)
***************************/
//延時(shí)函數(shù)最好用定時(shí)器來設(shè)定,不要用普通延時(shí)函數(shù)
//否則容易出現(xiàn)古怪的錯(cuò)亂,如矩形波頻率不對(duì),或者幀長(zhǎng)度出錯(cuò)等
void?Delay5ms(void)
{
TH1=0xEE;
TL1=0x00;?
????TR1=1;
while(!T1Flag);
T1Flag=0;
}
void?Delay10ms(void)
{
TH1=0xDC;
TL1=0x00;
????TR1=1;
while(!T1Flag);
T1Flag=0;
}
/***************************
定時(shí)器相關(guān)
***************************/
/*定時(shí)器初始化*/
void?TimerInit()
{?
EA=1;
ET0=1;
ET1=1;
TMOD=0x12;?? //定時(shí)0方式2(8位自動(dòng)重裝模式)定時(shí)器1方式1(16位定時(shí)器)
TH0=0xf4;
TL0=0xf4; //定時(shí)12us理論上紅外矩形波為41.67kHz,但實(shí)測(cè)到為38.462kHz
}
/*定時(shí)器0中斷*/?
void?Timer0()?interrupt?1?
{
//定時(shí)器會(huì)自動(dòng)裝載,因此不需重新設(shè)置TH0和TL0
IR=~IR;? //發(fā)射38khz的矩形波
}
/*定時(shí)器1中斷*/
void?Timer1()?interrupt?3?
{
TR1=0;
T1Flag=1;
}
/***************************
紅外發(fā)射
***************************/
void?IRSend(BYTE?MyData)?//發(fā)送紅外數(shù)據(jù),每個(gè)bit持續(xù)10ms,高位開始發(fā)送
{
BYTE?i;
for(i=0;i<8;i++)
{
//若對(duì)應(yīng)bit為1則先發(fā)射5ms38kHz矩形波,再發(fā)射5ms高電平
if(MyData&(0x80>>i))//從最高位開始逐位檢測(cè)是1還是0
{
TR0=1;?
Delay5ms(); //延時(shí)5ms?保證?Minimum?Burst?Length?>?280us
TR0=0;
IR=1;
Delay5ms(); //延時(shí)5ms?保證?No?Burst?Length?>?300us
}
//若對(duì)應(yīng)bit為0則關(guān)閉發(fā)射紅外線
else
{
IR=1;
Delay10ms(); //信號(hào)0延時(shí)10ms
}
}
IR=1;
}?
void?main()?
{
wela=0;
dula=0;?
TimerInit();
IR=1;
while(1)?
{?
if(!KEY1)?? //若有獨(dú)立按鍵1按下
{
Delay10ms(); //消抖
if(!KEY1)
{
while(!KEY1);? //松手檢測(cè)
IRSend(0xa1);? //紅外發(fā)送數(shù)據(jù)0xA1
}??
??? }
if(!KEY2) //若有獨(dú)立按鍵2按下
{
Delay10ms(); //消抖
if(!KEY2)
{
while(!KEY2); //松手檢測(cè)?
IRSend(0xa2); //紅外發(fā)送數(shù)據(jù)0xA2
}??
??? }
}?
}
?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4827??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR
?????文件???????2423??2014-08-22?20:50??紅外收發(fā)\紅外發(fā)射\IR.c
?????文件????????983??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR.hex
?????文件?????????52??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR.lnp
?????文件???????5500??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR.LST
?????文件???????9108??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR.M51
?????文件???????4754??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\IR.OBJ
?????文件???????1127??2014-04-25?12:38??紅外收發(fā)\紅外發(fā)射\IR.plg
????.......?????56061??2014-04-25?12:38??紅外收發(fā)\紅外發(fā)射\IR.uvopt
????.......?????13392??2014-04-02?23:08??紅外收發(fā)\紅外發(fā)射\IR.uvproj
????.......?????57764??2014-04-25?01:10??紅外收發(fā)\紅外發(fā)射\IR_uvopt.bak
????.......?????????0??2014-04-02?22:43??紅外收發(fā)\紅外發(fā)射\IR_uvproj.bak
?????文件???????6376??2009-05-07?14:37??紅外收發(fā)\紅外發(fā)射\STARTUP.A51
?????文件??????14048??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\STARTUP.LST
?????文件????????749??2014-04-25?12:15??紅外收發(fā)\紅外發(fā)射\STARTUP.OBJ
?????文件???????6468??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T
?????文件???????3068??2014-08-22?20:54??紅外收發(fā)\紅外接收\1838T.c
?????文件???????1461??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T.hex
?????文件?????????58??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T.lnp
?????文件???????7326??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T.LST
?????文件??????11324??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T.M51
?????文件???????6717??2014-04-25?12:56??紅外收發(fā)\紅外接收\1838T.OBJ
?????文件????????380??2014-04-25?12:59??紅外收發(fā)\紅外接收\1838T.plg
????.......?????56080??2014-04-25?12:59??紅外收發(fā)\紅外接收\1838T.uvopt
????.......?????13400??2014-04-22?14:29??紅外收發(fā)\紅外接收\1838T.uvproj
????.......?????56502??2014-04-25?11:53??紅外收發(fā)\紅外接收\1838T_uvopt.bak
????.......?????13401??2014-04-12?03:23??紅外收發(fā)\紅外接收\1838T_uvproj.bak
?????文件???????6376??2009-05-07?14:37??紅外收發(fā)\紅外接收\STARTUP.A51
?????文件??????14048??2014-04-25?12:56??紅外收發(fā)\紅外接收\STARTUP.LST
?????文件????????749??2014-04-25?12:56??紅外收發(fā)\紅外接收\STARTUP.OBJ
............此處省略6個(gè)文件信息
- 上一篇:meb格式解析
- 下一篇:貪吃蛇的FPGA代碼
評(píng)論
共有 條評(píng)論