Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

scrolling text to left, right/ fade-in/out, wipe-in/out

Status
Not open for further replies.
program MikroBasic_Messages

' * Description: Scrolled to left

' *modified by: supra

' * Test configuration:
' MCU: PIC16F628A
' Misc: 74hc154; 8*32 dot matrix
' Oscillator: 20.0000 MHz
' config: PWRITE_ON, WDT_OFF, LVP_OFF, HS
' Ext. Modules: -
' SW: mikroBasic V7.0.0.2

const text as integer[262] =(
$7F, $09, $09, $09, $06, $00, ' P
$41, $7F, $41, $00, ' I
$3E, $41, $41, $41, $22, $00,' C
$42, $7F, $40, $00, ' 1
$3C, $4A, $49, $49, $30, $00,' 6
$7F, $09, $09, $01, $01, $00,' F
$3C, $4A, $49, $49, $30, $00,' 6
$42, $61, $51, $49, $46, $00,' 2
$36, $49, $49, $49, $36, $00,' 8
$7E, $11, $11, $11, $7E, $00,' A
$00, $00, $00, $00, $00, $00,' space
$7F, $20, $18, $20, $7F, $00,' W
$44, $7D, $40, $00, ' i
$04, $3F, $44, $40, $20, $00, 't
$7F, $08, $04, $04, $78, $00, 'h
$00, $00, $00, $00, $00, $00,' space
$01, $71, $09, $05, $03, $00,' 7
$18, $14, $12, $7F, $10, $00,' 4
$7F, $08, $08, $08, $7F, $00,' H
$3E, $41, $41, $41, $22, $00,' C
$00, $42, $7F, $40, $00, ' 1
$27, $45, $45, $45, $39, $00,' 5
$18, $14, $12, $7F, $10, $00,' 4
$00, $00, $00, $00, $00, $00,' space
$36, $49, $49, $49, $36, $00,' 8
$63, $14, $08, $14, $63, $00,' X
$21, $41, $45, $4B, $31, $00,' 3
$42, $61, $51, $49, $46, $00,' 2
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$20, $54, $54, $54, $78, $00, 'a
$04, $3F, $44, $40, $20, $00, 't
$7C, $08, $04, $04, $08, $00, 'r
$44, $7D, $40, $00, 'i
$44, $28, $10, $28, $44, $00, 'x
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$44, $7D, $40, $00, 'i
$7F, $10, $28, $44, $00, 'k
$7C, $08, $04, $04, $08, $00, 'r
$38, $44, $44, $44, $38, $00, 'o
$7F, $49, $49, $49, $36, $00,' B
$20, $54, $54, $54, $78, $00, 'a
$48, $54, $54, $54, $24, $00, 's
$44, $7D, $40, $00, 'i
$38, $44, $44, $44, $44, $00) 'c

dim i, x as byte
dim temp_array as byte[32]
dim shift, a, value, column as integer

main:

'Set int Port operations
trisb = 0
trisa = 0
portb = 0
porta = 0
cmcon = 7

i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0

start:
' Calculate the number of columns in the text
column = 262
'Temporary array reset
for i = 0 to 31
temp_array = 0 'Array elements start out 0
next i

while true
'Shift operations
for shift = -32 to column 'prolong spaces to repeat again

'16 columns of text divided into pieces
for i = 0 to 31
value = i + shift
if(value > 0) then
temp_array = 0 ' text input
end if

if(value >= 0) and (value <= column - 1) then
temp_array = text[value]
end if

if(value > column) then
temp_array = 0
end if
next i

'Scanning process
for a = 0 to 25 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.i = 0
portb = temp_array[x] 'send data to PortB
porta = x 'select the corresponding column
Next x
next a
next shift
wend
goto start
end.

Here is video on youtube:
YouTube - Scrolling Text
 
This one is scrolling text to right
Look in bold below:

Scroll messages from left to right:

program scrolling_messages_to_right

' * Description: messages will scrolled from left to right

' *modified by: supra

' * Test configuration:
' MCU: PIC16F628A
' chip: 74hc154
' Oscillator: 20.0000 MHz
' config: PWRITE_ON, WDT_OFF, LVP_OFF, HS,
' Ext. Modules: -
' SW: mikroBasic V7.0.0.2

const text as byte[237] =(
$7F, $09, $09, $09, $06, ' P
$00, $41, $7F, $41, $00, ' I
$3E, $41, $41, $41, $22, $00,' C
$00, $42, $7F, $40, $00, ' 1
$3C, $4A, $49, $49, $30, $00,' 6
$7F, $09, $09, $01, $01, $00,' F
$3C, $4A, $49, $49, $30, $00,' 6
$42, $61, $51, $49, $46, $00,' 2
$36, $49, $49, $49, $36, $00,' 8
$7E, $11, $11, $11, $7E, $00,' A
$00, ' space
$7F, $20, $18, $20, $7F, $00,' W
$00, $41, $7F, $41, $00, ' I
$01, $01, $7F, $01, $01, $00,' T
$7F, $08, $08, $08, $7F, $00,' H
$00, ' space
$01, $71, $09, $05, $03, $00,' 7
$18, $14, $12, $7F, $10, $00,' 4
$7F, $08, $08, $08, $7F, $00,' H
$3E, $41, $41, $41, $22, $00,' C
$00, $42, $7F, $40, $00, ' 1
$27, $45, $45, $45, $39, $00,' 5
$18, $14, $12, $7F, $10, $00,' 4
$00, ' space
$36, $49, $49, $49, $36, $00,' 8
$63, $14, $08, $14, $63, $00,' X
$36, $49, $49, $49, $36, $00,' 8
$00, ' space
$7F, $02, $04, $02, $7F, $00,' M
$7E, $11, $11, $11, $7E, $00,' A
$01, $01, $7F, $01, $01, $00,' T
$7F, $09, $19, $29, $46, $00,' R
$00, $41, $7F, $41, $00, ' I
$63, $14, $08, $14, $63, $00,' X
$00, ' space
$7F, $02, $04, $02, $7F, $00,' M
$00, $41, $7F, $41, $00, ' I
$7F, $08, $14, $22, $41, $00,' K
$7F, $09, $19, $29, $46, $00,' R
$3E, $41, $41, $41, $3E, $00,' O
$7F, $49, $49, $49, $36, $00,' B
$7E, $11, $11, $11, $7E, $00,' A
$46, $49, $49, $49, $31, $00,' S
$00, $41, $7F, $41, $00, ' I
$3E, $41, $41, $41, $22, $00)' C

dim i, x, column as byte
dim tmp_arr as byte[32]
dim shift, a, value as integer

main:

'Set int Port operations
trisb = 0
trisa = 0
portb = 0
porta = 0
cmcon = 7

i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0

column = 237 'Calculate the number of columns in the text

for i = 0 to 31 'Temporary array reset
tmp_arr = 0 'Array elements start out 0
next i

while 1= 1
for shift = -32 to column 'Shift operations. Start at column 1
for i = 0 to 31 '32 columns of text divided into pieces
value = (i - shift) + 237
if(value > 0 ) then
tmp_arr = 0 'start over
end if

if(value >= 0) and (value <= column - 1) then
tmp_arr = text[value]
end if
next i

'Scanning process
for a = 0 to 70 'control scrolling speeds...higher number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
' ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.i = 0
portb = tmp_arr[x] 'send data to PortB
porta = x 'select the corresponding column
porta.x = 0 'prevented ghosting
Next x
next a
next shift
wend
end.

Please see to on my youtube.
YouTube - scrolling text to right 16F628A 8*32 dot matrix 74HC154
 
scroll to left/right; wipein/wipeout, fadein/fadeout


program title_effects

' *Description: still; scroll to left/right; wipein/wipeout, fadein/fadeout

' *modified by supra;

' * Test configuration:
' MCU: PIC16F628A
' Misc: 8x32 dot matrix, 74HC154
' Oscillator: 20.0000 MHz
' config: PWRITE_ON, WDT_OFF, LVP_OFF, HS
' Ext. Modules: -
' SW: mikroBasic V7.0.0.2


const supra as byte[30] = (
$46, $49, $49, $49, $31, $00,' S
$3F, $40, $40, $40, $3F, $00,' U
$7F, $09, $09, $09, $06, $00,' P
$7F, $09, $19, $29, $46, $00,' R
$7E, $11, $11, $11, $7E, $00)' A )

const text as integer[262] =(
$7F, $09, $09, $09, $06, $00, ' P
$41, $7F, $41, $00, ' I
$3E, $41, $41, $41, $22, $00,' C
$42, $7F, $40, $00, ' 1
$3C, $4A, $49, $49, $30, $00,' 6
$7F, $09, $09, $01, $01, $00,' F
$3C, $4A, $49, $49, $30, $00,' 6
$42, $61, $51, $49, $46, $00,' 2
$36, $49, $49, $49, $36, $00,' 8
$7E, $11, $11, $11, $7E, $00,' A
$00, $00, $00, $00, $00, $00,' space
$7F, $20, $18, $20, $7F, $00,' W
$44, $7D, $40, $00, ' i
$04, $3F, $44, $40, $20, $00, 't
$7F, $08, $04, $04, $78, $00, 'h
$00, $00, $00, $00, $00, $00,' space
$01, $71, $09, $05, $03, $00,' 7
$18, $14, $12, $7F, $10, $00,' 4
$7F, $08, $08, $08, $7F, $00,' H
$3E, $41, $41, $41, $22, $00,' C
$00, $42, $7F, $40, $00, ' 1
$27, $45, $45, $45, $39, $00,' 5
$18, $14, $12, $7F, $10, $00,' 4
$00, $00, $00, $00, $00, $00,' space
$36, $49, $49, $49, $36, $00,' 8
$63, $14, $08, $14, $63, $00,' X
$21, $41, $45, $4B, $31, $00,' 3
$42, $61, $51, $49, $46, $00,' 2
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$20, $54, $54, $54, $78, $00, 'a
$04, $3F, $44, $40, $20, $00, 't
$7C, $08, $04, $04, $08, $00, 'r
$44, $7D, $40, $00, 'i
$44, $28, $10, $28, $44, $00, 'x
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$44, $7D, $40, $00, 'i
$7F, $10, $28, $44, $00, 'k
$7C, $08, $04, $04, $08, $00, 'r
$38, $44, $44, $44, $38, $00, 'o
$7F, $49, $49, $49, $36, $00,' B
$20, $54, $54, $54, $78, $00, 'a
$48, $54, $54, $54, $24, $00, 's
$44, $7D, $40, $00, 'i
$38, $44, $44, $44, $44, $00) 'c

dim aa as word
dim i, x, bs as byte
dim temp_array as byte[32]
dim shift, a, value, column as integer

sub procedure supra_title
dim bb, dd as byte
dd = 0
While inc(dd) < 70 'to control speed
PORTA = 0
For bb = 0 to 29
bs = supra[bb]
PORTB = bs
delay_us(1000)
PORTB = 0
PORTA = bb + 1
Next bb
Wend
end sub

sub procedure call_supra_title
' Do
'supra_title
while true
for i = 0 to 30 'numbers of columns to be displayed
portb = supra
porta = i
next i
wend
' aa = aa + 6
'Loop Until aa > 24
end sub

sub procedure scanning_to_left
i = 0
a = 0
column = 0
shift = 0
value = 0

' Calculate the number of columns in the supra
column = 30
'reset all 32 columns
for i = 0 to 31
temp_array = 0 'Array elements start out 0
next i

'shift operations
for shift = -32 to column 'prolong spaces to repeat again

'32 columns of supra divided into pieces
for i = 0 to 31
value = i + shift
if(value > 0 ) then
temp_array = 0 ' supra input
end if

if(value >= 0) and (value <= column - 1) then
temp_array = supra[value]
end if

if(value > column) then
temp_array = 0
end if
next i

'scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'number of columns view
'ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x 'select the corresponding column
Next x
next a
next shift
end sub

sub procedure scanning_to_right
i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0
column = 30 'Calculate the number of columns in the text

for i = 0 to 31 'Temporary array reset
temp_array = 0 'Array elements start out 0
next i

for shift = 0 to column 'Shift operations. Start at column 1
for i = 0 to 31 '32 columns of text divided into pieces
value = (i - shift) + column
if(value > 0 ) then
temp_array = 0 'start over
end if

if(value >= 0) and (value <= column) then
temp_array = supra[value]
end if

if(value > column) then
temp_array = 0
end if
next i

'Scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
' ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x 'start at column 1
Next x
next a
next shift
end sub

sub procedure wipein_wipeout
i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0
column = 30 'Calculate the number of columns in the text

for i = 0 to 31 'Temporary array reset
temp_array = 0 'Array elements start out 0
next i

for shift = -32 to column
for i = 0 to 31
value = i + shift

if(value >= 0) and (value <= column - 1) then
temp_array[i + shift + 1]= supra[value]
' temp_array= supra[value]
end if

if(value > column) then
temp_array[i-1] = 0
end if
next i

'Scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
' ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x '+ shift 'start at column 1
Next x
next a
next shift
end sub

sub procedure wipein_fadein
i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0
column = 30 'Calculate the number of columns in the text

for i = 0 to 31 'Temporary array reset
temp_array = 0 'Array elements start out 0
next i

for shift = -32 to column
for i = 0 to 31
value = i + shift

if(value >= 0) and (value <= column - 1) then
temp_array= supra[value]
end if

if(value > column) then
temp_array[i-1] = 0
end if
next i

'Scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x + shift 'start at column 1
Next x
next a
next shift
end sub

sub procedure wipein_supra_wipeout_supra
i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0
column = 30 'Calculate the number of columns in the text

for i = 0 to 31 'Temporary array reset
temp_array = 0 'Array elements start out 0
next i

for shift = -32 to column
for i = 0 to 31
value = i + shift

if(value >= 0) and (value <= column - 1) then
temp_array[i + shift + 1]= supra[value]
' temp_array= supra[value]
end if

if(value > column) then
temp_array[i-1] = 0
end if
next i

'Scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
' ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x '+ shift 'start at column 1
Next x
next a
next shift
end sub

sub procedure string_messages
i = 0
a = 0
column = 0
shift = 0
value = 0

' Calculate the number of columns in the text
column = 262
'reset all 32 columns
for i = 0 to 31
temp_array = 0 'Array elements start out 0
next i

'shift operations
for shift = -32 to column 'prolong spaces to repeat again

'32 columns of supra divided into pieces
for i = 0 to 31
value = i + shift
if(value > 0 ) then
temp_array = 0 ' supra input
end if

if(value >= 0) and (value <= column - 1) then
temp_array = text[value]
end if

if(value > column) then
temp_array = 0
end if
next i

'scanning process
for a = 0 to 70 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'number of columns view
'ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.x = 0
portb = temp_array[x] 'send data to PortB
porta = x 'select the corresponding column
Next x
next a
next shift
end sub

main:
trisb = 0
trisa = 0
portb = 0
porta = 0
cmcon = 7

start:
ClearBit(PORTA, i)
supra_title
scanning_to_left
scanning_to_right
wipein_wipeout
wipein_fadein
string_messages
goto start
end.

To see on my youtube:
YouTube - scrolling message - wipe-out-fade-out, wipe-in-fade-in 8*32 16F628A 74Hc154


PS: The word supra is caused by lightning while shooting video. It is still effect. But on breadboarding does not flashing all times.
 
Thank you.
They do not have 1", 2", 3", 4" jumper wires from china. But i asked them if they could for me probably abt 1500 jumper wires or more if i wanted
 
Schematic for scrolling text

pic16F628A, 2's 74HC154, 4's 8x8 dot matrix bi-colour, 74HC00 or 74LS00
 

Attachments

  • 8X32N.gif
    8X32N.gif
    36.6 KB · Views: 1,394
program MikroBasic_Messages

' * Description: Scrolled to left

' *modified by: supra

' * Test configuration:
' MCU: PIC16F628A
' Misc: 74hc154; 8*32 dot matrix
' Oscillator: 20.0000 MHz
' config: PWRITE_ON, WDT_OFF, LVP_OFF, HS
' Ext. Modules: -
' SW: mikroBasic V7.0.0.2

const text as integer[262] =(
$7F, $09, $09, $09, $06, $00, ' P
$41, $7F, $41, $00, ' I
$3E, $41, $41, $41, $22, $00,' C
$42, $7F, $40, $00, ' 1
$3C, $4A, $49, $49, $30, $00,' 6
$7F, $09, $09, $01, $01, $00,' F
$3C, $4A, $49, $49, $30, $00,' 6
$42, $61, $51, $49, $46, $00,' 2
$36, $49, $49, $49, $36, $00,' 8
$7E, $11, $11, $11, $7E, $00,' A
$00, $00, $00, $00, $00, $00,' space
$7F, $20, $18, $20, $7F, $00,' W
$44, $7D, $40, $00, ' i
$04, $3F, $44, $40, $20, $00, 't
$7F, $08, $04, $04, $78, $00, 'h
$00, $00, $00, $00, $00, $00,' space
$01, $71, $09, $05, $03, $00,' 7
$18, $14, $12, $7F, $10, $00,' 4
$7F, $08, $08, $08, $7F, $00,' H
$3E, $41, $41, $41, $22, $00,' C
$00, $42, $7F, $40, $00, ' 1
$27, $45, $45, $45, $39, $00,' 5
$18, $14, $12, $7F, $10, $00,' 4
$00, $00, $00, $00, $00, $00,' space
$36, $49, $49, $49, $36, $00,' 8
$63, $14, $08, $14, $63, $00,' X
$21, $41, $45, $4B, $31, $00,' 3
$42, $61, $51, $49, $46, $00,' 2
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$20, $54, $54, $54, $78, $00, 'a
$04, $3F, $44, $40, $20, $00, 't
$7C, $08, $04, $04, $08, $00, 'r
$44, $7D, $40, $00, 'i
$44, $28, $10, $28, $44, $00, 'x
$00, $00, $00, $00, $00, $00,' space
$7F, $02, $04, $02, $7F, $00,' M
$44, $7D, $40, $00, 'i
$7F, $10, $28, $44, $00, 'k
$7C, $08, $04, $04, $08, $00, 'r
$38, $44, $44, $44, $38, $00, 'o
$7F, $49, $49, $49, $36, $00,' B
$20, $54, $54, $54, $78, $00, 'a
$48, $54, $54, $54, $24, $00, 's
$44, $7D, $40, $00, 'i
$38, $44, $44, $44, $44, $00) 'c

dim i, x as byte
dim temp_array as byte[32]
dim shift, a, value, column as integer

main:

'Set int Port operations
trisb = 0
trisa = 0
portb = 0
porta = 0
cmcon = 7

i = 0
a = 0
x = 0
column = 0
shift = 0
value = 0

start:
' Calculate the number of columns in the text
column = 262
'Temporary array reset
for i = 0 to 31
temp_array = 0 'Array elements start out 0
next i

while true
'Shift operations
for shift = -32 to column 'prolong spaces to repeat again

'16 columns of text divided into pieces
for i = 0 to 31
value = i + shift
if(value > 0) then
temp_array = 0 ' text input
end if

if(value >= 0) and (value <= column - 1) then
temp_array = text[value]
end if

if(value > column) then
temp_array = 0
end if
next i

'Scanning process
for a = 0 to 25 'control scrolling speeds...highuer number is slowest and lowest number is fastest
for x = 0 to 31 'Temporary array view
ClearBit(PORTA, i) 'Clear the Ghost locations ready for starting
portb.i = 0
portb = temp_array[x] 'send data to PortB
porta = x 'select the corresponding column
Next x
next a
next shift
wend
goto start
end.

Here is video on youtube:
YouTube - Scrolling Text



can u proveid hex code with clear ckt diagram...
THANKS
 
Scrolling text to left

can u proveid hex code with clear ckt diagram...
Thanks

:10000000112aff3fff3fff3f7f34003409340034a3
:100010000934003409340034063400340034003428
:10002000413400347f34003441340034003400342f
:100030003e3400344134003441340034413400341f
:100040002234003400340034423400347f3400342d
:1000500040340034003400343c3400344a3400343a
:10006000493400344934003430340034003400342e
:100070007f3400340934003409340034013400344e
:1000800001340034003400343c3400344a34003449
:1000900049340034493400343034003400340034fe
:1000a0004234003461340034513400344934003473
:1000b00046340034003400343634003449340034db
:1000c00049340034493400343634003400340034c8
:1000d0007e340034113400341134003411340034cf
:1000e0007e340034003400340034003400340034f2
:1000f0000034003400340034003400340034003460
:100100007f34003420340034183400342034003478
:100110007f34003400340034443400347d340034ff
:100120004034003400340034043400343f340034ac
:10013000443400344034003420340034003400347b
:100140007f34003408340034043400340434003480
:100150007834003400340034003400340034003487
:1001600000340034003400340034003400340034ef
:10017000013400347134003409340034053400345f
:1001800003340034003400341834003414340034a0
:10019000123400347f34003410340034003400341e
:1001a0007f34003408340034083400340834003418
:1001b0007f340034003400343e34003441340034a1
:1001c00041340034413400342234003400340034eb
:1001d00000340034423400347f340034403400347e
:1001e00000340034273400344534003445340034be
:1001f00045340034393400340034003418340034c9
:1002000014340034123400347f3400341034003499
:10021000003400340034003400340034003400343e
:1002200000340034003400340034003436340034f8
:10023000493400344934003449340034363400340d
:10024000003400346334003414340034083400348f
:100250001434003463340034003400342134003466
:1002600041340034453400344b34003431340034ec
:1002700000340034423400346134003451340034ea
:10028000493400344634003400340034003400343f
:1002900000340034003400340034003400340034be
:1002a000003400347f340034023400340434003429
:1002b000023400347f3400340034003420340034fd
:1002c000543400345434003454340034783400341a
:1002d00000340034043400343f34003444340034f7
:1002e0004034003420340034003400347c34003492
:1002f0000834003404340034043400340834003446
:1003000000340034443400347d340034403400344c
:1003100000340034443400342834003410340034c1
:1003200028340034443400340034003400340034c1
:10033000003400340034003400340034003400341d
:10034000003400347f340034023400340434003488
:10035000023400347f340034003400344434003438
:100360007d34003440340034003400347f340034b1
:100370001034003428340034443400340034003461
:100380007c34003408340034043400340434003441
:100390000834003400340034383400344434003439
:1003a00044340034443400343834003400340034ed
:1003b0007f34003449340034493400344934003443
:1003c00036340034003400342034003454340034e3
:1003d000543400345434003478340034003400345d
:1003e0004834003454340034543400345434003429
:1003f0002434003400340034443400347d34003478
:100400004034003400340034383400344434003490
:100410004434003444340034443400340034003470
:100420000800031383168601850183128601850166
:1004300007309f00a301a401a501a601a701a801ff
:10044000a901aa01ab01ac010630a7000130a80048
:10045000a30123081f3c031c3c2a2d30f000230875
:10046000f0077008840070088400800123081f3a98
:1004700003193c2aa30a292ae030a900ff30aa0068
:1004800080302806f00080302a067002031d4a2ab8
:1004900029082702031c3b2ba30123081f3c031c34
:1004a000ea2a2308f000f10129087007f200710818
:1004b0000318013f2a07f3007208ab007308ac0071
:1004c0008030f000803073067002031d692a7208c4
:1004d000003c0318742a2d30f0002308f007700840
:1004e000840070088400800180302c06f400803085
:1004f0007402031d7d2a00302b02ff30031c0030e4
:10050000f40001302702f2000030031c013f2802f2
:10051000f30080307306f00080302c067002031d5b
:10052000932a2b087202ff30031c0030f00074087d
:10053000f0050319cf2a2d30f00023087007cf00f3
:100540000430cd000030ce000130f4002b08f00064
:100550002c08f10074080319b22af00df10d701087
:10056000ff3fab2a4d08f0074e080318013ff10783
:100570007008a0007108a2000a08a1003d23f00045
:1005800021088a00a00a0319a20a3d23f1002108cc
:100590008a004f0884004f08840070088000803073
:1005a0002806f00080302c067002031dd92a2b0883
:1005b00027020318e42a2d30f0002308f007700802
:1005c000840070088400800123081f3a0319ea2a76
:1005d000a30a4d2aa401a5018030f0008030250631
:1005e0007002031df52a2408193c031c2f2ba601b9
:1005f00026081f3c031c232b0130f000230803199d
:10060000052bf00d7010ff3fff2af00970088505db
:100610000130f00023080319112bf00d7010ff3f7b
:100620000b2bf009700886052d30f00026087007a6
:100630008400000886002608850026081f3a031952
:10064000232ba60af82a00302506031d292b193072
:10065000240603192f2ba40a0319a50aec2a2a0839
:100660002806031d352b2708290603193b2ba90a49
:100670000319aa0a402a3c2a3c2b0313831222089e
:100680008a00200882000800ff3fff3fff3fff3f36
:02400e00623f0f
:00000001ff
 
ok if im correct the best way to scroll or do any effect is to have the data set in a variable already correct? Im making my own with 1 LED Matrix right now...
Also to do the scrolling you need to know how many LED Blocks you will have correct?

[embed]http://www.youtube.com/v/kCLqmkkfF30[/embed]
 
Last edited:
Just wanted to show you what im working on to test out your code... Of course its not done yet and i might need to alter your code a bit to fit its wiring but will surely work in the end heh

EDIT: For all those people out there wondering why i didnt use FEMALE PIN HEADERS like:
335-HDR40X1F.jpg

https://www.dipmicro.com/store/HDR40X1F

Its because the LED Matrix seems to slip in/out of it. Since it has round pins i assume... So i used:
336-ICS328.jpg

https://www.dipmicro.com/store/ICS328

Which gives me a nice tight connection. I can even hold it upside down and it wont fall loose/out.. The only draw back is having to manually cut them into 7 pin strips. But you could just get a 14 pin version and voila! heh :D
 

Attachments

  • LED_001.jpg
    LED_001.jpg
    337.7 KB · Views: 581
  • LED_000.jpg
    LED_000.jpg
    351.7 KB · Views: 665
  • LED_002.jpg
    LED_002.jpg
    343.3 KB · Views: 707
Last edited:
This is my Scrolling text Source code. I use mikroC. Im not an expert. So my code will look like little crappy. I insert 0 to 120 ascii set. Now im going to insert full ascii set ( with the extended 0 to 255 ) to a eeprom.
So then I hv more space to animations.


Code:
char letter = 0,   buffer[5] = {0X00,0X00,0X00,0X00,0X00};
const char array[]={"<<<<<<<<<<Pasan Laksiri >> www.electro-tech-online.com <<<< My First LED Scrolling Text Project %%%%%%% IIIiiiillll"};
unsigned short y = 0, i, j = 0, PORTA_shadow, PORTB_shadow, temp = 0;
unsigned short PORTA_SELECT(unsigned short Select);
get_element();
shift(char x);
static const FontLookup [][6];
unsigned int x = 0;

bit Flag1;

void main(){

            CMCON = 7;   // All Comparators Off
            TRISA = 0;
            TRISB = 0;
            PORTA_shadow = 0;
            PORTA = PORTA_Shadow;
            PORTB_shadow = 0;
            PORTB = PORTB_shadow;
            OPTION_REG = 0X87;
            INTCON = 0XA0;

            for(;;){
                    PORTA_shadow = PORTA_SELECT(j);
                    PORTA = PORTA_shadow;
                    PORTB_shadow = buffer[j];
                    PORTB = PORTB_shadow;
                    delay_ms(1);
                    PORTA_shadow = 0;
                    PORTA = PORTA_shadow;
                    PORTB_shadow = 0;
                    PORTB = PORTB_shadow;
                    j++;
                    if( j > 4)
                    j = 0;

                    if(Flag1 == 1)
                             {
                              get_element();
                              Flag1 = 0;
                              }
                              }
                              }

get_element()
             {
              if( array[x] != '\0')
                  {
                   letter = array[x];
                   shift( FontLookup [(letter - 32)][y] );
                   y++;
                   if(y > 5 )
                        {
                         x++;
                         y = 0;
                         }
                         }
                         else
                             {
                              X = 0;
                              }
                         }

shift(char xp)
           {
            for(i = 1; i <= 4; i++)
                  {
                   buffer[ i - 1 ] = buffer [i];
                   }
                    buffer[4] = xp;
                    }




unsigned short PORTA_SELECT(unsigned short Select){
         switch(Select){
                      case  0 : return  0X01;
                      case  1 : return  0X02;
                      case  2 : return  0X04;
                      case  3 : return  0X08;
                      case  4 : return  0X40;

                      }
                     }

// ----------------------------ISR Routine--------------------------------------
void interrupt(){

                   temp++;
                        if(temp > 1){
                          temp = 0;
                          Flag1 = 1;
                         }
                                  INTCON.T0IF = 0;

                                  }


/*--------------------------------------------------------------------------------------------------
                                     Character generator


--------------------------------------------------------------------------------------------------*/

static const FontLookup [][6] =
{
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },  // sp
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $
    { 0x00, 0x23, 0x13, 0x08, 0x64, 0x62 },   // %
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +
    { 0x00, 0x00, 0x00, 0x50, 0x30, 0x00 },   // ,
    { 0x00, 0x10, 0x10, 0x10, 0x10, 0x10 },   // -
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @
    { 0x00, 0x7E, 0x11, 0x11, 0x11, 0x7E },   // A
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [
    { 0x00, 0x02, 0x04, 0x08, 0x10, 0x20 },   // back slash
    { 0x00, 0x00, 0x41, 0x41, 0x7f, 0x00 },   // ]
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f
    { 0x00, 0x0C, 0x52, 0x52, 0x52, 0x3E },   // g
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i
    { 0x00, 0x20, 0x40, 0x44, 0x3D, 0x00 },   // j
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o
    { 0x00, 0x7C, 0x14, 0x14, 0x14, 0x08 },   // p
    { 0x00, 0x08, 0x14, 0x14, 0x18, 0x7C },   // q
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x
    { 0x00, 0x0C, 0x50, 0x50, 0x50, 0x3C },   // y
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z
    { 0x00, 0x00, 0x08, 0x36, 0x41, 0x00 },   // {
    { 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00 },   // |
    { 0x00, 0x00, 0x41, 0x36, 0x08, 0x00 },   // }
    { 0x00, 0x04, 0x02, 0x04, 0x08, 0x04 },   // ~
    { 0x00, 0x00, 0x00, 0x36, 0x00, 0x00 },   // ¦
    { 0x00, 0x0e, 0x51, 0x31, 0x11, 0x08 },   // Ç
    { 0x00, 0x3c, 0x41, 0x40, 0x21, 0x7c },   // ü
    { 0x00, 0x38, 0x54, 0x56, 0x55, 0x18 },   // é
    { 0x00, 0x20, 0x56, 0x55, 0x56, 0x78 },   // â
    { 0x00, 0x20, 0x55, 0x54, 0x55, 0x78 },   // ä
    { 0x00, 0x20, 0x55, 0x56, 0x54, 0x78 },   // à
    { 0x00, 0x08, 0x08, 0x2a, 0x1c, 0x08 },   // Right Arrow  (chr 134)
    { 0x00, 0x0e, 0x51, 0x31, 0x11, 0x08 },   // ç
    { 0x00, 0x38, 0x56, 0x55, 0x56, 0x18 },   // ê
    { 0x00, 0x38, 0x55, 0x54, 0x55, 0x18 },   // ë
    { 0x00, 0x38, 0x55, 0x56, 0x54, 0x18 },   // è
    { 0x00, 0x00, 0x45, 0x7c, 0x41, 0x00 },   // ï
    { 0x00, 0x00, 0x46, 0x7d, 0x42, 0x00 },   // î
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 141)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 142)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 143)
    { 0x00, 0x7c, 0x54, 0x56, 0x55, 0x44 },   // É
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 145)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 146)
    { 0x00, 0x38, 0x46, 0x45, 0x46, 0x38 },   // ô
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 148)
    { 0x00, 0x38, 0x45, 0x46, 0x44, 0x38 },   // ò
    { 0x00, 0x3c, 0x42, 0x41, 0x22, 0x7c },   // û
    { 0x00, 0x3c, 0x41, 0x42, 0x20, 0x7c }    // ù
};
 
Last edited:
ok if im correct the best way to scroll or do any effect is to have the data set in a variable already correct? Im making my own with 1 LED Matrix right now...
Also to do the scrolling you need to know how many LED Blocks you will have correct?

[embed]http://www.youtube.com/v/kCLqmkkfF30[/embed]

U have 20 columns (4 blocks) 4*5=20 colimns

For i, <<20, i++
U also needed array variables too.
 
This is my Scrolling text Source code. I use mikroC. Im not an expert. So my code will look like little crappy. I insert 0 to 120 ascii set. Now im going to insert full ascii set ( with the extended 0 to 255 ) to a eeprom.
So then I hv more space to animations.


Code:
char letter = 0,   buffer[5] = {0X00,0X00,0X00,0X00,0X00};
const char array[]={"<<<<<<<<<<Pasan Laksiri >> www.electro-tech-online.com <<<< My First LED Scrolling Text Project %%%%%%% IIIiiiillll"};
unsigned short y = 0, i, j = 0, PORTA_shadow, PORTB_shadow, temp = 0;
unsigned short PORTA_SELECT(unsigned short Select);
get_element();
shift(char x);
static const FontLookup [][6];
unsigned int x = 0;

bit Flag1;

void main(){

            CMCON = 7;   // All Comparators Off
            TRISA = 0;
            TRISB = 0;
            PORTA_shadow = 0;
            PORTA = PORTA_Shadow;
            PORTB_shadow = 0;
            PORTB = PORTB_shadow;
            OPTION_REG = 0X87;
            INTCON = 0XA0;

            for(;;){
                    PORTA_shadow = PORTA_SELECT(j);
                    PORTA = PORTA_shadow;
                    PORTB_shadow = buffer[j];
                    PORTB = PORTB_shadow;
                    delay_ms(1);
                    PORTA_shadow = 0;
                    PORTA = PORTA_shadow;
                    PORTB_shadow = 0;
                    PORTB = PORTB_shadow;
                    j++;
                    if( j > 4)
                    j = 0;

                    if(Flag1 == 1)
                             {
                              get_element();
                              Flag1 = 0;
                              }
                              }
                              }

get_element()
             {
              if( array[x] != '\0')
                  {
                   letter = array[x];
                   shift( FontLookup [(letter - 32)][y] );
                   y++;
                   if(y > 5 )
                        {
                         x++;
                         y = 0;
                         }
                         }
                         else
                             {
                              X = 0;
                              }
                         }

shift(char xp)
           {
            for(i = 1; i <= 4; i++)
                  {
                   buffer[ i - 1 ] = buffer [i];
                   }
                    buffer[4] = xp;
                    }




unsigned short PORTA_SELECT(unsigned short Select){
         switch(Select){
                      case  0 : return  0X01;
                      case  1 : return  0X02;
                      case  2 : return  0X04;
                      case  3 : return  0X08;
                      case  4 : return  0X40;

                      }
                     }

// ----------------------------ISR Routine--------------------------------------
void interrupt(){

                   temp++;
                        if(temp > 1){
                          temp = 0;
                          Flag1 = 1;
                         }
                                  INTCON.T0IF = 0;

                                  }


/*--------------------------------------------------------------------------------------------------
                                     Character generator


--------------------------------------------------------------------------------------------------*/

static const FontLookup [][6] =
{
    { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },  // sp
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $
    { 0x00, 0x23, 0x13, 0x08, 0x64, 0x62 },   // %
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +
    { 0x00, 0x00, 0x00, 0x50, 0x30, 0x00 },   // ,
    { 0x00, 0x10, 0x10, 0x10, 0x10, 0x10 },   // -
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @
    { 0x00, 0x7E, 0x11, 0x11, 0x11, 0x7E },   // A
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [
    { 0x00, 0x02, 0x04, 0x08, 0x10, 0x20 },   // back slash
    { 0x00, 0x00, 0x41, 0x41, 0x7f, 0x00 },   // ]
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f
    { 0x00, 0x0C, 0x52, 0x52, 0x52, 0x3E },   // g
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i
    { 0x00, 0x20, 0x40, 0x44, 0x3D, 0x00 },   // j
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o
    { 0x00, 0x7C, 0x14, 0x14, 0x14, 0x08 },   // p
    { 0x00, 0x08, 0x14, 0x14, 0x18, 0x7C },   // q
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x
    { 0x00, 0x0C, 0x50, 0x50, 0x50, 0x3C },   // y
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z
    { 0x00, 0x00, 0x08, 0x36, 0x41, 0x00 },   // {
    { 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00 },   // |
    { 0x00, 0x00, 0x41, 0x36, 0x08, 0x00 },   // }
    { 0x00, 0x04, 0x02, 0x04, 0x08, 0x04 },   // ~
    { 0x00, 0x00, 0x00, 0x36, 0x00, 0x00 },   // ¦
    { 0x00, 0x0e, 0x51, 0x31, 0x11, 0x08 },   // Ç
    { 0x00, 0x3c, 0x41, 0x40, 0x21, 0x7c },   // ü
    { 0x00, 0x38, 0x54, 0x56, 0x55, 0x18 },   // é
    { 0x00, 0x20, 0x56, 0x55, 0x56, 0x78 },   // â
    { 0x00, 0x20, 0x55, 0x54, 0x55, 0x78 },   // ä
    { 0x00, 0x20, 0x55, 0x56, 0x54, 0x78 },   // à
    { 0x00, 0x08, 0x08, 0x2a, 0x1c, 0x08 },   // Right Arrow  (chr 134)
    { 0x00, 0x0e, 0x51, 0x31, 0x11, 0x08 },   // ç
    { 0x00, 0x38, 0x56, 0x55, 0x56, 0x18 },   // ê
    { 0x00, 0x38, 0x55, 0x54, 0x55, 0x18 },   // ë
    { 0x00, 0x38, 0x55, 0x56, 0x54, 0x18 },   // è
    { 0x00, 0x00, 0x45, 0x7c, 0x41, 0x00 },   // ï
    { 0x00, 0x00, 0x46, 0x7d, 0x42, 0x00 },   // î
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 141)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 142)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 143)
    { 0x00, 0x7c, 0x54, 0x56, 0x55, 0x44 },   // É
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 145)
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 146)
    { 0x00, 0x38, 0x46, 0x45, 0x46, 0x38 },   // ô
    { 0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f },   // free (chr 148)
    { 0x00, 0x38, 0x45, 0x46, 0x44, 0x38 },   // ò
    { 0x00, 0x3c, 0x42, 0x41, 0x22, 0x7c },   // û
    { 0x00, 0x3c, 0x41, 0x42, 0x20, 0x7c }    // ù
};


In get_element procedure, u can used keyword inc(y) instead of y++

Ur codes is Ok! But thank. That will will helped newbies.
 
Status
Not open for further replies.

Latest threads

Back
Top