logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom] spr. programu obsługującego diody

zielnony 06 Lip 2011 22:56 862 0
REKLAMA
  • #1 9690686
    zielnony
    Poziom 11  
    Witam!!

    Prosiłbym o sprawdzenie programu napisanego w Bascomie. Program został napisany dla 8 diod i 4 przycisków. Mogłem zrobić błędy w pętlach, gdyż jest to mój pierwszy, napisany od podstaw program.

    Opiszę teraz pętla dla każdego z przycisków:
    przycisk 1 - wszystkie diody świecą
    przycisk 2 - diody migają od 1 do 8 powracają
    przycisk 3 - diody zapalają się od 1- 4 (do środka ) i powracają
    przycisk 4 - wyłączenie układu

    Pozdrawiam i liczę na pomoc.

    $regfile "m8def.dat"
    $crystal = 1000000
    
    Dim I As Byte
    Dim K As Byte
    Dim L As Byte
    Dim Dioda(8) As Byte
    
    'załadowanie diod do tablicy
    
    Dioda(1) = &B11111110
    Dioda(2) = &B11111101
    Dioda(3) = &B11111011
    Dioda(4) = &B11110111
    Dioda(5) = &B11101111
    Dioda(6) = &B11011111
    Dioda(7) = &B10111111
    Dioda(8) = &B01111111
    
    Config Portb = Output
    Config Portc = Output
    Portc = 1
    
    'linie PD0 i PD1 wejściowe, PD2 i PD3 wyjściowe
    Config Portd = &B11111100
    Portd = &HFF
    
    Petla:
       'sprawdzam górną klawiaturę
    
       Portd.2 = 0
       Portd.3 = 1
    
       nop
    
       'przycisk 1
    
          If Pind.0 = 0 Then
             Portb = 0
             Goto Petla
          End If
    
    
       'przycisk 2
    
          If Pind.1 = 0 Then
    
             For I = 1 To 8
                Portc = Dioda(i)
                   Waitms 250
                Portc = 0
                   Waitms 250
             Next I
    
             For K = 8 To 1 Step -1
                Portc = Dioda(k)
                   Waitms 250
                Portc = 0
                   Waitms 250
             Next K
             Goto Petla
          End If
    
       'sprawdzam dolną cześć klawiatury
    
       Portd.2 = 1
       Portd.3 = 0
    
       ' przycisk 3
    
          If Pind.0 = 0 Then
    
             For L = 1 To 4
                For K = 8 To 5 Step -1
                   Portc = Dioda(l)
                   Portc = Dioda(k)
                      Waitms 50
                Next K
             Next L
    
    
             For L = 4 To 1 Step -1
                For K = 5 To 8
                   Portc = Dioda(l)
                   Portc = Dioda(k)
                Next K
             Next I
             Goto Petla
    
          End If
    
    
       'przycsik 4
    
          If Pind.1 = 0 Then
             Portc = 0
             Goto Petla
    
          End If
  • REKLAMA
REKLAMA