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

📄 rf.html

📁 汽车无钥进入系统设计,基于PIC单片机16F639,包括电路图和源码
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by AsmDoc -->
<TITLE>
HTMLWriter
</TITLE>

<META NAME="keywords" CONTENT="HTMLWriter class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="RF";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ======== START OF CLASS DATA ======== -->
<H2>
Module RF</H2>
<HR>

<P>
	RF.asm	Jan Ornter	DATE:	11-9-2005	VER.:	1.0	This class provides access to the optionally RF-Interface.	It will transmit a header (see below) and pulse with modulated data (see below).<BR>
<P>

<P>
<B> Transmission frame:</B><p style="position:relative;" id="RF_time_0_p"><IMG SRC="RF_time_0.jpg" NAME="RF_time_0"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_time_0_res()",100);var RF_time_0_init = document.RF_time_0.width ;function RF_time_0_res(){try{if(RF_time_0_init > parent.classFrame.innerWidth-45)	document.RF_time_0.width=parent.classFrame.innerWidth-45;else{	document.RF_time_0.width=RF_time_0_init;	document.getElementById("RF_time_0_p").style.left= ((parent.classFrame.innerWidth-document.RF_time_0.width-45) / 2) + "px";	document.getElementById("RF_time_0_p").style.width= document.RF_time_0.width	+ "px";}}catch(Exception){}}</SCRIPT><B> A pwm coded '1':</B><p style="position:relative;" id="RF_time_1_p"><IMG SRC="RF_time_1.jpg" NAME="RF_time_1"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_time_1_res()",100);var RF_time_1_init = document.RF_time_1.width ;function RF_time_1_res(){try{if(RF_time_1_init > parent.classFrame.innerWidth-45)	document.RF_time_1.width=parent.classFrame.innerWidth-45;else{	document.RF_time_1.width=RF_time_1_init;	document.getElementById("RF_time_1_p").style.left= ((parent.classFrame.innerWidth-document.RF_time_1.width-45) / 2) + "px";	document.getElementById("RF_time_1_p").style.width= document.RF_time_1.width	+ "px";}}catch(Exception){}}</SCRIPT><B> A pwm coded '0':</B><p style="position:relative;" id="RF_time_2_p"><IMG SRC="RF_time_2.jpg" NAME="RF_time_2"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_time_2_res()",100);var RF_time_2_init = document.RF_time_2.width ;function RF_time_2_res(){try{if(RF_time_2_init > parent.classFrame.innerWidth-45)	document.RF_time_2.width=parent.classFrame.innerWidth-45;else{	document.RF_time_2.width=RF_time_2_init;	document.getElementById("RF_time_2_p").style.left= ((parent.classFrame.innerWidth-document.RF_time_2.width-45) / 2) + "px";	document.getElementById("RF_time_2_p").style.width= document.RF_time_2.width	+ "px";}}catch(Exception){}}</SCRIPT><HR>

<P>
<!-- =========== CONSTANT SUMMARY =========== -->

<A NAME="constant_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constant Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;.4100</CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.T_HDR_INIT">RF.T_HDR_INIT</A></B></CODE>

<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;.550</CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.T_HDR_GAP">RF.T_HDR_GAP</A></B></CODE>

<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;.2100</CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.T_HDR_HIGH">RF.T_HDR_HIGH</A></B></CODE>

<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;.2100</CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.T_HDR_LOW">RF.T_HDR_LOW</A></B></CODE>

<BR>
</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;.250</CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.T_STEP">RF.T_STEP</A></B></CODE>

<BR>
</TD>
</TR>
</TABLE>
<P>
<!-- ========== MACRO SUMMARY =========== -->

<A NAME="macro_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Macro Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.Init">RF.Init</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This macro initialises the RF module.</TD>
</TR>
</TABLE>
<P>

<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Function Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.SendBuffer">RF.SendBuffer</A></B>(&nbsp;w&nbsp;&nbsp;FSR&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function sends a complete data buffer to the air.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.Send_Data">RF.Send_Data</A></B>(&nbsp;w&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function will transmit one byte of data over the RF antenna.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE></CODE></FONT></TD>
<TD><CODE><B><A HREF="RF.html#RF.Send_Header">RF.Send_Header</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function will transmit the header over the RF antenna.</TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ CONSTANT DETAIL =========== -->

<A NAME="constant_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constant Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="RF.T_HDR_INIT"></A><H3>
RF.T_HDR_INIT</H3>
<DL>
<DD>	The initial high time of the header in micro seconds.<BR><BR>Default value = .4100
<P>
<DL>
</DL>
</DL>
<B> Transmission frame:</B><p style="position:relative;" id="RF_T_HDR_INIT_time_0_p"><IMG SRC="RF.T_HDR_INIT_time_0.jpg" NAME="RF_T_HDR_INIT_time_0"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_T_HDR_INIT_time_0_res()",100);var RF_T_HDR_INIT_time_0_init = document.RF_T_HDR_INIT_time_0.width ;function RF_T_HDR_INIT_time_0_res(){try{if(RF_T_HDR_INIT_time_0_init > parent.classFrame.innerWidth-45)	document.RF_T_HDR_INIT_time_0.width=parent.classFrame.innerWidth-45;else{	document.RF_T_HDR_INIT_time_0.width=RF_T_HDR_INIT_time_0_init;	document.getElementById("RF_T_HDR_INIT_time_0_p").style.left= ((parent.classFrame.innerWidth-document.RF_T_HDR_INIT_time_0.width-45) / 2) + "px";	document.getElementById("RF_T_HDR_INIT_time_0_p").style.width= document.RF_T_HDR_INIT_time_0.width	+ "px";}}catch(Exception){}}</SCRIPT><HR>

<A NAME="RF.T_HDR_GAP"></A><H3>
RF.T_HDR_GAP</H3>
<DL>
<DD>	The time of the gap between the initial high time and the filter-sequence.<BR><BR>Default value = .550
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="RF.T_HDR_HIGH"></A><H3>
RF.T_HDR_HIGH</H3>
<DL>
<DD>	The high time of the filter-sequence.<BR><BR>Default value = .2100
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="RF.T_HDR_LOW"></A><H3>
RF.T_HDR_LOW</H3>
<DL>
<DD>	The low time of the filter-sequence.<BR><BR>Default value = .2100
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="RF.T_STEP"></A><H3>
RF.T_STEP</H3>
<DL>
<DD>	This time adjusts the bitrate of the data transmission.<BR><BR>Default value = .250
<P>
<DL>
</DL>
</DL>
<B> A pwm coded '1':</B><p style="position:relative;" id="RF_T_STEP_time_0_p"><IMG SRC="RF.T_STEP_time_0.jpg" NAME="RF_T_STEP_time_0"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_T_STEP_time_0_res()",100);var RF_T_STEP_time_0_init = document.RF_T_STEP_time_0.width ;function RF_T_STEP_time_0_res(){try{if(RF_T_STEP_time_0_init > parent.classFrame.innerWidth-45)	document.RF_T_STEP_time_0.width=parent.classFrame.innerWidth-45;else{	document.RF_T_STEP_time_0.width=RF_T_STEP_time_0_init;	document.getElementById("RF_T_STEP_time_0_p").style.left= ((parent.classFrame.innerWidth-document.RF_T_STEP_time_0.width-45) / 2) + "px";	document.getElementById("RF_T_STEP_time_0_p").style.width= document.RF_T_STEP_time_0.width	+ "px";}}catch(Exception){}}</SCRIPT><B> A pwm coded '0':</B><p style="position:relative;" id="RF_T_STEP_time_1_p"><IMG SRC="RF.T_STEP_time_1.jpg" NAME="RF_T_STEP_time_1"  BORDER="0"></p><SCRIPT type="text/javascript">window.setInterval("RF_T_STEP_time_1_res()",100);var RF_T_STEP_time_1_init = document.RF_T_STEP_time_1.width ;function RF_T_STEP_time_1_res(){try{if(RF_T_STEP_time_1_init > parent.classFrame.innerWidth-45)	document.RF_T_STEP_time_1.width=parent.classFrame.innerWidth-45;else{	document.RF_T_STEP_time_1.width=RF_T_STEP_time_1_init;	document.getElementById("RF_T_STEP_time_1_p").style.left= ((parent.classFrame.innerWidth-document.RF_T_STEP_time_1.width-45) / 2) + "px";	document.getElementById("RF_T_STEP_time_1_p").style.width= document.RF_T_STEP_time_1.width	+ "px";}}catch(Exception){}}</SCRIPT><HR>
<P>
<!-- ============ MACRO DETAIL ========== -->

<A NAME="macro_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Macro Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="RF.Init"></A><H3>
RF.Init</H3>
<PRE>
&nbsp;<B>RF.Init</B>()</PRE>
<P>
<DL>
<DD>	This macro initialises the RF module.	Initialize the Delay module first.
<P>
<P>
</DL>
<HR>
<P>
<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="RF.SendBuffer"></A><H3>
RF.SendBuffer</H3>
<PRE>
&nbsp;<B>RF.SendBuffer</B>(&nbsp;w&nbsp;&nbsp;FSR&nbsp;)</PRE>
<P>
<DL>
<DD>	This function sends a complete data buffer to the air.	The Buffer has to be on Bank0 or Bank1
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The amount of bytes to be sent </DD>
<DD><CODE>FSR</CODE> - The start address of the buffer </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Stacklevel:</B><DD>3</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movlw&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">AFE.ConfData&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movwf&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movlw&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x07&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>call&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">RF.SendBuffer&nbsp;</FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sends 7 bytes of the buffer "AFE.ConfMap" to the air </DD></DL>
</DD>
</DL>
<HR>
<A NAME="RF.Send_Data"></A><H3>
RF.Send_Data</H3>
<PRE>
&nbsp;<B>RF.Send_Data</B>(&nbsp;w&nbsp;)</PRE>
<P>
<DL>
<DD>	This function will transmit one byte of data over the RF antenna.	The value in w will be sent to the air over the RF antenna.
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The Byte of data to be sent </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD>   INTCON OPTION_REG  </DD></DL>
</DD>
<DD><DL>
<DT><B>Calls subroutines:</B><PRE>	Delay.start	Delay.wait
</PRE>
</DD></DL>
<DD><DL>
<DT><B>Stacklevel:</B><DD>2</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movlw&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0xf0&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>call&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">RF.Send_Data&nbsp;</FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sends 0xf0 over the RF antenna</DD></DL>
</DD>
</DL>
<HR>
<A NAME="RF.Send_Header"></A><H3>
RF.Send_Header</H3>
<PRE>
&nbsp;<B>RF.Send_Header</B>()</PRE>
<P>
<DL>
<DD>	This function will transmit the header over the RF antenna.	The header is used to activate the receiver.	Data format: (4ms + 500us + 2ms + 2ms) 
<P>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD>   INTCON OPTION_REG  </DD></DL>
</DD>
<DD><DL>
<DT><B>Calls subroutines:</B><PRE>	Delay.start	Delay.wait
</PRE>
</DD></DL>
<DD><DL>
<DT><B>Stacklevel:</B><DD>2</DD></DL>
</DD>
<DD><DL>
<DT><B>Status:</B><DD> Tested</DD></DL>
</DD>
<P>
<DD><DL>
<DT><B>Example:</B><DD><CODE><TABLE BORDER="0"><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>call&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">RF.Send_Header&nbsp;</FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sends the header</DD></DL>
</DD>
</DL>
<HR>
&nbsp;
<!-- ========= END OF CLASS DATA ========= -->




</BODY>
</HTML>

⌨️ 快捷键说明

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