the code runs well with pic16f (slightly modify it)
problem with 18f4550 (particlar 74hc595) ?, all internal osc are disable and switch osc : off) osc set to XTPLL.
problem appears in the program.
INCLUDE "modedefs.bas"
include "ALLDIGITAL.pbp"
'ADCON1=7
TRISB=0
portb = 0
PAUSE 20
DEFINE OSC 8
II VAR BYTE
X VAR byte
W VAR BYTE
MM var byte
KK VAR BYTE
symbol DATb = portb.0
symbol STLb = PORTB.1
SYMbol CLKb = portb.2
peek_ind var word
setoff_peek var word
setoff_peek = $6100
peek_data0 var byte
peek_data1 var byte
peek_data2 var byte
peek_data3 var byte
peek_data4 var byte
peek_data5 var byte
peek_data6 var byte
peek_data7 var byte
peek_data8 var byte
peek_d0 var byte
peek_d1 var byte
peek_d2 var byte
peek_d3 var byte
peek_d4 var byte
peek_d5 var byte
peek_d6 var byte
peek_d7 var byte
ic1 VAR BYTE 'data display in each matrix
rowb var byte[8]
' row scan set up
rowb[0] = %11111110
rowb[1] = %11111101
rowb[2] = %11111011
rowb[3] = %11110111
rowb[4] = %11101111
rowb[5] = %11011111
rowb[6] = %10111111
rowb[7] = %01111111
'--------------------------------------
gosub peek_data_ini
gosub peek_d_ini
main:
gosub search
goto main
'-------------------------------------
peek_data_ini:
peek_data0 = 0
peek_data1 = 0
peek_data2 = 0
peek_data3 = 0
peek_data4 = 0
peek_data5 = 0
peek_data6 = 0
peek_data7 = 0
peek_data8 = 0
return
'--------------------------------------
peek_d_ini:
peek_d0 = 0
peek_d1 = 0
peek_d2 = 0
peek_d3 = 0
peek_d4 = 0
peek_d5 = 0
peek_d6 = 0
peek_d7 = 0
return
'-------------------------------------------
search:
for mm= 0 to 5 'store 6 data colum into array peek_data
peek_ind = setoff_peek + mm ' read data from flash mem.
peekcode peek_ind, peek_data8
gosub shift 'shift data into 8 col
gosub display 'display dat a on screen
next
return
'--------------------------------------
shift: 'full screen load 8 collums
peek_data0 = peek_data1
peek_data1 = peek_data2
peek_data2 = peek_data3
peek_data3 = peek_data4
peek_data4 = peek_data5
peek_data5 = peek_data6
peek_data6 = peek_data7
peek_data7 = peek_data8
return
'------------------------------------------
copy: 'COPY DATA INTO TEMP. FILE
peek_d0 = peek_data0
peek_d1 = peek_data1
peek_d2 = peek_data2
peek_d3 = peek_data3
peek_d4 = peek_data4
peek_d5 = peek_data5
peek_d6 = peek_data6
peek_d7 = peek_data7
return
'-------------------------------------------
load_file:
asm ;'PROJECT DOWN
RRCF _peek_d7,1
RLCF _ic1,1
RRCF _peek_d6,1
RLCF _ic1,1
RRCF _peek_d5,1
RLCF _ic1,1
RRCF _peek_d4,1
RLCF _ic1,1
RRCF _peek_d3,1
RLCF _ic1,1
RRCF _peek_d2,1
RLCF _ic1,1
RRCF _peek_d1,1
RLCF _ic1,1
RRCF _peek_d0,1
RLCF _ic1,1
endasm
return
'---------------------------------------
display:
call peek_d_ini
for w = 0 to 15 '
call copy
for kk = 0 to 7 'display on the screen
call load_file
shiftout datb,clkb,0,[ic1,rowb[kk]]'
stlb = 1: pauseus 5: stlb = 0
pauseus 300
datb = 0
next
next
return
'------------------------------------------
end
Pokecode @$6100, $00 ,$1C ,$22 ,$24 ,$3E, $00 'a 0




Bookmarks