Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

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

zielnony 06 Lip 2011 22:56 532 0
  • #1 06 Lip 2011 22:56
    zielnony
    Poziom 9  

    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.

    Code:
    $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

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME