Page 204 - Embedded Microprocessor Systems Real World Design
P. 204

Listing 6.1. PIC1 7Cxx Assembly Code for Serial Status Output
                   ; STATUS OUTPUT TO  PORT  D BIT  0.
                   ; PORT  D BIT  0 MUST  BE  CONFIGURED AS  OUTPUT.
                   ; CODE  SENDS LEAST SIGNIFICANT FOUR BITS OF
                   ; BYTE DIAG TO  PORT.
                   ; OUTPUT SEQUENCE IS:
                   ; SYNC BIT  (1)
                   ; DIAG  BIT  0
                   ; DIAG  BIT  1
                   ; DIAG BIT 2
                   ; DIAG  BIT  3
                   ; ZERO
                   ; EACH BIT TAKES ABOUT 1.6 MICROSECONDS  ON  A  PIC 17C43
                   ; WITH A  l2MHZ CRYSTAL.

                        MOVLB  1
                        BSF PORTD,O  ; OUTPUT SYNC BIT  (1)
                        NOP
                        NOP
                        BTFSC  DJAG,O  ; DIAG  BIT 0 SET?
                        GOTO  MSETO  ; YES, OUTPUT A  1.
                        BCF PORTD,O  ; NO, OUTPUT A  0.
                        GOTO  M1
                   MSETO:  BSF PORTD,O
                        NOP
                   M 1 : BTFSC DIAG, 1 ; DUG BIT  1 SET?
                        GOTO  MSETl  ; YES,  OUTPUT A  1.
                        BCF PORTD,O  ; NO,  OUTPUT A  0.
                        GOTO  M2
                   MSET1:  BSF PORTD,O
                        NOP
                   M2:  BTFSC DIAG,2  ; DIAG  BIT  2 SET?
                        GOTO  MSET2  ; YES, OUTPUT A  1.
                        BCF PORTD,O  ; NO,  OUTPUT A  0.
                        GOTO  M3
                   MSET2:  BSF PORTD,O
                        NOP
                   M3: BTFSC DIAG,3  ; DIAG BIT 3 SET?
                        GOTO  MSET3 ; YES,  OUTPUT A  1.
                        BCF PORTD,O  ; NO,  OUTPUT A  0.
                        GOTO  MSDON




                Adding Debug Hardware and Software                                   185
   199   200   201   202   203   204   205   206   207   208   209