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 - jak sterować przekaźnikiem.

Lukis 07 Cze 2006 15:47 2409 4
REKLAMA
  • #1 2706962
    Lukis
    Poziom 11  
    Witam
    Mam pytanie bo jestem początkującym, jak w programie bascom avr napisać program dla procesora z rodziny avr(np atmega 8), którego zadaniem będzie załączać przekaźnik po naciśnięciu guzika i wyłączać ten sam przekaźnik po kolejnym naciśnięciu tego samego guzika(mikroswitch). Przekaźnik oczywiście nie będzie podłączony do portu bezpośrednio ale przez tranzystor. Prosiłbym o podanie albo gotowego kawałka programu albo napisanie jakich funkcji mam użyć.
    Pozdrawiam
    Łukasz

    Moderowany przez MirekCz:

    Bardzo proszę o lepsze opisywanie problemu w temacie. Pozwoli to innym użytkownikom na łatwiejsze wyszukiwanie rozwiązań do podobnych problemów.
    Dziękuje.



    Przeniesiono z Programowanie Ogólne. - arnoldziq
  • REKLAMA
  • #2 2707050
    sysio10
    Poziom 16  
    'fusebit A987 0100:0100 osc
    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Pind.0 = Output                                      'PRZEKAZNIK
    Config Pind.6 = Input                                       'KLAWISZ
    
    Klawisz Alias Pind.6
    Przekaznik Alias Portd.0
    
    'podpiecie klawisz pod "1"
    Portd.6 = 1
    
    
    Przekaznik = 1
    
    Do
       Do
       Loop Until Klawisz = 0
    
       If Przekaznik = 1 Then
          Przekaznik = 0
       Else
          Przekaznik = 1
       End If
    
       Waitms 25
    
       Do
       Loop Until Klawisz = 1
       Waitms 25
    
    Loop
    



    Pewno dałoby się zrobić w sposób bardziej cywilizowany - przerwania, funkcję tłumiącą drgania zestyków
    waitms 25 powinno wystarczyć do wytłumienia drgań, a przerwanie miałoby sens gdyby procek miał jeszcze coś wykonywać

    Proszę pamiętać o używaniu znaczników code. - arnoldziq
  • REKLAMA
  • #3 2707113
    Lukis
    Poziom 11  
    Ok, bardzo dziękuje teraz tylko muszę wykonać odpowiednią płytke i sprawdzić jak działa :)
  • REKLAMA
  • #4 2708708
    Yca
    Poziom 20  
    nie wiem jak w avr ale w 8051 byla funkcja debounce ktora eliminowla problem drgania stykow.
  • #5 2709294
    sysio10
    Poziom 16  
    tu też jest - ale programik był pisany na szybko.

    informacja dla lukisa:
    w programie wprowadziłem założenia że przycisk zwiera do masy (procek ma wejście podciągnięte przez rezystor do "1") wyjście przekaźnika podaje stan 1 po włączeniu
    klawisz podłączony jest do wejścia pod D.6, tranzystor sterujący przekaźnikiem do D.0
    po zaprogramowaniu ustal FuseBity (zakładka "Lock and Fuse Bits")
    fusebit A987 0100:0100 - pozwoli to na korzystanie w wewnętrznego oscylatora bez potrzeby podłączenia kwarcu

    powodzenia
    Sylwek

    polecam książeczkę "programowanie minikontrolerów AVR w języku Bascom" autor - Marcin Wiązania
REKLAMA