#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 );
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
基于单片机之红外发射接受_51单片机(论文+开题报告+源代码+详解图+毕业设计).zip (43个子文件)
单片机之红外发射接受
0086、单片机之红外发射接受
红外线接收
红外解码.__i 57B
TEXT.M51 10KB
TEXT.plg 2KB
STARTUP.LST 10KB
红外解码.c 2KB
红外解码.OBJ 9KB
TEXT.hex 1KB
TEXT_Opt.Bak 2KB
TEXT.lnp 60B
STARTUP.A51 6KB
TEXT.Opt 2KB
INC
IR_NEC0.H 4KB
IR_NEC.H 4KB
MY_SET.H 2KB
STC89C52RC.H 6KB
STARTUP.OBJ 750B
TEXT 8KB
TEXT.Uv2 2KB
红外解码.LST 5KB
TEXT_Uv2.Bak 2KB
红外发射
main.__i 34B
STARTUP.LST 10KB
text.plg 173B
main.OBJ 4KB
ir_send.__i 37B
ir_send.h 207B
ir_send.c 3KB
STARTUP.A51 6KB
text_Opt.Bak 2KB
ir_send.LST 6KB
main.LST 3KB
text_Uv2.Bak 2KB
text 9KB
text.hex 1KB
text.M51 12KB
STARTUP.OBJ 750B
STC5A08AD.H 17KB
ir_send.OBJ 6KB
text.Opt 2KB
text.Uv2 2KB
main.c 787B
text.lnp 72B
extern.h 835B
共 43 条
- 1
资源评论
CrMylive.
- 粉丝: 1w+
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 手检测18-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
- Inter-Task自适应增强:基于规划与执行轨迹的智能体自演化策略研究
- 大规模语言模型智能代理自动化生成与选择情境感知指南的方法
- 手检测16-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、VOC数据集合集.rar
- 利用多轮反馈机制提升大型语言模型在开放世界环境中的探索能力与任务完成度
- 大规模语言模型在社会科学中的应用:自动化假设生成与验证系统
- 交通信号灯数据集,可识别红绿黄三种颜色并使用coco格式标记.zip
- share_6c773ee2e6abf44995111d91677835171733220471775.mp4
- Video_2024-12-03_183654.wmv
- 手机检测18-YOLO(v5至v9)、COCO、CreateML、Darknet、Paligemma、TFRecord、VOC数据集合集.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功