Cześć! Mam do zrobienia następujące ćwiczenie:
Oto schemat:
![[ATMega8][Asembler] Przełączanie diody LED za pomocą przycisku [ATMega8][Asembler] Przełączanie diody LED za pomocą przycisku](https://obrazki.elektroda.pl/8874876500_1403362528_thumb.jpg)
Edytuj
Ponieważ na lekcji było pokazane jak zapalać i gasić diody za pomocą operacji XOR na rejestrach, robiąc zadanie też wykorzystałem tę funkcję. Mój kod wygląda następująco:
Program działa, ale mam zastrzeżenia do sposobu, w jaki przełączają się diody. Otóż nie zawsze się one przełączają po wciśnięciu przycisku (np bardzo szybko przełączają się z powrotem). Wiem że przy naciskaniu zdarzają się zwarcia, dlatego dodałem instrukcję opóźniającą Czekaj125ms, ale nie bardzo ona pomaga. Co powinienem zrobić?
Zadanie pochodzi z książki P.Borkowskiego "AVR&ARM7. Programowanie mikrokontrolerów dla każdego"
Cytat:Obsłuż układ z rysunku tak, by naciśnięcie przycisku S1 powodowało zaświecenie diody D1. Dioda D1 powinna od tej pory świecić, aż do powtórnego naciśnięcia przycisku S1 - wówczas dioda D1 powinna zgasnąć, a dioda D2 jednocześnie się zapalić.
Oto schemat:
Edytuj
Ponieważ na lekcji było pokazane jak zapalać i gasić diody za pomocą operacji XOR na rejestrach, robiąc zadanie też wykorzystałem tę funkcję. Mój kod wygląda następująco:
Kod: text
Program działa, ale mam zastrzeżenia do sposobu, w jaki przełączają się diody. Otóż nie zawsze się one przełączają po wciśnięciu przycisku (np bardzo szybko przełączają się z powrotem). Wiem że przy naciskaniu zdarzają się zwarcia, dlatego dodałem instrukcję opóźniającą Czekaj125ms, ale nie bardzo ona pomaga. Co powinienem zrobić?
Zadanie pochodzi z książki P.Borkowskiego "AVR&ARM7. Programowanie mikrokontrolerów dla każdego"