linel je napisal/a: |
Da nebom nove teme odpiral, bom kar tukaj vprašal, in sicer. |
Koda: |
$regfile = "m8def.dat" $crystal = 12000000 Dim I As Word Dim J As Byte Dim K As Byte Dim L As Byte Dim S As String * 16 Config Portd = Output Config Portb = Output Config Debounce = 30 I = 0 'začetna vrednost spremenljivke I J = 0 ' začetna vrednost spremenljivke J Dim Eni1 As Word Dim Des1 As Word Dim Des As Word Dim Eni As Word Const Timer0reload = 54 Config Timer0 = Timer , Prescale = 1024 Load Timer0 , Timer0reload On Ovf0 Timer0_isr Enable Ovf0 Start Timer0 Enable Interrupts '****************************** GLAVNI PROGRAM **************************************************** Do Config Pinc.5 = Input If Pinc.5 = 1 Then I = 0 J = 0 End If Tipka1 Alias Pinc.0 Tipka2 Alias Pinc.1 Config Pinc.0 = Input Config Pinc.1 = Input Debounce Tipka1 , 1 , Dodaj Debounce Tipka2 , 1 , Dodaj Goto Preskok2 Dodaj: If Pinc.0 = 1 Then Incr I End If If Pinc.1 = 1 Then Decr I End If Preskok2: '***************************** Tipka3 Alias Pinc.2 Tipka4 Alias Pinc.3 Config Pinc.2 = Input Config Pinc.3 = Input Debounce Tipka3 , 1 , Dodaj1 Debounce Tipka4 , 1 , Dodaj1 Goto Preskok3 Dodaj1: If Pinc.2 = 1 Then Incr J End If If Pinc.3 = 1 Then Decr J End If Preskok3: Loop '************************ PREKINITVENA RUTINA**************************************************** Timer0_isr: Load Timer0 , Timer0reload Eni = I Mod 10 Des = I Mod 100 Des = Des / 10 Eni1 = J Mod 10 Des1 = J Mod 100 Des1 = Des1 / 10 Incr K If K > 3 Then K = 0 Portd = Lookup(i , Stevilke) Portb = 0 If K = 0 Then Set Portb.3 Portd = Lookup(des1 , Stevilke) End If If K = 1 Then Set Portb.2 Portd = Lookup(eni1 , Stevilke) End If If K = 2 Then Set Portb.1 Portd = Lookup(des , Stevilke) End If If K = 3 Then Set Portb.0 Portd = Lookup(eni , Stevilke) End If Return '***************************TABELA VREDNOSTI ŠTEVILK ZA SEGMENTE***************************************** Stevilke: ' 0 1 2 3 4 5 6 7 Data &H3F , &H06 , &H5B , &H4F , &H66 , &H6D , &H7C , &H07 , &H7F , &H67 |