Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $regfile = "m8adef.dat"
- 'config lcd
- Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.7 , Db6 = Portb.6 , Db7 = Portb.1 , Rs = Portc.0 , E = Portc.1
- Config Lcd = 16 * 2
- 'configuracja poboru napiecia reference moze nie byc potrzebne
- Config Adc = Single , Prescaler = Auto , Reference = Internal
- 'Now give power to the chip
- Start Adc
- 'get adc powinno pobrac napiecie
- 'config klawiatury
- Config Kbd = Portd , Debounce = 40 , Delay = 50
- Config Pind.7 = 0
- Cursor Off
- Dim B As Byte
- 'nadanie wlasnej nazwy portom konfiguracja diody rgb
- Red Alias Portc.3
- Green Alias Portc.4
- Blue Alias Portc.5
- 'konfiguracja pinow portow poprzez ustawienie ich na wyjscie
- Config Pinc.3 = Output
- Config Pinc.4 = Output
- Config Pinc.5 = Output
- B = 0
- 'reset niekonieczny ale warto zresetowac
- Reset Red
- Reset Green
- Reset Blue
- 'przelaczenie w stan spoczynku portow odpowiednich za diode rgb
- '0 wartosc
- Toggle Red
- Toggle Green
- Toggle Blue
- Toggle Red
- Dim Klawisz As Byte
- 'zmienna do ktorej zapisywanyjest kod klawisza
- Dim Konw_klaw As Byte
- 'zmienna do ktorej zapisywany jest przekodowany kod klawisza
- Cursor Off
- 'wylaczenie kursora
- Goto Wybor_aku
- End
- 'koniec programu
- '*******************************************************************************************'
- Wybor_aku:
- Dim Licznik As Byte
- Licznik = 1
- 'Do
- 'Cls
- 'Lcd "Wybor aku czek..";
- 'Incr Licznik
- 'Loop Until Licznik = 100
- Cls
- Locate 1 , 1 : Lcd "1 Olow 2 Zelowy"
- Locate 2 , 1 : Lcd "3 AGM"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Olowiany
- End If
- If Konw_klaw = 2 Then
- Goto Zelowy
- End If
- If Konw_klaw = 3 Then
- Goto Agm
- End If
- Loop
- End
- '*******************************************************************************************'
- Olowiany:
- Cls
- Locate 1 , 1 : Lcd "Olow-wybor trybu"
- Locate 2 , 1 : Lcd "1-Auto,2-Recz,3B"
- Klawisz = 0
- 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Automatycznie_olowiany
- End If
- If Konw_klaw = 2 Then
- Goto Recznie_olowiany
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Zelowy:
- Cls
- Locate 1 , 1 : Lcd "Zel-wybor trybu"
- Locate 2 , 1 : Lcd "1-Auto,2-Recz3B"
- Klawisz = 0
- 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Automatycznie_zelowy
- End If
- If Konw_klaw = 2 Then
- Goto Recznie_zelowy
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Agm:
- Cls
- Locate 1 , 1 : Lcd "AGM-wybor trybu"
- Locate 2 , 1 : Lcd "1-Auto,2-Recz3B"
- Klawisz = 0
- 'POMIAR NAPIECIA W ZALEZNOSCI OD PORTU ->GETADC
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Automatycznie_agm
- End If
- If Konw_klaw = 2 Then
- Goto Recznie_agm
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Automatycznie_olowiany:
- Cls
- Locate 1 , 1 : Lcd "Olowiany"
- Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_olowiany
- End If
- If Konw_klaw = 2 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Automatycznie_zelowy:
- Cls
- Locate 1 , 1 : Lcd "Zelowy"
- Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_zelowy
- End If
- If Konw_klaw = 2 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Automatycznie_agm:
- Cls
- Locate 1 , 1 : Lcd "AGM"
- Locate 2 , 1 : Lcd "1-Potwierdz,2-B"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_agm
- End If
- If Konw_klaw = 2 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Recznie_olowiany:
- Cls
- Locate 1 , 1 : Lcd "Olowiany, 3B"
- Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_olowiany
- End If
- If Konw_klaw = 2 Then
- Goto Odsiarczaj_olowiany
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Recznie_zelowy:
- Cls
- Locate 1 , 1 : Lcd "Zelowy, 3B"
- Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_zelowy
- End If
- If Konw_klaw = 2 Then
- Goto Odsiarczaj_zelowy
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Recznie_agm:
- Cls
- Locate 1 , 1 : Lcd "AGM, 3B"
- Locate 1 , 2 : Lcd "1-laduj,2-odsiar"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- If Konw_klaw = 1 Then
- Goto Laduj_agm
- End If
- If Konw_klaw = 2 Then
- Goto Odsiarczaj_agm
- End If
- If Konw_klaw = 3 Then
- Goto Wybor_aku
- End If
- Loop
- End
- '*******************************************************************************************'
- Laduj_olowiany:
- Dim Pojemnosc As Byte
- Pojemnosc = 4
- 'wyswietlenie bazowej pojemnosci poczatkowej
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
- If Konw_klaw = 3 Then
- Pojemnosc = Pojemnosc + 4
- If Pojemnosc > 120 Then
- Goto Laduj_olowiany
- End If
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
- End If
- If Konw_klaw = 4 Then
- Cls
- Locate 1 , 1 : Lcd "Ladownie..."
- Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
- End If
- If Konw_klaw = 1 Then
- Goto Wybor_aku
- End If
- If Konw_klaw = 2 Then
- Goto Laduj_olowiany
- End If
- Loop
- End
- '*******************************************************************************************'
- Laduj_zelowy:
- Pojemnosc = 4
- 'wyswietlenie bazowej pojemnosci poczatkowej
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
- If Konw_klaw = 3 Then
- Pojemnosc = Pojemnosc + 4
- If Pojemnosc > 120 Then
- Goto Laduj_zelowy
- End If
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
- End If
- If Konw_klaw = 4 Then
- Cls
- Locate 1 , 1 : Lcd "Ladownie..."
- Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
- End If
- If Konw_klaw = 1 Then
- Goto Wybor_aku
- End If
- If Konw_klaw = 2 Then
- Goto Laduj_zelowy
- End If
- Loop
- End
- '*******************************************************************************************'
- Laduj_agm:
- Pojemnosc = 4
- 'wyswietlenie bazowej pojemnosci poczatkowej
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B " ; Pojemnosc ; " 3->4Ok"
- Klawisz = 0
- Do
- Klawisz = Getkbd()
- Konw_klaw = Lookup(klawisz , Tab_klw)
- '3 pojemnosc +4, 1 powrot do menu poczatkowego, 2 powrot do bazowej pojemnosci aku , 4 zaakceptuj i laduj
- If Konw_klaw = 3 Then
- Pojemnosc = Pojemnosc + 4
- If Pojemnosc > 120 Then
- Goto Laduj_agm
- End If
- Cls
- Locate 1 , 1 : Lcd "Pojemnosc w Ah"
- Locate 2 , 1 : Lcd "1B2E " ; Pojemnosc ; " 3->4Ok"
- End If
- If Konw_klaw = 4 Then
- Cls
- Locate 1 , 1 : Lcd "Ladownie..."
- Locate 2 , 1 : Lcd "" ; Pojemnosc ; "Ah"
- End If
- If Konw_klaw = 1 Then
- Goto Wybor_aku
- End If
- If Konw_klaw = 2 Then
- Goto Laduj_agm
- End If
- Loop
- End
- '*******************************************************************************************'
- Odsiarczaj_olowiany:
- Cls
- Locate 1 , 1 : Lcd "Odsiarczanie.."
- End
- '*******************************************************************************************'
- Odsiarczaj_zelowy:
- Cls
- Locate 1 , 1 : Lcd "Odsiarczanie.."
- End
- '*******************************************************************************************'
- Odsiarczaj_agm:
- Cls
- Locate 1 , 1 : Lcd "Odsiarczanie.."
- End
- '*******************************************************************************************'
- Tab_klw:
- 'tablica konwersji kodow klawiszy
- 'Data 1 , 4 , 7 , 16 , 2 , 5 , 1 , 16 , 3 , 6 , 9 , 16 , 9 , 8 , 7 , 16 , 16
- Data 1 , 4 , 7 , 10 , 2 , 5 , 8 , 0 , 3 , 6 , 9 , 11 , 9 , 8 , 7 , 16 , 16
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement