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

[ATMega16][Bascom]Przełącznik wielopozycyjny

piwek9 02 Cze 2009 19:02 1469 3
REKLAMA
  • #1 6600236
    piwek9
    Warunkowo odblokowany
    Witam i proszę o wyrozumiałość ,to moje pierwsze, totalnie pierwsze podejście .Mam problem chce zbudować przełącznik kilku pozycyjny i utknąłem ktoś podpowie jak to rozwinąć
    
    $regfile = "m16def.dat"
    Config Porta = Output
    Porta = &B11111111
    Config Portc = Input
    Portc = &B11111111
    
    
    Do
    If Pinc.0 = 0 Then Porta.7 = 0
    If Pinc.1 = 0 Then Porta.6 = 1
    If Pinc.1 = 0 Then Porta.6 = 0
    If Pinc.1 = 0 Then Porta.7 = 0
    
    
    
    Loop
    End
  • REKLAMA
  • #2 6604600
    janbernat
    Poziom 38  
    Ale na czym utknąłeś?
    Program się kompiluje i przełącza stan poszczególnych końcówek z częstotliwością zegara(pewnie wewnętrznego) raz na jakieś 1/100000s-więc miernikiem nic nie zmierzysz.
  • REKLAMA
  • #3 6606215
    piwek9
    Warunkowo odblokowany
    Problem mam w tym że: chce go zrobić na 16 przełączników ,przełącza sie ok jak lecisz po kolei jak klikasz przypadkowo potrafi załączyć jednocześnie kilka wyjść a mi zależy na uzyskaniu klika jeden załącza tylko to wyjście pozostałe ma wyłączyć ,niezależnie który bym nie załączył ma załączyć tylko ten a pozostałe wyłączyć i tu sie pogubiłem
  • #4 6608908
    janbernat
    Poziom 38  
    No, ale czym przełączasz?
    Jak zwykłe switch-to dzwonią.
    Spróbuj na początek:
    if pinc.0 =0 then
    waitms 20
    if pinc.0=0
    then porta.7=0
    ........
    itd.
    Zapoznaj się z debounce,-programowe wytłumienie dzwonienia styków Ci pokazałem.
    Może po każdym daj waitms 500.
    Zapoznaj się z ustawianiem bitów przez maskowanie-and
    , or itp.
    Help po polsku na stronie MCS Electronics by Zbigniew Gibek-lepszy niż help firmowy.
REKLAMA