⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ir.#1

📁 本程序运行于C8051F330
💻 #1
字号:
#include <C8051F330.H>
#include "string.h"
#include "IR_Rx_Tx.h"

sbit samlpeData=P0^7;

char  IRsampData[40];
char  SampNo;
char  SampNoData;

extern BOOL bAddrRecv;
extern unsigned char DataAvailByte;
extern unsigned char* pSMB_DATA_OUT; 
extern unsigned char SMB_DATA_LEN;

extern unsigned char i_Tx;


void sampleIRdata()
{
	 char start=0;
	 DataAvailByte = FALSE;
	 bAddrRecv = FALSE;
     pSMB_DATA_OUT = NULL;
     SMB_DATA_LEN = 0x40;
	 SampNo=0;
	 SampNoData = 0;
	 memset( IRsampData, 0, 40 );
	 while(1)
	 {

		while(!start)
	 	{
			if(samlpeData==0)
			   while(samlpeData)
			      for(start=1;start<255;start++);
						
			while(!samlpeData)
			{
				DataAvailByte = FALSE;
				start = 1;
				Timer3_Init (5000); //start timer3

	 		}

		}
	 	
	    if(SampNoData==39)//samp data
		{			
			SampNoData=0;
			SampNo=0;
			TMR3CN &=0xfb;
			DataAvailByte = TRUE;
			pSMB_DATA_OUT = IRsampData;
			start=0;

			while(DataAvailByte)
			{
			   if(i_Tx==40)
			   {
			      DataAvailByte = FALSE;
			      i_Tx = 0;
   			      memset( IRsampData, 0, 40 );
				  pSMB_DATA_OUT = IRsampData;
		 	   }
			}
			//delay(50000);
		}
	}
}



void Int_int14(void) interrupt 14
{
	EA = 0;
	TMR3CN &= 0x7f;

	if(samlpeData)//p1.3 is HI
		IRsampData[SampNoData] = (IRsampData[SampNoData]<<1)|0x1;
	else 
		IRsampData[SampNoData] = (IRsampData[SampNoData]<<1) & 0xfe;
	SampNo++;
	if(SampNo==8)
	{
		SampNoData++;
		SampNo=0;
	}

	EA = 1;
}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -