Im P5DRIV wird's so gemacht:
-- Hast Du das gesucht?Code:*IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII *III EXTPORT, LEDPORT: shift data out III *IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII *III on entry: DATA line is DDR=OUT III *III on entry: CLOCK line is DDR=OUT, ON III *III on entry: STROBE line is DDR=OUT, OFF III *III on entry: LSTROBE line is DDR=OUT, OFF III *III in CCBASIC: must pulse selected STROBE III *IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII * REMAINS PA3=0, PA2=1 ; init: index of EXTPORT relative EXTPORT PDRIVE: CLRX ; EXTPORT is at index 0 BRA PDSHIFT ; shift out 8 bits LDRIVE: ; init: index of LEDPORT relative EXTPORT LDX #2 ; LEDPORT is EXTPORT + 2 ; fall thru ; shift out 8 bits to indexed PORT PDSHIFT: LDA #8 ; shift out 8 bits * BSET 0,PADDR ; DATA LINE IS OUTPUT LP2: ROL EXTP,X BCLR 0,PADAT ; OUT = lo BCC LP1 BSET 0,PADAT ; OUT = HI LP1: BCLR 2,PADAT ; pulse CLOCK out BSET 2,PADAT DECA BNE LP2 ; restore cached value ROL EXTP,X ; NOTE: must pulse STROBE line in CCBASIC * BSET 3,PADAT ;STROBE * BCLR 3,PADAT ; NOTE: input not supported any more * BCLR 0,PADDR ;DATA LINE IS INPUT RTS







Zitieren

Lesezeichen