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

📄 rf315mhz.c

📁 与C51相关模块LCD,24CXX,等的源代码程序
💻 C
字号:
/******************************************************
DESIGN FOR RF315MHz USE
Designer: BH Zhang
Date:2006-1-11
Ver:1.0
Modify Mark:NONE
MCU IO="0"	SEND MODOL="1"	REC MODOL="0" 
MCU IO="1"	SEND MODOL="0"	REC MODOL="1" 
IO=1	SEND MODOL NOT WORK.
IO=0	SEND MODOL WORKING.
*******************************************************/
#include <at89x51.h>
#include "rf315mhz.h"
#include "timer.h"
//------------------------------------------------------
#define RFADDRESS	0x55
#define THIS		0x01		//send:hi	target:low
//------------------------------------------------------
unsigned char RFBuf[RFSENDLEN];	//data buf
unsigned char nCodeLen;			//record length per bit
//------------------------------------------------------
#define SW		3				//stop(wait) len
#define SWMIN	(SW-2)
#define SWMAX	(SW+SW)
#define S0		3				//0bit len
#define S0MIN	(S0-2)
#define S0MAX	(S0+2)
#define S1		9				//1bit len
#define S1MIN	(S1-3)
#define S1MAX	(S1+3)
#define ST		18				//start bit len
#define STMIN	(ST-2)
#define STMAX	(ST+2)
//------------------------------------------------------
//------------------------------------------------------
void SendSignal(unsigned char i){
	RFTX=0;
	TH0=T1OverFlow;
	nCodeLen=0;
	TR1=1;
	while(nCodeLen<i);
	RFTX=1;
	i=SW;
	TH0=T1OverFlow;
	nCodeLen=0;
	while(nCodeLen<i);
	TR1=0;
}
//------------------------------------------------------
void RFSendStr(){
	unsigned char i,j,tmp;
	
	RFBuf[0]=RFADDRESS;
	RFBuf[1]=THIS<<4;
	RFBuf[RFSENDLEN-1]=0;
	for(i=0;i<19;i++)RFBuf[RFSENDLEN-1]-=RFBuf[i];

	SendSignal(S0);
	SendSignal(ST);
	
	for(i=0;i<RFSENDLEN;i++){
		tmp=RFBuf[i];
		for(j=0;j<8;j++){
			if(tmp&0x01)SendSignal(S1);
			else SendSignal(S0);
			tmp>>=1;
		}
	}
}
//------------------------------------------------------

⌨️ 快捷键说明

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