3 '************** Bojan potočnik s pomočjo www.elektronik.si foruma ************** 4 5 '*** S tem programom je čip zaseden 27% **************************************** 6 $regfile = "attiny24.dat" 'Definiram čip ATtiny24(A) 7 $crystal = 8000000 'Povem vrednost notranjega kvarca 8MHz 8 '******************************************************************************* 9 10 '*** Definiram I/O porte ******************************************************* 11 Config PORTA = Output 'LEDice 12 Config PINB.2 = Input : PORTB.2 = 0 'Tipka, vključim pulldown upor 13 '******************************************************************************* 14 15 '*** Definiram spremenljivke *************************************************** 16 Dim Vrednost As Word , Vrednost2 As Word , Stevec As Byte 17 Vrednost = 0 : Vrednost2 = 0 : Stevec = 0 18 '------------------------------------------------------------------------------- 19 20 21 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx GLAVNI PROGRAM xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 22 Do 23 Waitus 10 24 Vrednost2 = Rnd(6) 'Vrni 0-5 (to je prava izzrebana stevilka), to vedno ponavljaj 25 'Vedno ponavljaj 26 If PINB.2 = 1 Then 27 Waitms 20 28 If PINB.2 = 1 Then 29 30 '### Animacija ### 31 Stevec = 0 'Resetiram Stevec 32 Do 33 Vrednost = Rnd(6) 'Zgeneriram nakljucno stevilko 34 Gosub Izpisi_cifro 'Jo izpišem 35 Incr Stevec 'Povečam Stevec (da vem, koliko številk sem že ispisal) 36 Waitms 35 'Počakam 20ms (ravno prav) 37 Loop Until Stevec >= 20 'Ponovim 20x, to je v tem primeru ~500ms 38 '################# 39 40 Vrednost = Vrednost2 'Prepiši spremenljivko 41 Gosub Izpisi_cifro 'in končno izpišemo pravo cifro 42 43 End If 44 End If 45 Loop 46 47 End 'konec programa 48 '******************************************************************************* 49 50 51 '******************************** 52 Izpisi_cifro: 53 Select Case Vrednost 'Glede na vrednost izpisi pravo stevilko na 7-segment 54 Case 0 : PORTA = &B00001001 '1 55 Case 1 : PORTA = &B01110011 '2 56 Case 2 : PORTA = &B01011011 '3 57 Case 3 : PORTA = &B11001001 '4 58 Case 4 : PORTA = &B11011010 '5 59 Case 5 : PORTA = &B11111010 '6 60 End Select 61 Return 62 '******************************** 63 64 65 66 67