📄 delay.html
字号:
<TD><CODE><FONT COLOR="#22AAAA">; *** to compensate all instructions, you place here. </FONT></CODE></TD></TR><TR></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bcf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">INTCON,T0IF </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>goto </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">EndIsr </FONT></CODE></TD></TR><TR></TR><TR></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE> </CODE></TD> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">; ***You may place other Interrupt Handlers here*** </FONT></CODE></TD></TR><TR></TR><TR></TR><TR></TR><TR> <TD><CODE><FONT COLOR="#AA22AA">EndIsr </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>clrf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Select Bank0 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">FSR_TEMP,w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movwf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">FSR </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Restore FSR </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PCLATH_TEMP,w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movwf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PCLATH </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Restore PCLATH </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS_TEMP,w </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movwf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">STATUS </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Restore STATUS </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>swapf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">W_TEMP,f </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>swapf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">W_TEMP,w </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;Restore W without corrupting STATUS bits </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>RETFIE </B></FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> </DD></DL>
</DD>
</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="Delay.wait_w_x_50us"></A><H3>
Delay.wait_w_x_50us</H3>
<PRE>
<B>Delay.wait_w_x_50us</B>( w )</PRE>
<P>
<DL>
<DD> This function waits for the value in w multiplied with 50 us. The movlw instruction needed befor every call is already included in the 50us. This function is intended to run at 8 MHz. If running other speeds, use the parameters in the source code to adjust values.
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The multiplicator </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD> Delay.Returned</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> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bsf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">.10 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">Delay.wait_w_x_50us </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bcf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sets Pin RB0 high for approx. 500 us</DD></DL>
</DD>
</DL>
<HR>
<A NAME="Delay.start"></A><H3>
Delay.start</H3>
<PRE>
<B>Delay.start</B>( w )</PRE>
<P>
<DL>
<DD> This function starts a counter an initializes it with value in w multiplied with 50 us. To wait for the counter to finish call Delay.Wait This function is intended to run at 8 MHz. If running other speeds, use the parameters in the source code to adjust values.<BR>
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The multiplicator </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD> INTCON OPTION_REG</DD></DL>
</DD>
<DD><DL>
<DT><B>Stacklevel:</B><DD>1</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> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bsf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">.10 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">Delay.start </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;starts the counter </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">Delay.Wait </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;waits till the 500us are over </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bcf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sets Pin RB0 high for approx. 500 us</DD></DL>
</DD>
</DL>
<HR>
<A NAME="Delay.Wait"></A><H3>
Delay.Wait</H3>
<PRE>
<B>Delay.Wait</B>( w )</PRE>
<P>
<DL>
<DD> This function waits for the Counter to finish.<BR>
<P>
<DD><DL>
<DT><B>Parameters:</B>
<DD><CODE>w</CODE> - The multiplicator </DD>
</DL></DD>
<P>
<DD><DL>
<DT><B>Used SFRs:</B><DD> INTCON</DD></DL>
</DD>
<DD><DL>
<DT><B>Stacklevel:</B><DD>1</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> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bsf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>movlw </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">.10 </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">Delay.start </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;starts the counter </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>call </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">Delay.Wait </FONT></CODE></TD> <TD><CODE><FONT COLOR="#22AAAA">;waits till the 500us are over </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF">banksel </FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB </FONT></CODE></TD></TR><TR> <TD><CODE> </CODE></TD> <TD><CODE><FONT COLOR="#0000FF"><B>bcf </B></FONT></CODE></TD> <TD><CODE><FONT COLOR="#AA22AA">PORTB,0 </FONT></CODE></TD></TR></TABLE></CODE></DD></DL>
</DD>
<DD><DL>
<DT><B>Description:</B><DD> This sets Pin RB0 high for approx. 500 us</DD></DL>
</DD>
</DL>
<HR>
<!-- ========= END OF CLASS DATA ========= -->
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -