資源簡介
本資料給出詳細的紅外發射電路和源代碼,protues環境下運行直觀可見。

代碼片段和文件信息
/*******************************************************
38K載波發送程序?T1產生38K載波?T0用于精確定時???????????*
數據格式??起始位(9ms?高?4.5ms?低)+8位數據(0.560ms?高??*
0.565?低:0????1.685ms?高?0.565ms?低??:1)???????????????*
TR1控制載波發送????????*
write?by?wisdom???????????2008-8???????????????????????*
*******************************************************/
#include??
#define?IR_OUT?P3_4
#define?_MHz_?12
//T1?13us產生一次中斷?用于產生38K載波
//T0?方式1?16位??用于定時
void?Init_Timer(void)
{
TMOD=0x21; //T0?mode?1??????T1?mode?2?
TH1=256-(1000*_MHz_/38.0/12)/2+0.5;
TL1=TH1;
ET1=1;
EA=1;
}
//發送引導碼??發送方:9ms高電平?4.5ms低電平
void?Send_Start_Bit(void)????//TR1的值=發送的電平
{
//9ms?0
TH0=(65536-9000/12*_MHz_)/256;?
TL0=(65536-9000/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//4.5ms?1
TH0=(65536-4500/12*_MHz_)/256;?
TL0=(65536-4500/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//發送0?
void?Send_Bit_0(void)
{
//0.565ms?0
TH0=(65536-565/12*_MHz_)/256;?
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//0.565ms?1
TH0=(65536-565/12*_MHz_)/256;?
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//發送1
void?Send_Bit_1(void)
{
//1.685ms?0
TH0=(65536-1685/12*_MHz_)/256;?
TL0=(65536-1685/12*_MHz_)%256;
TR0=1;
TR1=0;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
//0.565ms?1
TH0=(65536-565/12*_MHz_)/256;?
TL0=(65536-565/12*_MHz_)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
IR_OUT=0;
}
//發送一字節?8位
void?Send_Char(unsigned?char?ir_data)
{
unsigned?char?ij;
j=ir_data;
Send_Start_Bit();
for(i=0;i<8;i++)
{
if(j&0x80)
Send_Bit_1();
else
Send_Bit_0();
j<<=1;
}
}
void?Delay10ms(void)
{
TH0=(65536-10000/12*_MHz_)/256;?
TL0=(65536-10000/12*_MHz_)%256;
TR0=1;
while(!TF0);
TF0=0;
}
void?main(void)
{
Init_Timer();
while(1)
{
Send_Char(0x55);
Delay10ms();
}
}
//-----------------------------------------------------------------------
//T1?ISR
void?T1_ISR(void)?interrupt?TF1_VECTOR?
{
IR_OUT=!IR_OUT;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1660??2010-03-25?15:29??紅外放射程序_仿真OK\38k
?????文件???????2373??2010-03-25?15:29??紅外放射程序_仿真OK\38k.c
?????文件????????670??2010-03-25?15:29??紅外放射程序_仿真OK\38k.hex
?????文件?????????38??2010-03-25?15:29??紅外放射程序_仿真OK\38k.lnp
?????文件???????6549??2010-03-25?15:29??紅外放射程序_仿真OK\38k.LST
?????文件???????7784??2010-03-25?15:29??紅外放射程序_仿真OK\38k.M51
?????文件???????2222??2010-03-25?15:29??紅外放射程序_仿真OK\38k.OBJ
?????文件???????1197??2010-03-25?16:07??紅外放射程序_仿真OK\38k.Opt
?????文件????????543??2010-03-25?15:29??紅外放射程序_仿真OK\38k.plg
?????文件???????2084??2010-03-25?16:07??紅外放射程序_仿真OK\38k.Uv2
?????文件???????1334??2003-01-02?03:03??紅外放射程序_仿真OK\38k_Opt.Bak
?????文件???????1646??2003-01-01?06:33??紅外放射程序_仿真OK\38k_Uv2.Bak
?????文件??????92504??2003-01-01?15:27??紅外放射程序_仿真OK\IR_Send.DSN
?????文件????????984??2010-06-23?12:08??紅外放射程序_仿真OK\IR_Send.PWI
?????文件??????92521??2003-01-01?15:19??紅外放射程序_仿真OK\Last?Loaded?IR_Send.DBK
?????目錄??????????0??2010-06-23?12:08??紅外放射程序_仿真OK
-----------?---------??----------?-----??----
???????????????214109????????????????????16
- 上一篇:readAPI破解key加源碼.zip
- 下一篇:hook更改硬盤序列號 轉載
評論
共有 條評論