Duże fonty na alfanumerycznym LCD
: 23 sty 2018, 17:44
Witam
Przeglądając stronę domową Gospodarza , zaciekawił mnie ten artykuł .
Postanowiłem nieco podłubać w kodzie z innej strony , jak inaczej można z jakieś zmiennej " wydłubać " wartości do wyświetlenia
Pewnie można jeszcze prościej osiągnąć cel , ale ja to wieczny amator .
Można coś w tym kodzie jeszcze uprościć
chętnie przyjmę wszelkie porady 
Przeglądając stronę domową Gospodarza , zaciekawił mnie ten artykuł .
Postanowiłem nieco podłubać w kodzie z innej strony , jak inaczej można z jakieś zmiennej " wydłubać " wartości do wyświetlenia
Pewnie można jeszcze prościej osiągnąć cel , ale ja to wieczny amator .
Code: [Zaznacz cały] [Rozwiń/Zwiń]
- $sim
- $regfile = "m8def.dat"
- $crystal = 8000000
- Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 = Portc.2 , Db4 = Portc.3 , E = Portc.4 , Rs = Portc.5
- Config Lcd = 16 * 2
- Cursor Off Noblink
- Dim Wartosc As Byte
- Dim Pierwsza As Byte , Druga As Byte , Trzecia As Byte
- Dim Linia_g(10) As String * 3 , Linia_d(10) As String * 3
- Dim Text As String * 3
- Dim A As String * 1
- Cls
- Wartosc = 0
- Text = "000"
- A = "0"
- Pierwsza = 0
- Druga = 0
- Trzecia = 0
- '=========TABLICA na DUŻE CYFRY===========
- 'Cyfra 0
- Linia_g(10) = "{006}{002}{005}" 'chr(6) + Chr(2) + Chr(5)
- Linia_d(10) = "{006}{003}{005}" 'Chr(6) + Chr(3) + Chr(5)
- 'Cyfra 1
- Linia_g(1) = "{032}{032}{005}" ' " " + Chr(5)
- Linia_d(1) = "{032}{032}{005}" '" " + Chr(5)
- 'Cyfra 2
- Linia_g(2) = "{007}{004}{005}" 'Chr(7) + Chr(4) + Chr(5)
- Linia_d(2) = "{006}{003}{003}" 'Chr(6) + Chr(3) + Chr(3)
- 'Cyfra 3
- Linia_g(3) = "{032}{004}{005}" '" " + Chr(4) + Chr(5)
- Linia_d(3) = "{032}{003}{005}" '" " + Chr(3) + Chr(5)
- 'Cyfra 4
- Linia_g(4) = "{006}{003}{005}" 'Chr(6) + Chr(3) + Chr(5)
- Linia_d(4) = "{032}{032}{005}" '" " + Chr(5)
- 'Cyfra 5
- Linia_g(5) = "{006}{004}{001}" 'Chr(6) + Chr(4) + Chr(1)
- Linia_d(5) = "{003}{003}{005}" 'Chr(3) + Chr(3) + Chr(5)
- 'Cyfra 6
- Linia_g(6) = "{006}{004}{001}" 'Chr(6) + Chr(4) + Chr(1)
- Linia_d(6) = "{006}{003}{005}" 'Chr(6) + Chr(3) + Chr(5)
- 'Cyfra 7
- Linia_g(7) = "{006}{002}{005}" 'Chr(6) + Chr(2) + Chr(5)
- Linia_d(7) = "{032}{032}{005}" '" " + Chr(5)
- 'Cyfra 8
- Linia_g(8) = "{006}{004}{005}" 'Chr(6) + Chr(4) + Chr(5)
- Linia_d(8) = "{006}{003}{005}" 'Chr(6) + Chr(3) + Chr(5)
- 'Cyfra 9
- Linia_g(9) = "{006}{004}{005}" 'Chr(6) + Chr(4) + Chr(5)
- Linia_d(9) = "{003}{003}{005}" 'Chr(3) + Chr(3) + Chr(5)
- ' ZAPIS W POSTACI{002}{032} ZMNIEJSZA KOD O 676 BAJTÓW '
- Cls
- Do
- Gosub Licz
- If Pierwsza = 0 Then
- Pierwsza = 10
- End If
- If Druga = 0 Then
- Druga = 10
- End If
- If Trzecia = 0 Then
- Trzecia = 10
- End If
- Locate 1 , 6
- Lcd Linia_g(pierwsza) ; Linia_g(druga) ; Linia_g(trzecia)
- Locate 2 , 6
- Lcd Linia_d(pierwsza) ; Linia_d(druga) ; Linia_d(trzecia)
- Locate 2 , 1 : Lcd Wartosc
- Wait 1
- Incr Wartosc
- Loop
- End
- Licz:
- Text = Str(wartosc) 'zamiana zmiennej wartość na tekst
- Text = Format(text , "000") 'formatowanie tekstu
- A = Mid(text , 1 , 1) 'wpisanie do A jedneg znaku z pierwszej pozycji zmiennej Tekst
- Pierwsza = Val(a) 'zmienna Pierwsza przyjmuje wartość zmiennej A
- A = Mid(text , 2 , 1) 'jw ....drugi znak
- Druga = Val(a)
- A = Mid(text , 3 , 1)
- Trzecia = Val(a)
- Return