Will people stopping using 16F84A one day? LOL!
Anyways, do you mind if i try to do the code for the 16F877A right now as you'll end up using this one anyway?
Will people stopping using 16F84A one day? LOL!
Anyways, do you mind if i try to do the code for the 16F877A right now as you'll end up using this one anyway?
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I'm only using it because it's the test pic! I've flashed it at least 500 times!
This is a little bit smaller code:
But of course it's not what I want!Code:DEFINE OSC 12 define LCD_LINES 4 Clr CON 1 Comm Con $FE LINE1 con 2 LINE2 con $c0 LINE3 con $94 LINE4 con $d4 Dx con $14 Begin: Pause 500 LCDOUT $FE,$40,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F ' Cust Char #0 LCDOUT $FE,$48,$1F,$1F,$1F,$1F,$00,$00,$00,$00 ' Cust Char #1 LCDOUT $FE,$50,$00,$00,$00,$00,$1F,$1F,$1F,$1F ' Cust Char #2 LCDOUT $FE,$58,$00,$00,$00,$0E,$1F,$1F,$1F,$0E ' Cust Char #3 LCDOUT $FE,$60,$00,$00,$00,$00,$00,$1F,$1F,$1F ' Cust Char #4 LCDOUT $FE,$68,$1F,$1F,$1F,$00,$00,$00,$00,$00 ' Cust Char #5 LCDOUT $FE,$70,$00,$01,$03,$07,$0F,$1F,$1F,$1F ' Cust Char #6 LCDOUT $FE,$78,$00,$00,$00,$00,$00,$00,$01,$03 ' Cust Char #7 Main: LCDOUT comm, clr lcdout comm, line1, "T", COMM, LINE2, "E", COMM, LINE3, "S", COMM, LINE4, "T" PAUSE 1000 GOSUB NUMERO11 PAUSE 1000 GOSUB NUMERO22 PAUSE 1000 GOSUB NUMERO33 pause 1000 gosub punto3 pause 1000 gosub numero44 PAUSE 3000 GOTO MAIN Numero11: lcdout comm, $82, $07, $06, $00 lcdout comm, $C4, $00 lcdout comm, $98, $00 lcdout comm, $D8, $00 RETURN Numero22: LCDOUT comm, $86, $01, $01, $01, $00 LCDOUT comm, $C6, $02, $02, $02, $00 LCDOUT comm, $9A, $00, $01, $01, $01 LCDOUT comm, $DA, $00, $02, $02, $02 RETURN Numero33: LCDOUT comm, $8B, $01, $01, $01, $00 LCDOUT comm, $CC, $04, $04, $00 LCDOUT comm, $A0, $05, $05, $00 LCDOUT comm, $DF, $02, $02, $02, $00 RETURN Punto3: LCDOUT Comm, $E3, $03 return Numero44: lcdout comm, $90, $00 lcdout COMM, $D0, $00, COMM, $D3, $00 lcdout COmm, $A4, $01, $01, $01, $00 lcdout comm, $E7, $00 return end
OK then i'll try with my favourite 16F84A![]()
OK everybody, the code shrinking competition start RIGHT NOW!
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Doh! i miss this line...
So what do you want? smaller only ?But of course it's not what I want!
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Maybe not FAR BETTER but interesting...
I'm still working on something...Code:Clr CON 1 Comm Con $FE LINE1 con $80 ;2 LINE2 con $c0 LINE3 con $94 LINE4 con $d4 Dx con $14 offset var byte Begin: Pause 500 LCDOUT $FE,$40,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F ' Cust Char #0 LCDOUT $FE,$48,$1F,$1F,$1F,$1F,$00,$00,$00,$00 ' Cust Char #1 LCDOUT $FE,$50,$00,$00,$00,$00,$1F,$1F,$1F,$1F ' Cust Char #2 LCDOUT $FE,$58,$00,$00,$00,$00,$00,$0E,$0E,$0E ' Cust Char #3 LCDOUT $FE,$60,$00,$00,$00,$00,$00,$1F,$1F,$1F ' Cust Char #4 LCDOUT $FE,$68,$1F,$1F,$1F,$00,$00,$00,$00,$00 ' Cust Char #5 LCDOUT $FE,$70,$00,$01,$03,$07,$0F,$1F,$1F,$1F ' Cust Char #6 LCDOUT $FE,$78,$00,$00,$00,$00,$00,$00,$01,$03 ' Cust Char #7 Main: offset=0 LCDOUT comm, clr lcdout comm, line1, "T", _ COMM, LINE2, "E", _ COMM, LINE3, "S", _ COMM, LINE4, "T" offset=2 PAUSE 1000 GOSUB NUMERO2 PAUSE 1000 GOSUB NUMERO1 PAUSE 1000 GOSUB NUMERO3 PAUSE 2000 GOTO MAIN Numero1: LCDOUT COMM,LINE1+offset,7,6,0,_ COMM,LINE2+offset+2,0,_ COMM,LINE3+offset+2,0,_ COMM,LINE4+offset+2,0 offset=offset+4 RETURN Numero2: LCDOUT COMM,(LINE1+offset),1,1,1,0,_ COMM,(LINE2+offset),2,2,2,0,_ COMM,(LINE3+offset),0,1,1,1,_ COMM,(LINE4+offset),0,2,2,2 offset=offset+5 RETURN Numero3: LCDOUT COMM,LINE1+offset,1,1,1,0,_ COMM,LINE2+offset+1, 4, 4, 0,_ COMM,LINE3+offset+1, 5, 5, 0,_ COMM,LINE4+offset,$02, $02, $02, $00 offset=offset+5 RETURN
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
I think this is quite good:
It's "only" 1002 words and about 900 words w/o the little "show" in Main.Code:DEFINE OSC 12 define LCD_LINES 4 Clr CON 1 Comm Con $FE LINE1 con 2 LINE2 con $c0 LINE3 con $94 LINE4 con $d4 Offset VAR BYTE Begin: Pause 500 LCDOUT 254,64,31,31,31,31,0,0,0,0 ' Cust Char #0 LCDOUT 254,72,0,0,0,0,31,31,31,31 ' Cust Char #1 LCDOUT 254,80,31,31,31,15,7,3,1,0 ' Cust Char #2 LCDOUT 254,88,31,31,31,30,28,24,16,0 ' Cust Char #3 LCDOUT 254,96,0,16,24,28,30,31,31,31 ' Cust Char #4 LCDOUT 254,104,0,1,3,7,15,31,31,31 ' Cust Char #5 LCDOUT 254,112,31,31,31,31,31,31,31,31 ' Cust Char #6 LCDOUT 254,120,0,0,0,14,31,31,31,14 ' Cust Char #7 Main: LCDOUT comm, clr lcdout comm, line1, "T", COMM, LINE2, "E", COMM, LINE3, "S", COMM, LINE4, "T" OFFSET=0 gOSUB NUMERO0 OFFSET=5 GOSUB NUMERO1 OFFSET=10 GOSUB NUMERO2 OFFSET=15 GOSUB NUMERO3 PAUSE 9000 LCDOUT COMM, CLR OFFSET=0 GOSUB NUMERO4 OFFSET=5 GOSUB NUMERO5 OFFSET=10 GOSUB NUMERO6 OFFSET=15 GOSUB NUMERO7 PAUSE 9000 LCDOUT COMM, CLR OFFSET=0 GOSUB NUMERO8 OFFSET=5 GOSUB NUMERO9 OFFSET=5 GOSUB PUNTO OFFSET=10 GOSUB NUMERO0 PAUSE 9000 GOTO MAIN END Punto: LCDOUT Comm, ($D9 + OFFSET), $07 return Numero0: LCDOUT COMM, ($81 + OFFSET), $05, $FF, $FF, $04 LCDOUT COMM, ($C1 + OFFSET), $FF, COMM, ($C4 + OFFSET), $FF LCDOUT COMM, ($95 + OFFSET), $FF, COMM, ($98 + OFFSET), $FF LCDOUT COMM, ($D5 + OFFSET), $02, $FF, $FF, $03 RETURN Numero1: lcdout comm, ($82 + OFFSET), $05, $FF lcdout comm, ($C3 + OFFSET), $FF lcdout comm, ($97 + OFFSET), $FF lcdout comm, ($D7 + OFFSET), $FF RETURN Numero2: LCDOUT comm, ($81 + OFFSET), $00, $00, $00, $04 LCDOUT comm, ($C4 + OFFSET), $FF LCDOUT comm, ($95 + OFFSET), $05, $00, $00, $00 LCDOUT comm, ($D5 + OFFSET), $FF, $01, $01, $01 RETURN Numero3: LCDOUT comm, ($81 + OFFSET), $00, $00, $00, $04 LCDOUT comm, ($C2 + OFFSET), $01, $01, $FF LCDOUT comm, ($96 + OFFSET), $00, $00, $FF LCDOUT comm, ($D5 + OFFSET), $01, $01, $01, $03 RETURN Numero4: lcdout comm, ($81 + OFFSET), $FF lcdout COMM, ($C1 + OFFSET), $FF, COMM, ($C4 + OFFSET), $FF lcdout COmm, ($95 + OFFSET), $00, $00, $00, $FF lcdout comm, ($D8 + OFFSET), $FF return Numero5: LCDOUT COMM, ($81 + OFFSET), $05, $00, $00, $00 LCDOUT COMM, ($C1 + OFFSET), $FF LCDOUT COMM, ($95 + OFFSET), $00, $00, $00, $04 LCDOUT COMM, ($D5 + OFFSET), $01, $01, $01, $03 RETURN Numero6: LCDOUT COMM, ($81 + OFFSET), $05, $00, $00 LCDOUT COMM, ($C1 + OFFSET), $FF LCDOUT COMM, ($95 + OFFSET), $FF, $00, $00, $04 LCDOUT COMM, ($D5 + OFFSET), $02, $01, $01, $03 RETURN Numero7: LCDOUT COMM, ($81 + OFFSET), $00, $00, $00, $FF LCDOUT COMM, ($C3 + OFFSET), $01, $FF LCDOUT COMM, ($97 + OFFSET), $00, $FF LCDOUT COMM, ($D8 + OFFSET), $FF RETURN Numero8: LCDOUT COMM, ($81 + OFFSET), $05, $00, $00, $04 LCDOUT COMM, ($C1 + OFFSET), $02, $01, $01, $03 LCDOUT COMM, ($95 + OFFSET), $05, $00, $00, $04 LCDOUT COMM, ($D5 + OFFSET), $02, $01, $01, $03 RETURN Numero9: LCDOUT COMM, ($81 + OFFSET), $05, $00, $00, $04 LCDOUT COMM, ($C1 + OFFSET), $02, $01, $01, $FF LCDOUT COMM, ($98 + OFFSET), $FF LCDOUT COMM, ($D6 + OFFSET), $01, $01, $03 RETURN
Bookmarks