历史上的今天
今天是:2024年12月20日(星期五)
2019年12月20日 | 单片机红外发射与接收源程序
2019-12-20 来源:51hei
发送端单片机源程序如下:
#include "ir_send.h"
/*------------初始化IO------------*/
void ir_init(void)
{
P2M0 = 0x80; //P2.7强推挽
P2M1 = 0x00;
TMOD = 0x01; //T0 16位 定时
IR = 0;
}
/*-------发射数据 + 载波---------*/
void ir_t(bit BT , uint p)
{
TH0 = p>>8;
TL0 = p;
TF0=0;
TR0=1; //启动定时器0
if(BT == 0) //BT=0时,不发射38KHz载波只延时;BT=1发射38KHz脉冲且延时
{
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; //关闭定时器0
TF0=0;
IR =0;
}
/*-----------发送一帧数据-----------*/
void ir_send_byt(uchar temp)
{
uchar i;
for (i = 0; i < 8; i++ ) //循环8次移位
{
ir_t( 1 , m_56 ); //高电平0.65mS
if( temp & 0x01 )
ir_t( 0 , m1_6 ); //先发送最低位
else
ir_t( 0 , m_56 );
temp >>= 1;
}
}
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:NEC编码发送程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void ir_send(uchar p)
{
ir_t( 1 , m9 ); //高电平9mS
ir_t( 0 , m4_5 ); //低电平4.5mS
/*┈ 发送4帧数据┈*/
ir_send_byt( user_h ); //用户码高8位
ir_send_byt( user_l ); //用户码低8位
ir_send_byt( p ); //操作码
ir_send_byt( ~p ); //操作码反码
/*┈┈ 结束码 ┈┈*/
ir_t( 1 , m_56 );
ir_t( 0 , m40 );
/*┈┈ 重复码 ┈┈*/
while(0)
{
ir_t( 1 , m9 );
ir_t( 0 , m2_25 );
ir_t( 1 , m_56 );
ir_t( 0 , m40 );
ir_t( 0 , m56 );
}
}
史海拾趣
|
SAA7113的LLC应该是每个像素点的同步信号,请问SAA7113的LLC输出的信号是方波还是其他什么波形?我用的时候,出来的波形是锯齿波,感觉不对?有谁用过,帮我确认一下!… 查看全部问答> |
|
Symbian开发内容介绍热线:010-51292078 021-51875830 0755-61280252 传真:021-62450161 010-62475416业务手机:15921673576曙海培训网站:http://www.51qianru.cn曙海培训曙海培训pads培训Cadence培训Allegro培训<a href=\" ...… 查看全部问答> |
|
谈小功率开关电源设计方面的几点总结1帖 wjjzqy团长 1319三2010-07-08 18:26 小功率开关电源的设计多要求交流全范围工作,一般常见于大功率电源或家用电器的辅助电源,工控电源的5VSB输出部分,PLC控制的供电部分,独立的小功率模块电 ...… 查看全部问答> |
|
俺要把一个跑在Windows CE(ARM)上的程序移植到Windows CE(MIPS)上去。 现在已经可以编译链接成功了,但是在Windows CE(MIPS)上一执行exe文件就报错,错误是“找不到($俺的程序名)或它的某一个组件。请确认路径和文件名正确并且所需要的库全部可用 ...… 查看全部问答> |
|
想找omnivision的图像传感器,但是代理商都要求很大的批量才行,我只需要几片,该怎么办呀? 在学校,做东西的时候需要几片CMOS图像传感器,现在选定的是omnivision的ov7740,找了很多代理商,但是都要求要一个包装的才能订货,也就是1700片左右,我的天啊,我哪里能承受地起,现在我该怎么办呢? 之前选定的是cypress赛普拉斯的CMOS图像传 ...… 查看全部问答> |
|
wince5.0 nk.bin大于32M不能保存到NANDFLASH,因为进入CE后后面的32M被格式化了(NANDFLASH总共64M),请问怎么才能保存更大的NK.BIN?我想从48M的位置开始格式化,怎么才能做到?… 查看全部问答> |




