Skocz do zawartości

Pomoc przy pisaniu pierwszych programów


Tolo

Pomocna odpowiedź

A nie lepiej wykorzystać else

Do 
If przycisk = 0 then
waitms 25
dioda = 1
else 
dioda = 0 
end if
loop

powinno działać tylko to opóźnienie sobie dobierz ja ustawiłem na takie jak ma funkcja debounce czyli 25ms

Link do komentarza
Share on other sites

Robomaniak, a co da to opóźnienie? Chodzi o to, żeby po chwili przerwy znów sprawdzić, czy przycisk jest wciąż wciśnięty. Nie wyklucza to całkowicie wpływu zjawiska drgań (może się akurat zdarzyć, że "szczyt" oscylacji przypadnie akurat na oba sprawdzenia, jeśli damy za krótki czas odstępu między nimi), ale zdecydowanie je ogranicza.

Link do komentarza
Share on other sites

Nawyk właściwie nie wiem co to da 😃 .

Znalazłem taki przykład kiedyś dawno i od tamtego czasu go stosuję i nie miałem jeszcze żadnego problemu z nim i działa tak jak powinno

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

No i udało się !!!

Dziękuje wszystkim za pomoc !!!!

Teraz program wygląda tak;

$regfile = "m16def.dat"                                     'najpierw określamy typ proca
$crystal = 1000000                                          'definiujemy z jakim taktowaniem będzie pracował


Config Pinb.0 = Input                                       ' wyprowadzenie PD0 jako wejście
Config Pinb.1 = Input                                       ' wyprowadzenie PD1 jako wejście
Config Pinb.2 = Output                                      ' wyprowadzenie PD2 jako wejście
Config Pinb.3 = Input                                       ' wyprowadzenie PD3 jako wyjście
Config Pinb.4 = Output                                      ' wyprowadzenie PD4 jako wyjście
Config Pinb.5 = Output                                      ' wyprowadzenie PD5 jako wyjście
Config Pinb.6 = Output                                      ' wyprowadzenie PD6 jako wyjście

Portb.0 = 0                                                 'stan spoczynkowy-1
Portb.1 = 0                                                 'stan spoczynkowy-1
Portb.2 = 1                                                 'stan spoczynkowy-1
Portb.3 = 1                                                 'stan spoczynkowy-1
Portb.4 = 0                                                 'stan spoczynkowy-1
Portb.5 = 0                                                 'stan spoczynkowy-0
Portb.6 = 0                                                 'stan spoczynkowy-0

Dioda Alias Portb.2
Przycisk Alias Pinb.3

Do
If przycisk = 0 then
waitms 25
dioda = 1
else
dioda = 0
end if
loop                                 'koniec pętli

End                                                         'koniec programu

Następny program jaki chciałbym napisać to "światłolub" muszę tylko wytrawić płytki z czujnikami...

Jeszcze raz wszystkim dziękuje...

A swoją drogą mam parę pytań:

1.Jak podłączyć do tego układu wyświetlacz (może być jaki kolwiek np;LCD)

2.Jak sprawić aby mikrokontroler odczytywał zmianę położenia Potencjometru (chyba chodzi tu o coś z PWM ale ja się nie znam...)

Link do komentarza
Share on other sites

Witam wszystkich i każdego z osobna !!

Ponieważ mam małą zapaść finansową 🙂 i nie mam za bardzo kasy na mechanikę do robota postanowiłem ,że nauczę się obsługiwać wyświetlacze lcd w sklepie koło mnie zakupiłem coś takiego http://www.piekarz.pl/images/offer/e9fa13eb40.pdf no i tu pojawia się pytanie jak to podłączyć tak więc aby nie było że jestem leniwy (choć i tak jestem ) prze goooglowałem sieć i znalazłem coś takiego http://hobbyrobotyka.pl/wp-content/uploads/2010/08/14.jpg problem jest jedynie taki że nie za bardzo rozumiem tego schematu a po drugie ja swój układ mam juz zmontowany na płytce tak więc nie mogę tego wyświetlacza podłączyć pod linie SCK MISO i MOSI chyba że pod złączę do programowania ale to trochę mało praktyczne...

Stąd pytanie jak podłączyć ten wyświetlacz pod mój schemat (na górze tematu ) ?

Z góry dzięki

Link do komentarza
Share on other sites

mam juz zmontowany na płytce tak więc nie mogę tego wyświetlacza podłączyć pod linie SCK MISO i MOSI

Nie ma takiej potrzeby, schemat zrobiłem w ten sposób, żeby było więcej wolnych portów mikrokontrolera do wykorzystania na inne peryferia. Tak jak kolega wyżej napisał - każdy port I/O się nada. Tylko pamiętaj, żeby wyłączyć JTAG w Atmega 16 - o ile podłączasz LCD do tych portów (wyłącza się to fusebitami).

Link do komentarza
Share on other sites

Dzięki wszystkim za pomoc na razie się nie udało tzn.Po podłączeniu do uC na wyświetlaczu wyskakują takie czarne kwadraciki ale myślę że trzeba trochę pokąbinować i wyjdzie 🙂

Link do komentarza
Share on other sites

Czarne kwadraty w jednej linie to będzie na 99% błąd podłączenia (względem deklaracji w programie). Taki sam efekt dostaniesz po podłączeniu wyświetlacza tylko do zasilania i do niczego więcej.

Link do komentarza
Share on other sites

Ech...gimnastykuje się z tym wyświetlacze strasznie długo i dalej nic swoją drogą po podłączeniu wyświetlacza do zasilania (i tylko do zasilania ) te kwadraty się nie wyświetlają może uszkodzony ? Uhh ale kurde to chyba za wysokie progi na moje nogi chyba dam sobie z tym spokój i po prostu jak będę robić nową płytę główną to uwzględnie tam miejsce na wyświetlacz...

Link do komentarza
Share on other sites

to będzie na 99% błąd podłączenia

Albo źle ustawiony kontrast 😉

__________

Komentarz dodany przez: Treker

No to jest właśnie ten 1% 🙂

Link do komentarza
Share on other sites

I mam rozwiązanie... jest to strasznie głupie i aż wstyd się przyznać...ale nie podłączyłem masy wyświetlacza do masy mikrokontrolera 😋

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.