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