DELAY_LOOP
DECFSZ
GOTO
TIMER
DELAY_LOOP
0
RETLW
jä112Vi
SHORT_DELAY MOVLW
MOVWF
D3
;
8uS
TIMER
TIMER
SHORT_LP
0
SHORT_LP
DECFSZ
GOTO
RETLW
;*******************************************
C £HIf *ꢛ¢Î
;
1
HD7279
;*******************************************
4CꢑL1)
SEND
MOVWF
MOVLW
MOVWF
BCF
DATA_OUT
D'8'
;
DATA_OUT
jäꢛꢑꢁ
=8
BIT_COUNT
PORTA,CS
LONG_DELAY
STATUS,C
DATA_OUT
PORTA,DAT
STATUS,C
PORTA,DAT
PORTA,CLK
SHORT_DELAY
PORTA,CLK
SHORT_DELAY
BIT_COUNT
SEND_LOOP
PORTA,DAT
0
;
;
;
j V,ꢜ+
CS
r1
CALL
BCF
SEND_LOOP
(9 ꢛ
; 1
RLF
BCF
BTFSC
BSF
j
V*ꢜ+
BSF
;
;
;
CLK
h1
V,ꢜ+
CALL
BCF
j
CLK
CALL
DECFSZ
GOTO
BCF
¥_àæ ꢛëCR
;
8
CR C<uꢛ
;
CR ꢚꢛ
RETLW
;
;*******************************************
#eu£HI *ꢛ¢Î
;
;
HD7279
;*******************************************
RECEIVE
MOVLW
MOVWF
MOVLW
TRIS
D'8'
jäꢛꢑꢁ
; =8
BIT_COUNT
B'11111100'
PORTA
j "V()WX
; RA2(DATA)
r1
CALL
LONG_DELAY
PORTA,CLK
SHORT_DELAY
;
;
;
k V*ꢜ+
CLK
RECEIVE_LOOP BSF
CALL
h1
ꢀ
ꢀ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢁꢇꢀ
ꢀ
ꢀꢀꢀꢀ ꢀꢁꢂꢃꢄꢅꢆꢇꢂꢈꢉꢊꢋꢌꢍꢎꢏ
ꢀꢁꢁꢂꢃꢄꢄꢅꢅꢅꢆꢇꢈꢁꢉꢊꢋꢌꢆꢉꢊꢍꢆꢉꢎ