please dont rip this site

PIC Microcontoller Bit Math Method

Transfer one bit from a file register to one pin of PORT w/o jitter

Using shadow registers

;from Paul W. Webster
    MOVF    file,W
    ANDLW   fmask   ; fmask for bit 0 is defined as 0x01
    IORWF   shadA,W ; add in desired outputs from shadow
    MOVWF   PORTA

Only changes port A on the last cycle. Note that you must call this routine (subroutine/ macro) *whenever* you write to an output bit, which you always do using a BSF or BCF on shadA, never PORTA. You might also consider appending a

    MOVWF   shadA
to keep shadA synchronized with the last byte written to PORTA.

Without shadow register

;from Paul W. Webster
    ; WARNING: may trigger the "read-modify-write glitch"
    MOVF    file,W
    XORWF   PORTA,W ; derive "difference" value.
    ANDLW   fmask   ; fmask for bit 0 is defined as 0x01
    XORWF   PORTA,F ; Flip bit if not same.

footnote:

We never use the following instructions on an output register like PORTA:

    BSF PORTA,bit // don't do this!
    BCF PORTA,bit // don't do this either!
    IORWF PORTA,F // or this!
    XORWF PORTA,F // this either!
because we want to avoid the "Read-Modify-Write problem" . Instead, we do the BSF or BCF on a byte of RAM (the "shadow register"), then copy that byte to the output register.
file: /Techref/microchip/math/bit/cbrpwoj.htm, 1KB, , updated: 2005/11/8 23:39, local time: 2024/3/28 06:29,
TOP NEW HELP FIND: 
44.213.75.78:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://massmind.org/Techref/microchip/math/bit/cbrpwoj.htm"> PIC Microcontoller Bit Math Method Transfer one bit from a file register to one pin of PORT w/o jitter</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

 

Welcome to massmind.org!

 

Welcome to massmind.org!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .