標(biāo)題:
單片機(jī)紅外發(fā)射與接收源程序
[打印本頁]
作者:
ssl9187
時(shí)間:
2019-12-19 20:14
標(biāo)題:
單片機(jī)紅外發(fā)射與接收源程序
純分享設(shè)計(jì)
發(fā)送端單片機(jī)源程序如下:
#include "ir_send.h"
/*------------初始化IO------------*/
void ir_init(void)
{
P2M0 = 0x80; //P2.7強(qiáng)推挽
P2M1 = 0x00;
TMOD = 0x01; //T0 16位 定時(shí)
IR = 0;
}
/*-------發(fā)射數(shù)據(jù) + 載波---------*/
void ir_t(bit BT , uint p)
{
TH0 = p>>8;
TL0 = p;
TF0=0;
TR0=1; //啟動定時(shí)器0
if(BT == 0) //BT=0時(shí),不發(fā)射38KHz載波只延時(shí);BT=1發(fā)射38KHz脈沖且延時(shí)
{
while(!TF0);
}
else while(1) //38KHz載波,(低電平)占空比5:26
{
IR = 1;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;
IR = 0;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
if(TF0)break;if(TF0)break;
}
TR0=0; //關(guān)閉定時(shí)器0
TF0=0;
IR =0;
}
/*-----------發(fā)送一幀數(shù)據(jù)-----------*/
void ir_send_byt(uchar temp)
{
uchar i;
for (i = 0; i < 8; i++ ) //循環(huán)8次移位
{
ir_t( 1 , m_56 ); //高電平0.65mS
if( temp & 0x01 )
ir_t( 0 , m1_6 ); //先發(fā)送最低位
else
ir_t( 0 , m_56 );
temp >>= 1;
}
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函數(shù):NEC編碼發(fā)送程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void ir_send(uchar p)
{
ir_t( 1 , m9 ); //高電平9mS
ir_t( 0 , m4_5 ); //低電平4.5mS
/*┈ 發(fā)送4幀數(shù)據(jù)┈*/
ir_send_byt( user_h ); //用戶碼高8位
ir_send_byt( user_l ); //用戶碼低8位
ir_send_byt( p ); //操作碼
ir_send_byt( ~p ); //操作碼反碼
/*┈┈ 結(jié)束碼 ┈┈*/
ir_t( 1 , m_56 );
ir_t( 0 , m40 );
/*┈┈ 重復(fù)碼 ┈┈*/
while(0)
{
ir_t( 1 , m9 );
ir_t( 0 , m2_25 );
ir_t( 1 , m_56 );
ir_t( 0 , m40 );
ir_t( 0 , m56 );
}
}
復(fù)制代碼
所有資料51hei提供下載:
單片機(jī)之紅外發(fā)射接受.zip
(57.92 KB, 下載次數(shù): 51)
2019-12-19 20:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
admin
時(shí)間:
2019-12-20 00:09
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
作者:
lyseg
時(shí)間:
2019-12-20 09:51
謝謝分享。
作者:
vkbvfhp
時(shí)間:
2020-12-13 14:34
下載學(xué)習(xí)后,發(fā)現(xiàn)這是一個(gè)很好的程序,不是常規(guī)的下降沿中斷接收,程序工整強(qiáng)大。受溢非淺。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1