LED Moving Message Diaply Using PIC16f628 CD4017 and 74LS595
LED Moving Message Diaply Using PIC16f628 CD4017 and 74LS595
Code of the Moving message diaply is written in proton basic compiler and is as under:Device=16F628A
XTAL=4
ALL_DIGITAL=true
Output PORTB
Symbol SER = PORTB.0 Serial data Pin
Next i
inc l
if l = 10 then
l=0
Inc start_ch_idx
If start_ch_idx = end_ch_idx Then start_ch_idx = 0
endif
GoTo Loop
End
GetPatternAndOut:
m = LRead LABEL+((serial_buffer[ch_index]) * 8) +i
m = ~m
out a clock pulse and restore data pin to 0
out the low 5 bits of pattern
SRCLK = 1 : SRCLK = 0: SER = 0
If m.4 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.3 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.2 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.1 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
If m.0 = 1 Then SER = 1
SRCLK = 1 : SRCLK = 0: SER = 0
Return
LABEL:
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF Space
LDATA $FB,$FB,$FB,$FB,$FB,$FF,$FB,$FF !
LDATA $F5,$F5,$F5,$FF,$FF,$FF,$FF,$FF
LDATA $F5,$F5,$E0,$F5,$E0,$F5,$F5,$FF #
LDATA $FB,$F0,$EB,$F1,$FA,$E1,$FB,$FF $
LDATA $E3,$EA,$E5,$FB,$F4,$EA,$F8,$FF %
LDATA $F7,$EB,$EB,$F7,$EA,$ED,$F2,$FF &
LDATA $F9,$F9,$FD,$FB,$FF,$FF,$FF,$FF
LDATA $FD,$FB,$F7,$F7,$F7,$FB,$FD,$FF (
LDATA $F7,$FB,$FD,$FD,$FD,$FB,$F7,$FF )
LDATA $FB,$EA,$F1,$FB,$F1,$EA,$FB,$FF *
LDATA $FF,$FB,$FB,$E0,$FB,$FB,$FF,$FF +
LDATA $FF,$FF,$FF,$F3,$F3,$FB,$F7,$FF ,
LDATA $FF,$FF,$FF,$F1,$FF,$FF,$FF,$FF -
LDATA $FF,$FF,$FF,$FF,$FF,$F3,$F3,$FF .
LDATA $FF,$FE,$FD,$FB,$F7,$EF,$FF,$FF /
LDATA $F1,$EE,$EC,$EA,$E6,$EE,$F1,$FF 0
LDATA $FB,$F3,$FB,$FB,$FB,$FB,$F1,$FF 1
LDATA $F1,$EE,$FE,$F1,$EF,$EF,$E0,$FF 2
LDATA $F1,$EE,$FE,$F9,$FE,$EE,$F1,$FF 3
LDATA $FD,$F9,$F5,$ED,$E0,$FD,$FD,$FF 4
LDATA $E0,$EF,$E1,$FE,$FE,$FE,$E1,$FF 5
LDATA $F9,$F7,$EF,$E1,$EE,$EE,$F1,$FF 6
LDATA $E0,$FE,$FD,$FB,$F7,$F7,$F7,$FF 7
LDATA $F1,$EE,$EE,$F1,$EE,$EE,$F1,$FF 8
LDATA $F1,$EE,$EE,$F0,$FE,$FD,$F3,$FF 9
LDATA $FF,$F3,$F3,$FF,$F3,$F3,$FF,$FF :
LDATA $F3,$FB,$F3,$F3,$FF,$F3,$F3,$FF ;
LDATA $FD,$FB,$F7,$EF,$F7,$FB,$FD,$FF <
LDATA $FF,$FF,$F1,$FF,$F1,$FF,$FF,$FF =
LDATA $F7,$FB,$FD,$FE,$FD,$FB,$F7,$FF >
LDATA $F1,$EE,$FE,$FD,$FB,$FF,$FB,$FF ?
LDATA $F1,$EE,$FE,$F2,$EA,$EA,$F1,$FF @
LDATA $FB,$F5,$EE,$EE,$E0,$EE,$EE,$FF A
LDATA $E1,$F6,$F6,$F1,$F6,$F6,$E1,$FF B
LDATA $F1,$EE,$EF,$EF,$EF,$EE,$F1,$FF C
LDATA $E1,$F6,$F6,$F6,$F6,$F6,$E1,$FF D
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$E0,$FF E
LDATA $E0,$EF,$EF,$E3,$EF,$EF,$EF,$FF F
LDATA $F1,$EE,$EF,$E8,$EE,$EE,$F1,$FF G
LDATA $EE,$EE,$EE,$E0,$EE,$EE,$EE,$FF H
LDATA $F1,$FB,$FB,$FB,$FB,$FB,$F1,$FF I
LDATA $F8,$FD,$FD,$FD,$FD,$FD,$F3,$FF J
LDATA $EE,$ED,$EB,$E7,$EB,$ED,$EE,$FF K
LDATA $EF,$EF,$EF,$EF,$EF,$EF,$E0,$FF L
LDATA $EE,$E4,$EA,$EA,$EE,$EE,$EE,$FF M
LDATA $EE,$E6,$EA,$EC,$EE,$EE,$EE,$FF N
LDATA $F1,$EE,$EE,$EE,$EE,$EE,$F1,$FF O
LDATA $E1,$EE,$EE,$E1,$EF,$EF,$EF,$FF P
LDATA $F1,$EE,$EE,$EE,$EA,$ED,$F2,$FF Q
LDATA $E1,$EE,$EE,$E1,$EB,$ED,$EE,$FF R
LDATA $F1,$EE,$EF,$F1,$FE,$EE,$F1,$FF S
LDATA $E0,$FB,$FB,$FB,$FB,$FB,$FB,$FF T
LDATA $EE,$EE,$EE,$EE,$EE,$EE,$F1,$FF U
LDATA $EE,$EE,$EE,$F5,$F5,$FB,$FB,$FF V
LDATA $EE,$EE,$EE,$EA,$EA,$E4,$EE,$FF W
LDATA $EE,$EE,$F5,$FB,$F5,$EE,$EE,$FF X
LDATA $EE,$EE,$F5,$FB,$FB,$FB,$FB,$FF Y
LDATA $E0,$FE,$FD,$FB,$F7,$EF,$E0,$FF Z
LDATA $F1,$F7,$F7,$F7,$F7,$F7,$F1,$FF [
LDATA $FF,$EF,$F7,$FB,$FD,$FE,$FF,$FF backslash
LDATA $F1,$FD,$FD,$FD,$FD,$FD,$F1,$FF [
LDATA $FB,$F5,$EE,$FF,$FF,$FF,$FF,$FF ^
LDATA $FF,$FF,$FF,$FF,$FF,$FF,$E0,$FF underline
LDATA $F3,$F3,$F7,$FB,$FF,$FF,$FF,$FF
LDATA $FF,$FF,$F1,$FE,$F0,$EE,$F1,$FF a
LDATA $EF,$EF,$E9,$E6,$EE,$E6,$E9,$FF b
LDATA $FF,$FF,$F8,$F7,$F7,$F7,$F8,$FF c
LDATA $FE,$FE,$F2,$EC,$EE,$EC,$F2,$FF d
LDATA $FF,$FF,$F1,$EE,$E0,$EF,$F1,$FF e
LDATA $F9,$F6,$F7,$E1,$F7,$F7,$F7,$FF f
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$F1,$FF g
LDATA $EF,$EF,$E9,$E6,$EE,$EE,$EE,$FF h
LDATA $FB,$FF,$F3,$FB,$FB,$FB,$F1,$FF i
LDATA $FD,$FF,$F9,$FD,$FD,$FD,$F3,$FF j
LDATA $F7,$F7,$F6,$F5,$F3,$F5,$F6,$FF k
LDATA $F3,$FB,$FB,$FB,$FB,$FB,$F1,$FF l
LDATA $FF,$FF,$E5,$EA,$EA,$EA,$EA,$FF m
LDATA $FF,$FF,$E9,$E6,$EE,$EE,$EE,$FF n
LDATA $FF,$FF,$F1,$EE,$EE,$EE,$F1,$FF o
LDATA $FF,$FF,$E1,$EE,$E1,$EF,$EF,$FF p
LDATA $FF,$FF,$F0,$EE,$F0,$FE,$FE,$FF q
LDATA $FF,$FF,$E9,$E6,$EF,$EF,$EF,$FF r
LDATA $FF,$FF,$F0,$EF,$F1,$FE,$E1,$FF s
LDATA $FB,$FB,$F0,$FB,$FB,$FB,$FC,$FF t
LDATA $FF,$FF,$EE,$EE,$EE,$EC,$F2,$FF u
LDATA $FF,$FF,$EE,$EE,$EE,$F5,$FB,$FF v
LDATA $FF,$FF,$EE,$EE,$EA,$EA,$F4,$FF w
LDATA $FF,$FF,$EE,$F5,$FB,$F5,$EE,$FF x
LDATA $FF,$FF,$EE,$F5,$FB,$FB,$F3,$FF y
LDATA $FF,$FF,$E0,$FD,$FB,$F7,$E0,$FF z
LDATA $F9,$F7,$F7,$E7,$F7,$F7,$F9,$FF {
LDATA $FB,$FB,$FB,$FF,$FB,$FB,$FB,$FF |
LDATA $F3,$FD,$FD,$FC,$FD,$FD,$F3,$FF }
LDATA $F5,$EA,$FF,$FF,$FF,$FF,$FF,$FF ~
LDATA $F5,$EA,$F5,$EA,$F5,$EA,$F5H DEL