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

📄 delay.html

📁 PKE(被动无钥门禁系统
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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="DELAY";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

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


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

<P>
	This module implements commonly used delay functions.
<P>

<P>
<HR>

<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="DELAY.html#Delay.Isr">Delay.Isr</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This macro must be called within the Interrupt routine, to enable the counter.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Delay.Returned&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="DELAY.html#Delay.Mikros">Delay.Mikros</A></B>(&nbsp;Delay.CounterH&nbsp;&nbsp;w&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function starts a delay routine with the given time in us.</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>&nbsp;Delay.Returned&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="DELAY.html#Delay.Start16">Delay.Start16</A></B>(&nbsp;Delay.CounterH&nbsp;&nbsp;w&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function starts a 16-bit counter and initializes it with value in w multiplied with 50 us.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;Delay.Returned&nbsp;</CODE></FONT></TD>
<TD><CODE><B><A HREF="DELAY.html#Delay.Start8">Delay.Start8</A></B>(&nbsp;w&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function starts a 8-bit counter and initializes it with value in w multiplied with 50 us.</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="DELAY.html#Delay.Wait">Delay.Wait</A></B>(&nbsp;w&nbsp;)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	This function waits for the Counter to finish.</TD>
</TR>
</TABLE>
&nbsp;
<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="Delay.Isr"></A><H3>
Delay.Isr</H3>
<PRE>
&nbsp;<B>Delay.Isr</B>()</PRE>
<P>
<DL>
<DD>	This macro must be called within the Interrupt routine, to enable the counter.	The Counter function is optimized for the following Interrupt routine.	If you do changes to that routine you will have to modify counter.start function,	to compensate these instructions (or you will loose precision).
<P>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD> TMR0</DD></DL>
</DD>
<DD><DL>
<DT><B>Stacklevel:</B><DD>0</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></TR><TR></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">HIGH_INT_VEC&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#0000FF">code&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x0008&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;3Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>goto&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">ISR&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">LOW_INT_VEC&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#0000FF">code&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x0018&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>bra&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x0018&nbsp;</FONT></CODE></TD></TR><TR></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">REST&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#0000FF">code&nbsp;</FONT></CODE></TD></TR><TR></TR><TR></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">ISR&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF">banksel&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x000&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2(1)Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR2L,FSR2_bak&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR2H,FSR2_bak+1&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>lfsr&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x02,tmpvar&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR0L,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR0H,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR1L,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR1H,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">ECANCON,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">PCLATH,POSTINC2&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>btfss&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">INTCON,TMR0IE&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>bra&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">PORTB_INT&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>btfss&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">INTCON,TMR0IF&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	n&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>bra&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">PORTB_INT&nbsp;</FONT></CODE></TD></TR><TR></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">Delay.Isr&nbsp;</FONT></CODE></TD></TR><TR></TR><TR></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;*** When using TMR0 for other interrupts, you may place code here ***&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">; You will have to compensate all instructions in the Delay.Isr or Delay.Start function&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>bcf&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">INTCON,TMR0IF&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;1Cycle		1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>bra&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">endisr&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;*** You may add other interrupts here ***	&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">endisr&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>lfsr&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x02,tmpvar&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[0],FSR0L&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[1],FSR0H&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[2],FSR1L&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[3],FSR1H&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[4],ECANCON&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE><FONT COLOR="#AA22AA">movsf&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">[5],PCLATH&nbsp;</FONT></CODE></TD>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR2_bak,FSR2L&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>movff&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">FSR2_bak+1,FSR2H&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR><TR>	<TD><CODE>&nbsp;</CODE></TD>	<TD><CODE><FONT COLOR="#0000FF"><B>RETFIE&nbsp;</B></FONT></CODE></TD>	<TD><CODE><FONT COLOR="#AA22AA">0x01&nbsp;</FONT></CODE></TD>	<TD><CODE><FONT COLOR="#22AAAA">;2Cycles	1&nbsp;</FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> </DD></DL>
</DD>
</DL>
<HR>
<A NAME="Delay.Mikros"></A><H3>
Delay.Mikros</H3>
<PRE>
&nbsp;Delay.Returned&nbsp;&nbsp;<B>Delay.Mikros</B>(&nbsp;Delay.CounterH&nbsp;&nbsp;w&nbsp;)</PRE>
<P>
<DL>
<DD>	This function starts a delay routine with the given time in us.	Appropriate values are multiples of 50 us up to a maximum of ~3.27 seconds.	To wait for the counter to finish call Delay.Wait<BR>
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>Delay.CounterH</CODE> - The high byte of the multiplicator </DD>
<DD><CODE>w</CODE> - The low byte of the multiplicator

⌨️ 快捷键说明

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