Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $regfile = "m8def.dat"
- $crystal = 8000000
- $hwstack = 40
- $swstack = 16
- $framesize = 32
- Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portb.1 , E = Portc.1 , Rs = Portc.0
- Config Lcd = 16 * 2
- Config Adc = Single , Prescaler = Auto , Reference = Internal
- Dim Sekundy As Integer
- Dim Minuty As Integer
- Dim Godziny As Integer
- Dim Sek As Integer
- Dim V1 As Single
- Sekundy = 0
- Minuty = 0
- Godziny = 0
- Config Timer0 = Timer , Prescale = 8 'deklaracja timera jako czasomierza
- 'z prescalerem 64
- On Timer0 Przerwanie_co_2ms 'deklaracja jaka etykieta obsługuje
- 'przepełnienie od timer0
- Dim Licznik As Integer 'zmienna licznikowa
- Enable Interrupts 'odblokowanie globalnych przerwań
- Enable Timer0 'odblokowanie przerwania od przepełnienia timer0
- Timer0 = 6 'wpisanie wartości początkowej 6 do timera,
- 'czyli timer będzie zliczał 250 (256-6) impulsów
- Licznik = 0 'wyzerowanie zmiennej licznikowej
- Do
- Cls
- If Sekundy <= 9 And Minuty < 10 And Godziny < 10 Then
- Lcd "0" + Godziny + ":0" + Minuty + ":0" + Sekundy
- End If
- If Sekundy > 9 And Minuty < 10 And Godziny < 10 Then
- Lcd "0" + Godziny + ":0" + Minuty + ":" + Sekundy
- End If
- If Sekundy > 9 And Minuty > 9 And Godziny < 10 Then
- Lcd "0" + Godziny + ":" + Minuty + ":" + Sekundy
- End If
- If Sekundy > 9 And Minuty > 9 And Godziny > 9 Then
- Lcd Godziny + ":" + Minuty + ":" + Sekundy
- End If
- Cursor Off Noblink
- Waitms 200
- Loop
- End 'koniec programu
- Przerwanie_co_2ms: 'podprogram przerwania od przepełnienia timer0 wywolywanego co 2 ms
- Counter0 = Counter0 + 6 'ustawienie początkowej wartości timera0 poprzez
- 'dodanie do niego wartości 6 (odliczone zostanie
- 'dokładnie kolejne 250 impulsów)
- Incr Licznik 'zwiększenie licznika
- If Licznik = 500 Then 'jeśli zmienna licznik równa się 500 (czyli
- 'odliczone zostało 500*2ms=1sek),
- Incr Sekundy
- Licznik = 0 'wyzeruj zmienną licznik
- End If
- If Sekundy = 60 Then
- Incr Minuty
- Sekundy = 0
- End If
- If Minuty = 60 Then
- Incr Godziny
- Minuty = 0
- End If
- Return 'powrót z przerwania
Advertisement
Add Comment
Please, Sign In to add comment