Code:
goto init
ASM
ifdef BSR
PIC_TYPE = 2 ; 2=PIC18
else
PIC_TYPE = 1 ; 1=PIC16
endif
;%00000001,10,%11111111,%10000001,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000, %00000000]
tbl10 dt 1,10, b'11111111',b'10000001',b'11111111',b'11111111', 0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0
;11,%11111111,%00111100,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl11 dt 11, b'11111111',b'00111100',b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;12,%11111111,%00111100,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl12 dt 12,b'11111111',b'00111100',b'11111111',b'11111111', 0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;13,%11111111,%00000000,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl13 dt 13, b'11111111',0,b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;14,%11111111,%00000000,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl14 dt 14, b'11111111',0,b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;15,%11111111,%00111100,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl15 dt 15, b'11111111',b'00111100',b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;16,%11111111,%00111100,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000]
tbl16 dt 16, b'11111111',b'00111100',b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0
;17,%11111111,%00111100,%11111111,%11111111,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,%00000000,
;%00000000,%00000001]
tbl17 dt 17, b'11111111',b'00111100',b'11111111',b'11111111',0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,0,0,0,0,0,0,0,0,0
dt 0,1
tblend = $ - PIC_TYPE
endasm
init:
PIC_TYPE CON EXT
tbl10 CON EXT
tbl11 CON EXT
tbl12 CON EXT
tbl13 CON EXT
tbl14 CON EXT
tbl15 CON EXT
tbl16 CON EXT
tbl17 CON EXT
tblend CON EXT
addr VAR WORD
dta VAR BYTE
cntr VAR BYTE
CLEAR
TRISC = 0
TRISB = 0
PAUSE 50
MAIN:
HIGH PORTB.2 'CHIP SELECT
FOR addr=tbl10 TO tblend STEP PIC_TYPE
READCODE addr, dta
SHIFTOUT portb.1, portb.0,0,[dta]
cntr=cntr+1
HSEROUT ["%",BIN8 dta,", "]
IF cntr=10 THEN
HSEROUT [13,10]
cntr=0
ENDIF
NEXT
LOW PORTB.2 'CHIP SELECT
HSEROUT [13,10,"----- done ------<", 13,10,_
dec ((tblend-tbl10)/PIC_TYPE), " Byte sent>"]
HERE: GOTO HERE
there's still room for improvement.
Bookmarks