Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Ustawienie stanu całego portu

Jawarider 02 Lis 2013 17:22 849 3
  • #1 02 Lis 2013 17:22
    Jawarider
    Poziom 12  

    Witam,

    zaczynam przygodę z programowaniem w Bascom. Wykonywałem proste ćwiczenie z książki "Mikrokontrolery dla początkujących" polegające na włączaniu i wyłączaniu segmentów wyświetlacza led. W sytuacji gdy, ustawiałem konkretny numer portuB wszystko działa prawidłowo, jednak gdy próbuje zaświecić wszystkie segmenty jednego z wyświetlaczy (bez podawania numeru końcówki) zgodnie z poniższym zapisem, układa nie działa zgodnie z zamysłem.

    (Jest to płytka testowa AVT z procesorem 90S2313 programowane przez ISP.)

    Po wciśnięciu S1 wszystkie segmenty włączają się, a po wciśnięciu S2 wyłącza się tylko segment a.

    Config Portb = &B11111111 'wszystkie końcówki jako wyjścia
    Portb = &B11111111 'wszędzie wpisz stan spoczynkowy 1
    Config Portd = &B1111100 'dwa najmłodsze jako wejścia
    Portd = &B1110111 'włączony T2, podciągnięte wejścia
    Do 'pętla nieskończona
    If Pind.0 = 0 Then Portb = 0 'S1 - zaświeć lampkę
    If Pind.1 = 0 Then Portb = 1 'S2 - zgaś lampkę
    Loop
    End

    Prośba o wskazówki.
    Pozdrawiam Robert

    0 3
  • Pomocny post
    #2 02 Lis 2013 17:40
    sp3ots
    Poziom 35  

    Witaj Robert !
    Tą linię:
    If Pind.1 = 0 Then Portb = 1 'S2 - zgaś lampkę
    napisz tak:
    If Pind.1 = 0 Then Portb = 255

    0
  • #3 02 Lis 2013 18:08
    Jawarider
    Poziom 12  

    Działa!

    czyli jeśli ustawiamy stan wysoki całego portu należy wskazać poszczególne bity.
    Rozumiem, że ten sam efekt uzyskam jeśli napiszę &11111111.

    dzięki za pomoc.

    0