基于51单片机红外无线通讯仿真

目录

一、项目功能

二、仿真

 三、程序

资料下载地址:基于51单片机红外无线通信仿真

一、项目功能

该项目分为主机和从机,主机采集温度和光照强度通过IRLINK红外无线发射器传送给从机,并在在12864液晶屏幕上显示出来。

二、仿真

温度83、无亮度

 

温度65、有亮度

 

 三、程序

部分程序

#include <REG51.h>
#include <intrins.h>
#include "hongwaifashe.h"

 void hongwaifashe(void)
{ 

  TMOD = 0x01;         //T0 16位工作方式
  IR=1;				   //发射端口常态为高电平

ZZ(setdata[0]);
ZZ(setdata[1]);
}


  void ZZ(uchar x)
{ 
  TT0(1,m9);		   //高电平9mS
  TT0(0,m4_5);	       //低电平4.5mS

  /*┈ 发送4帧数据 ┈*/
  Z0(SBM);													                               
  Z0(~SBM);
  Z0(x);
  Z0(~x);

  /*┈┈ 结束码 ┈┈*/
  TT0(1,m_56);
  TT0(0,m40);
}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数功能:单帧发送程序
入口参数:1帧数据
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void Z0(uchar temp)
{ 
  uchar v;
  for (v=0;v<8;v++)                     //循环8次移位 
       {     
	         TT0(1,m_56);		        //高电平0.65mS         
			 if(temp&0x01) TT0(0,m1_68); //发送最低位
			 else          TT0(0,m_56);     
			 temp >>= 1;                //右移一位 
        }    
}

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数功能:38KHz脉冲发射 + 延时程序
入口参数:(是否发射脉冲,延时约 x (uS))
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void TT0(bit BT,uint x)
{
  TH0 = x>>8;	            //输入T0初始值
  TL0 = x;
  TF0=0;			        //清0
  TR0=1;			        //启动定时器0
  if(BT == 0) while(!TF0);	//BT=0时不发射38KHz脉冲只延时;BT=1发射38KHz脉冲且延时;
  else while(1)			    //38KHz脉冲,占空比5:26
         {
		  IR = 0;
		  if(TF0)break;
 	      if(TF0)break;
		  IR = 1;
  	      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;			        //标志位溢出则清0

  IR =1;			        //脉冲停止后,发射端口常态为高电平
}





  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森旺电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值