Prowadzący może też docenić Twoje eksperymenty, których efektem jest opinia o całkowitej nieprzydatności tego mechanizmu w projekcie. Możliwość podłączenia przerwania masz w zasadzie wszędzie. Sens, przynajmniej w projekcie który przedstawiłeś, niestety nigdzie wg mnie...
U mnie diody raz działały raz nie :(. Zrobiłem sobie tak :) Po obsłudze przerwania wystawiam 0 na wiersze i sobie czekam aż przyjdzie kolejne przerwanie :)
Ja do obslugi klawiatury uzywam przewaznie kodu, ktory jest w plikach w zalaczniku. W głownej peti programu musisz umiescic wywołanie Key_Service(); i zadbać o to, aby w przerwaniach od timera odpowiednie zmienne byly deinkrementowane.
Musisz wyzerować flagę, a czy zrobisz to normalnie czy przy użyciu tej bzdurnej biblioteki to już nie ma znaczenia. 4\/3!!
col<<=1 o to mu zapewne chodzi. nop wystarczy a większe opóźnienie jak już daj w innym miejscu. Ja te klawiatury obsługuje w przerwaniu, więc to inna historia
Mam problemy z klawiaturą matrycową którą właśnie robię na przerwaniach na podstawie tego schematu: http://www.btc.pl/pdf/zl3avr.pdf (Strona 2). Napisałem taki kod: [syntax=c] #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> struct keyboard { int lastKey; int isPressingNow; int numberOfKey;...
Cześć. Zrobiłem coś takiego - czyli odczyt stanu klawiatury matrycowej na przerwaniach dla ATMega128. Kod w załączniku. Nie wiem tylko jak zrobić, żeby odczytywał jedno wciśnięcie klawisza. Przy takim programie po wciścnięciu klawisza rombie wykonywanie tego przerwania jak najęty aż do puszczenia klawisza. Mnie chodzi o to, że jak wcisne klawisz ma...
Przeniosłem z: Schematu/instrukcji...
Debouncing w przerwaniu - tylko nie mów, że robisz to przez aktywne oczekiwanie wewnątrz przerwania. Jeśli tak, to zauważ, że to, że skasowałeś flagę przerwania i jesteś w przerwaniu wcale nie oznacza, że flaga nie może zostać ustawiona ponownie. Możliwy jest taki scenariusz: wciskasz przycisk, pojawia się zbocze opadające które ustawia flagę a więc...
Witam. Od jakiegoś czasu zajmuję się mikrokontrolerami, ale programuję wyłąćznie w asemblerze. Teraz muszę się przesiąść na język wyższego poziomu, ze względu na konieczność prowadzenia obliczeń. W związku z tym mam kilka pytań. Jak najefektywniej obsługiwać klawiaturę matrycową w C (cyfry + kilka klawiszy odpalających funkcje specjalne) ? Jak obsługiwać...
Rozwiązanie na ADC nie wyklucza użycia przerwania.
Czy takie rozwiązanie jak wyżej podał eleproject jest ok a jeśli nie to jak zrobić obsługę klawiatury przy użyciu przerwania?
Mam napisać programy : - dioda ma migać co sekunde po naciśnieciu klawisza z klawiatury matrycowej ; mam wykorzystać do tego przerwania timera - naciskam jakiś klawisz z klawiatury matrycowej i dsm liczy ile razy nacisnąłeś go w ciągu sekundy tzm miernik reflexu Prosze o pomoc w napisaniu
Witam! Oczywiście, można tak zrobić. Sygnał z przycisków należy wtedy zsumować za pomocą diod i dać na pin przerwania. Jeśli klawiatura będzie matrycowa, to jeżeli np multipleksowane będą kolumny, to należy załączyć zasilanie na wszystkich kolumnach i sumować sygnał z wierszy, a następnie podać go na pin przerwania. Znalazłem także jeden błąd w kodach...
Dziękuje koledze perlon i dondu za zainteresowanie, ja dopiero zaczynam zabawę z prockami Atmela i Bascomem więc wolałem zapytać. Drabinka z rezystorami fajna sprawa ale wolę proste rozwiązania. Więc skoro mogę użyć wejścia programujące to rozwiązuje mój problem, zrobię klawiaturę matrycową z wykorzystaniem przerwania.
Jeżeli zmienimy kolejność to co wtedy odczytamy skoro szyna nie będzie aktywna. Nie rozumiesz. Chodzi o to, żeby czytać stan klawiatury przed zmianą aktywnego segmentu. U Ciebie to działa tak: - zmieniasz segment - czekasz 1us na ustabilizowanie się nowego stanu - odczytujesz klawiaturę - wychodzisz z przerwania w mojej wersji to działa tak: - czytam...
Ale po co się męczyć, skoro Atmel napisał [url=http://www.atmel.com/dyn/resources/... aplikacyjną na ten temat, gdzie jest matrycowa klawiatura, działanie na przerwaniach i niski pobór prądu.
W zasadzie nie potrzebujesz JP13. To chyba taki ukłon w stronę 8051 z dwoma przerwaniami zewnętrznymi. AVRy mają przerwania PCINT na prawie wszystkich pinach i w momencie jak wciśniesz przycisk i tak możesz wywołać przerwanie. Niemniej w ogóle nie powinieneś robić tego na przerwaniach zewnętrznych (poza wyjątkową sytuacją gdy wprowadzasz uC w głębokie...
Pytałeś o wybudzanie procesora, odpowiedz masz w linku dla przykładu klawiatury matrycowej. W ogóle lepiej zastosuj power-down A wybudzić możesz tylko stanem niskim przerwania int0. A jeśli chodzi o przerwania pin change warto zapoznać sie z rejestrami z tym związanymi a wszystko stanie się jasne. Chodzi o to ze przerwania zostaje wywołane, jeśli choć...
https://circuitdigest.com/microcontrolle... Tu masz gotowca ale nie rozumiem po co ci przerwania? Chyba, że od timera, którym co jakiś czas będziesz przemiatał matrycę sprawdzając czy klawisz jest wciśnięty. Dodano po 29 https://obrazki.elektroda.pl/6053996500_... Jak ci bardzo zależy...
3) czy połączenie z linii wejściowej (do uP) diod i złączenie ich katod i podłączenie do INT0 wystarczy aby wywołać przerwanie. Czy może jest inny sposób na wywołanie przerwania wciśnięcia klawisza Pozdrawiam Propa Klawiatura z definicji nie jest szybkim urządzeniem a więc nie musie pracować na przerwaniach. A poza tym konstrukcja matrycowa za bardzo...
... Zumek thx wielkie... A co do c i bibliotek to proponuje szukac info wszędzie byle nie avr-lib :) Google bardzo pomaga... Czyli kto szuka nie błądzi.. :) A przy okazji nasze forum jest bardzo dużą bazą danych. Przy okazji dodam że poszukuje obecnie programu w ce do obsługi klawiatury matrycowej na przerwaniu. Pzerwaniu tzn mam na myśli przerwanie...
Chcesz wyzwalać przerwanie w chwili naciśnięcia klawisza ? Tak zrozumiałem, jeśli nie masz za wiele tych klawiszy w układzie np. 2 to możesz je po prostu podłączyć wprost na końcówkę odpowiedzialną za wyzwolenie przerwania INT0, INT1. Pamiętaj tylko o tym aby przełącznik spolaryzować do plusa zasilania opornikiem oraz równolegle do niego podłaczyć kondensator...
Witam, Niestety ale strasznie źle podchodzisz do tego zagadnienia bo w przerwaniu dajesz jakieś masakryczne opóźnienia i pętle, które mogą się nie skończyć nigdy. Zdecydowanie odradzam takie pomysły. Przerwania dla klawiatury matrycowej, owszem można używać ale postaraj się skorzystać z flag i te sprawdzania, które tu wykonujesz w przerwaniu przenieś...
Przy puszczeniu raczej o drgania nie musisz się martwić jedynie przy naciskaniu. Możesz np takie coś dodać: http://obrazki.elektroda.pl/6737702800_1... I wtedy masz sygnał wciśnięcia klawisza (któregokolwiek) i odpada skanowanie cały czas (wykrywasz zbocze opadające na tym pinie czekasz 20ms jeśli dalej jest 0 to sprawdzasz który klawisz...
jak już chesz koniecznie marnować wolne piny (bo może masz ich zbyt wiele) to lepiej podłącz sobie te przyciski przez 74HC30 i będziesz miał jeden wspólny sygnał dla przerwania INT jednocześnie wejścia 7430 podłącz pod jakiś port i w przerwaniu odczytasz sobie ich stan. Nie jest to najlepszy sposób bo to samo można zrobić w przerwaniach i uzyć klawiatury...
Niestety klawiatura matrycowa wymaga nieco zachodu z jej obsługą, za to wymaga mniejszej ilości pinów - coś za coś :) Nie wiem jakie dodatkowe funkcje będzie miał program, ale z reguły skanowanie klawiatury robi się w oparciu o jakiś timer, bo dodatkowo należy eliminować drgania styków. Strona ... korzystaj do woli, a w razie problemów pisz na forum...
Witam. "Przerabiając" książkę p. Tomasza Francuza "Język C dla mikrokontrolerów AVR" natknąłem się na problem obsługi klawiatury matrycowej w przerwaniach. Klawiatura ma wykorzystywać kolejne ustawianie stanu niskiego na pinach na potrzeby multipleksowania. Niestety wciskanie przycisków klawiatury nie powoduje żadnej reakcji. Co ciekawe (dla mnie) po...
Dostałem wskazówki do programu tylko nie wiem jak zastosować je w praktyce prosiłbym o pomoc o pokazanie tego w programie Napisz obsługę klawiatury matrycowej 3x4 najlepiej w przerwaniach, tak by w każdej chwili można było przerwać wyświetlanie kolejnych napojów. Możesz to też zrobić przed zmianą komunikatu przez skok do procedury obsługi klawiatury....
Proszę nie zwracać uwagi na # itp. Program wpisuję ręcznie z klawiatury DSM, co wyklucza niepoprawną składnię. W książce panów Gałka (instrukcji do DSM 51) w załączniku D 'Urządzenia wejść/wyjść DSM-51' znajduje się tabela. Są tam adresy B i Hex m.in sterownika przerwań, klawiatury matrycowej, wyświetlacza LCD, itp) Rejestr portu A układu 8255 znajduje...
seba_x , dziękuję za pomoc dostosowałem Twój przykład do Bascoma i udało się programik działa. Programik usytawiłem jako podprogram przerwania i zadziałało. Dzięki za pomoc.
Mimo wszystko sam mikrokontroler nie jest w stanie zasymulowac matrycy w taki sposob, jak to robi MT8808. Rozwazalem ta opcje i mialem klopoty, gdzie ginely mi klawisze albo wyskakiwaly po dwa razy, i czasem zacinalo sie to w calosci. MT8808 rozwiazal wszystkie te klopoty. Tak jak napisałeś, poszedłeś po najmniejszej (drogiej) linii oporu. W sofcie...
Moim zdaniem jak zrobisz prawidłowe procedury debouncingu (chociaż może nazwa nie jest idealnie trafiona), to żadne zakłucenia nie powinny tutaj przeważyć. Jeżeli np ustawisz tak timer, że przerwanie będzie sie "uruchamiało" co 10ms, następnie sprawdzasz wszystkie kolumny (czy tam wiersze). Tam gdzie wykryjesz wciśnięcie przycisku zwiększy wartość licznika...
Piotrva, dzięki za pomoc, okazało się, że ścieżka była przerwana. Wszystko już jest okej. Pozdrawiam!
gummis: kolega pisał wyraźnie o uC AVR, a nie o '51 ;-D. ale kumam czacze :) wszysko OK. mimo ze wolę C niż jezyk maszynowy z tymi wszystkim jego cyferkami :D Osobiście muszę się z Wami zgodzić że macie rację w kwestii przerwań tylko ze jest jedno ale. Chodzi o tę klawiaturę. Z portów nie da się zrobic użytku z ww. opisanych powodów. Pozostaja ekspandery...
Jeżeli stosować się do porady kolegi wyżej można by zastosować tablice tylko dwu-wymiarową.Chcąc mieć 3 poziomy wystarczy nam 3x n gdzie n będzie ilością funkcji danego poziomu a ostatni trzeci odnosnikiem do konkretnych funkcji (za pomocą właśnie wskaźnika) Przyznam że pomysł fajny i relatywnie prosty szkoda że sam tak nie robiłem w moim systemie...
Co do odmierzania czasu to możesz to zrobić na wiele sposobów. W normalnych pętlach albo klawiaturę obsługiwać w przerwaniu, wtedy opóźnienie definiuje to przerwanie i nie angażuje zbytnio procesora. A z drugiej strony to poszukaj na forum, sam tu umieszczałem program obsługi klawiatury matrycowej.
Idea jest zawsze taka sama, bez wzgledu na procesor. Jezeli Verengard nie uzywa zadnego OSa to moze zrobic to na przerwaniu od timera.
Mam takie pytania, co się dzieje kiedy przytrzymasz przycisk ? Czy będzie zmieniał stany w takt przerwań procesora czy nie ? I dlaczego kolega nie wykorzystał połączenia klawiatury matrycowej 4x3 ? Bo troszkę za dużo tych diod a mozna było prościej oraz wykorzystać przeżutniki jak wspomniał kolega wyżej.
To tzw. "iskrzenie" zwane profesjonalnie drganiami zestyków likwiduje się na drodze programowej (kolega ma zestaw rozwojowy i pewno nie będzie tam dolutowywał kondensatora). Wprowadza się tak jak moi poprzednicy pisali opóźnienie i sprawdza czy rzeczywiście przycisk został wciśnięty. Ja w przypadku większych klawiatur obsługiwanych matrycowo obsługuje...
Witam, chcę zrobić urządzenie które będzie miało niski pobór prądu bo chcę, żeby było zasilane z baterii(prócz klawiatury i karty SD chcę podłączyć jeszcze mały wyświetlacz i transmiter RF). Chciałem na razie uruchomić to na bibliotekach HAL.. Dla próby mam Nucleo z uC STM32L452RE. Zdecydowałem się na niego, bo ma port SDIO, przez który chciałem podłączyć...
a widzisz że masz tam "....." to po to by sobie dopisać resztę kodu w zależności od potrzeby a umieszczenie klawiszy może być dowolne jak masz kod dobry to może być 4x3, 2x2, 4x4 itp. Widze ".......", ale ich umiejscowienie ni jak nie pozwolą na zrealizowanie odczytu klawiatury matrycowej. ... ale musisz zmodyfikować elektronikę tak by np. wciskając...
Witaj, powiem tak, niewiele nauczysz się zlecając komuś pracę. Jeżeli urządzenie ma służyć do nauki to może spróbowałbyś je sam wykonać. Ja polecałbym Ci zacząć od prostych rzeczy, jak np wykonanie płytki(jakiś starter kit na avr'ce) lub coś prostszego znalezionego w sieci. Potem zacząć pisać proste programiki jak np migająca dioda, obsługa przycisku,...
Załączam pełny program obsługi klawiatury 4x4. Obsadź swoje procedury i będziesz miał gotowy program. Nie zapomnij pozmieniać portów dla kolumn i wierszy, wartości kwarcu, itp. W procedurze obsługi przerwania możesz dołożyć dodatkowe czynności. Wartości kodów klawiszy (obliczane z kolumny i wiersza): - 0..9 - 0..9 - A..D - 20..23 - * - 10 - # - 12
Witam, Chciałbym napisać program (w Codewarriorze) który na wyświetlaczu 2x16 na grónej linijce będzie odliczał sekundy a na dolnej wyświetlał dane zczytywane z klawiatury matrycowej. Jak to najprościej zrobić? Wydaje się że trzebaby użyć przerwań wewnątrz których byłby napisany podprogram który by co sekundę zmieniał stan sekundnika, a w głównym programie...
Witam ! Mam taki niby prosty program do obsługi klawiatury matrycowej 4x4 bez użycia przerwań. Niestety przy kompilowaniu wyskakuje mi błąd: "expected identifier or '(' before '{' token" i pokazuje na pierwszą użytą klamrę. Co jest nie tak ? #include <avr/io.h> #include <util/delay.h> #include <HD44780.h> #include <HD44780.c>...
Kolega niech raczy zauważyć że kontraktron ma coś takiego jak drżenie styków. Może być tak że przerwanie jedno twoje załaczenie potraktuje jak wiele zboczy je wzywalających i cały pomiar weźmie w łeb bo się wykona po prostu wielokrotnie. Musisz użyć więc kolejnego sprawdzania stanu styku juz po wykonaniu przerwania tak aby się upewnić ze jest to "trzymanie"...
a jeśli nie sprawdzasz klawiszy w przerwaniu tylko w pętli głównej to możesz użyć zwłoki 25 mS i ponownie sprawdzić stan jeśli zgodny to znaczy że klawisz wciśnięty
Bardzo przepraszam, z głupia frant zapytam czy podłączyłeś masę Arduino do masy radia ? Problem polega na tym że wpinając się do A0-A3 inputami Arduino mając INPUT_PULLUP i ustawione na nich przerwanie sprzętowe, nie dostaję żadnych śladów sygnału. W jaki sposób to sprawdzasz, może zamieść jeszcze program, chwilowo zapewne nieco "testowy". Ew. może...
Przy wyświetlaniu statycznym wspólne anody/katody wyświetlaczy są połączone razem, na nózki od segmentów wystawiana jest odpowiednia kombinacja osobno dla każdego wyświetlacza(niezbyt popularne). Wyświetlanie multipleksowe(dynamiczne): segmenty połączone równolegle , sterowanie polega na wystawieniu na port odpowiedniej kombinacji segmentów, włączeniu...
Twój problem niewiele ma wspólnego z mikrokontrolerami. To raczej zagadneinie z podstaw programowania i budowy algorytmów. W sieci znajdziesz zapene całe mnóstwo podobnych projektów - szukaj, czytaj i się ucz. Spróbuj też zapisać program w taki sposób, żeby był przynajmniej 10 razy krótszy. Programowanie nie polaga na szybkim rozmnażaniu prawie-nic-nie-robiących...
Witam, sam wspomniałeś, że działało przed czyszczeniem, więc spory wkład ma tu błąd użytkownika. Wszystko się zgadza, klawiatura działała także pewnym jest że wina leży po mojej stronie. Niestety nie potrafie przywołać żadnego zdarzenia które mogłoby spowodować zaistniały problem. Na pewno walczyłem z wtyczkami aby je wypiąć i wstępnie podejrzewałem...
Czyli nie ma żadnej szansy na skorzystanie z JP13 dla pełnej klawiatury? Ależ jest ;) ... po to to zostało zrobione, tyle, że obsługa tego musi wyglądać całkiem inaczej niż na razie ci się to wydaje (w porównaniu do wykorzystania pojedynczych klawiszy) Musisz poczytać o obsłudze klawiatury matrycowej, a wtedy JP13 rzeczywiście podłączysz sobie do któregoś...
Dzięki za odpowiedź Pomyśle jeszcze nad tym, chwilowo zrobiłem parę zamków mikroproscesorowych na klawiaturę matrycową, chyba macie racje, byle przerwanie wiązki i włączy się alarm, chyba, że alarm bedzie aktywowany tylko w przypadku gdy okna bede zamkniete, zniweluje to wtedy mozliwosc ze zwierzeta przerwa wiazke...tak mi sie wydaje:/ Pozdrawiam Dodano...
Witam. Szczęśliwie dla użytkowników praktycznie wszystkie wyświetlacze alfanumeryczne LCD obsługuje się tak samo. Ich chipy sterujące są zgodne z HD44780. W skrócie obsługa LCD'ka wygląda tak: - inicjalizacja (zestaw komend sterujących, ustawia się min. sposób podłączenia 4/8 bit, ilość linii itp itd.). Sprawa dosyć dobrze opisana w większości datasheet'ów...
Witam. Na początku chcę powiadomić, że jestem początkując. Zakupiłem sobie płytkę, z amtegą 8 z wyświetlaczem i trzema przekaźnikami. Na jej podstawie postanowiłem zbudować sterownik urządzenia, który załącza 2 silniki 3 fazowe po 2kW po przez stycznik. Sterownik w domu działa Ok, ale jak podłączam po zamierzone urządzenie to włanczanie silników przez...
Nie Pan, a Ty. :) Parę lat już się w to bawię :) ex-or sugerował, żeby w jakiś sposób analizować czas zmiany stanu klawisza i później logiką w sofcie to rozkminiać. Np. wciśnięcie ALT, wciśnięcie A, zwolnienie A, zwolnienie ALT daje w efekcie ALT + A, natomiast, wciśnięcie CTRL, wciśnięcie ALT, wciśnięcie B, może nie dać sekwencji CTRL + ALT + B, ponieważ...
No to może zastanów się (skoro już i tak chcesz zdecydować się na jakiś zewnętrzny scalak) np na Expander 16bitowy I2C PCF8575 Nie dość, że w procku zużyjesz TYLKO 2 !!! piny na magistralę I2C to jeszcze będziesz miał do dyspozycji 16 pinów. Możesz sobie 8 z nich ustawić jako wejścia i podłączyć do nich swoje słicze. Natomiast kolejne 8 bitów ustawiasz...
Robię urządzenie , które ma być pewnego rodzaju nagrywarką sygnału DMX. Sygnał DMX to specyficzna wersja transmisji szeregowej . Muszę odczytać 128 słów 8 bitowych i zapisać je w pamięci zewnętrznej. Na każdą sekwencję zakładam 8 kroków. Te słowa są wysyłane cały czas. Jeden taki ciąg znaków określa konkretną scenę. Chcę zapisywać po kolei takie sceny...
Też obstawiam za krótkie opóżnienia, ew. ustawianie wartości IO i natychmiastowe odczytanie - AVR muszą mieć NOPa, żeby zsynchronizować latcha na pinie pracującym jako wejście. BTW, jak koledzy napisali pomysł z matrycą w tym przypadku jakoś marnie wyszedł :) To można zrobić na jednym pinie ADC - przyciski zwierają rezystory na drabince R2R robiącej...
No tak, wyświetlacz jak najbardziej jest w przerwaniach. A możesz rozwinąć dokładniej co masz na myśli obsługi klawiatury od timera... Bo wiem mniej więcej jak to się robi w przypadku "normalnej" klawiatury, nie wiem jak tego użyć do klawiatury matrycowej. Klawiatura jest w zestawie uruchomieniowym [url=http://www.btc.pl/pdf/zl3avr.pdf]ZL...
a tu się mylisz i to bardzo klawiatura tam napewno działa a jak to już piszę wykonując skanowanie klawiatury cztery porty sa wejsciami a na 1 z 4 nastepnych wystawiasz 0 logiczne i czytasz jesli odczytana liczba jest taka jak wyslana to nic nie przyciśnięto jak mniejsza to nacisnieto 1 z klawiszy 1 rzędu następnie wszystkie porty do + poza 2 linią i...
BlueDarco, no fajnie, każesz gościowi pobierać prąd ze źródła napięciowego zaznaczając tylko jeśli rezystory nie są za małe Skoro to ma być klawiatura rezystancyjna to robisz tak: 1. Konfigurujesz źródło napięcia odniesienia na napięcie zasilania procesora. 2. Górny koniec drabinki podpinasz pod to samo napięcie, którym zasilany jest procesor. Masz...
Sprawdzenie czy klawisz wciśnięty jest długo czy krótko jest bardzo proste do wykrycia jeśli czytasz dane z klawiatury używając przerwań. Zawsze po wciśnięciu klawisza zapisujesz sobie nr ostatnio wciśniętego klawisza. Jeśli przyjdzie przerwania a żaden klawisz nie jest wciśnięty to ustawiasz tą wartość na 0. W obsłudze klawiatury sprawdzasz czy aktualnie...
W c ten program gdzies w internecie widziałem.. Bedzie wymagał być moze małego dostosowania. Mam go ale niestety w asm pod atmege 16. ; Programowalny pilot RC5, obsługa interfejsów optycznych i pamięci EEPROM ; Rafał Baranowski (C) 2004 .INCLUDE "m16def.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 1000000; częstotliwość pracy w Hz .EQU...
Napisałem się, napisałem... a tu wylogowało i przepadło a wstecz w przeglądarce nie przywróciło :( ale postaram się odtworzyć. W wyżej zaproponowanym sposobie musisz mieć przycisk podpięty pod zewnętrzne przerwanie. Ja zrobiłbym to inaczej. Obsługę przycisku zrobiłbym w przerwaniu timera. Przerwanie wywoływał co kilka milisekund. W przerwaniu najpierw...
while (1) { IOSET0 = 0x00004000; //ustawienie jedynki na pierwszej linii klawisz= IOPIN0; //odczytanie stanu portu switch (klawisz &= 0x001e0000) //sprawdzenie na którym pinie jest stan wysoki { case 0x00020000: {LCDText("1");bre... case 0x00040000: {LCDText("4");bre...
Witam. Wiem, że temat był wielokrotnie wałkowany na forum, ale mimo przebrnięcia przez sporą ilość informacji jakoś nadal mam problem z poradzeniem sobie z moim przypadkiem. Buduję 'klawiaturę matrycową' ale nie na przyciskach, ale na przełącznikach, zatem program sterujący nie będzie miał rozpoznać naciśnięcia przełącznika, a stan wszystkich linii......
Diody wymienię, przemiatam co 1/10 sekundy w przerwaniu takim kodem: ;kwarc 12MHz MOVP2,#11111110b nop MOVA,P2 nop JBACC.3,spr_kol1w2 Czy jest ono za szybkie do takich ilości (1-50m) kabla? - identyczny sposób jest dla klawiatury i dla PIRów Pozdrawiam
Jeśli działasz dalej na moim kodzie więc wywołujesz tą funkcję okresowo w przerwaniu timera i 1 wywołanie funkcji nie daje ci objawów. Gdyby nie to co należy sprawdzić możesz zainicjować port klawiatury dając jedno zero na jedną z kolumn a reszta ustawić na wejście i podciąganie. Zauważ, że w moim kodzie ustawienia PORT i DDR nie zależą od wartości...
Każda aplikacja osadzona na ogół zawiera w sobie zestaw funkcji. I nawet najprostsza, na przykład do regulowania temperatury, obejmuje szereg zadań, takich jak odczytywanie danych wejściowych od użytkownika lub z czujnika temperatury/wejścia ADC, wyświetlanie zasobów na wyświetlaczu LCD i sterowanie wyjściem zarządzającym pracą wentylatora/grzałki itp....
Polecenia Wait, Waitms i Waitus nie wstrzymują procesora. "A kto tak mówi?" Na pewno nie cytat który zamieściłem. Chodziło mi o to: Wyczytałem gdzieś że polecenie "wait" wstrzymuje cały procesor , w tym czasie nie wykonują się żadne funkcje. Czy podczas wykonuwania polecenia "wait" timer zlicza, i przerwania są normalnie wykonywane? Czyli definitywnie...
No choćby długość ? Niedawno robiłem klawiaturę matrycową i tak się składa że będąc ograniczony ilością portów musiałem na jednym porcie wsadzić klawiaturę, zespół diod LED, i jeszcze w dodatku wyświetlacz LED-siedmiosegmentowy x 4 cyfry. Użyłem między innymi 74HC123 do generowania przerwania klawiatury i zależało mi na jego pracy w trybie podtrzymywania....
Pomysł i projekt tego oto prostego zestawu z procesorem 8051 powstał podczas fascynujących zajęć na uczelni. Podczas ćwiczeń na legendarnym zestawie DSM-51 nie nadążałem za tym asemblerem. W tamtych czasach zajmowałem się jedynie AVRami. Jako, że nauka lepiej mi szła w domowym zaciszu zacząłem szukać jakiegoś fajnego i łatwo programowalnego mikrokontrolera...
Problem typowy dla układów zasilanych bateryjnie - może ktos przerabiał lub spotkał sie z problemem (oraz jego rozwiązaniem). Opis sytuacji: Układ elektroniczny (mikrokontroler np AtMega8 lub 89c2051 + klawiatura matrycowa 16 klawiszy - 4x4 i niewiele ponad to) Rozwiązanie 1: zasilanie takiego układu cały czas w oczekiwaniu na nacisnięcie klawisza -...
Witajcie moi drodzy. Udało mi się obsłużyć (częściowo) klawiaturę matrycowa. Proszę o sprawdzenie kodu (kod bazuje na przykładzie dondu bo przez rs232 wysyłam to co kliknięto) http://obrazki.elektroda.pl/2692005700_1... 1. Co można ulepszyć/usprawnić? 2. Czy idea (oraz tryby pracy portów) są poprawne? 3. Czy wartość rezystora jest odpowiednia?...
Nie masz co liczyć że na przyciskach masz jakieś określone stany logiczne. Niestety ale nie masz oscyloskopu to nie sprawdzisz... Eee... tam.Wystarczy kilka "doświadczeń" z liniami klawiatury podpiętymi do 2 portów AVR-ka.Jeśli by zastosować AVR-ka , który potrafi wygenerować przerwanie przy zmianie stanu na dowolnym pinie portu(np.ATTiny2313) , to...
Bez problemu mozna zrobic obsluge klawiatury matrycowej, LCD, RS, ADC na jednym timerze + petla glowna a efekt sekwencyjnego wywolywania kodu jest i tak niewidoczny dla uzytkownika. Jak chcesz migac 3 diodami, np. 1 co sekunde, 2 co dwie sekundy, 3 co trzy sekundy to bez problemu zrobisz to na timerze wywolywanym co sekunde. A i tak jest to przerost...
według mnie 'Config ..' to jest polecenie dla kompilatora tak jak w asmie .equ albo coś w tym stylu... ciężko dla jednej procedury ustalić 2-ie różne metody działania... raz na porcie tym a raz na tym... żeby to szło adresować porty za pomocą rejestrów :( idzie tylko za pomocą stałej (przezco wielokrotne config niedziała) albo za pomocą wskaźników X,Y...
Witam. Nie mogę sobie poradziź z wprowadzaniem liczb dwucyfrowych z klawiatury matrycowej. Moja klawiatura jest obsługiwana z wykorzystaniem przerwania od Timera0. Jeśli możecie to prosze o pomoc i propozycje rozwiązania tego problemu. Poniżej zamieszczam część mojego kodu programu ....... [wyciety fragment] ....... Do 'pętla nieskończona DO...
Witam. Generalnie proszę o weryfikację załączonego schematu. Całość ma pracować jako regulator MPPT do instalacji PV a-Si o napięciu pracy w okolicach 236VC i mocy około 1,4kW. Założenia: - Programowalne napięcie wyjściowe w zakresie 12V-MPP instalacji PV (~236V) - Pilnowanie MPP po stronie pierwotnej, a raczej niedopuszczenie do jego przekroczenia...
Witam, dziękuje za szybką odpowiedź. Udało mi się naskrobać coś takiego: [syntax=asm]TIM0 EQU 00000001B ;gotowy zapis bitowy do ustawienia trybu timera TH0_START EQU 3CH TL0_START EQU 0B0H WRITE_DATA EQU 8102H WRITE_HEX EQU 8104H LCD_CLR EQU 810CH LJMP START ORG 0BH ;obsluga przerwania (dla timera0), podczas gdy timer sie przepelni TF0=1 i ten kod jest...
Jesli wyswietlane dane zmieniają się wolno albo czas ich odswieżania nie jest istotny to masz dowolnosc w wyborze, kiedy jednak nie masz wolnych portów, dane musza być szybko zobrazowane albo obsługa następuje w przerwaniach to niestety wybór masz znacznie ograniczony. Niedawno miałem własnie tego typu dylemat i udało mi się to całkiem znośnie rozwiązać...
Witam Wszystkich Posiadam podłączoną pod przerwania zewnętrzne INT0 klawiaturkę matrycową 4x4. Całość zrealizowana jest za pomocą diod BAT43, które podłączone są pomiędzy wiersze, a INT0. Od strony INT0 podpięte do +5V, a wiersze są jeszcze podwieszone na rezystorach 3k. Przerwanie ma reagować na opadające zbocze. W nocie katalogowej wyczytałem, że...
Po pierwsze wszystkie biblioteki Arduino mają otwarty kod i można je przeanalizować, samo to ma wartość dydaktyczną. Po drugie platforma sprzętowa Arduino w żaden sposób nie narzuca swojego IDE. Nawet w oryginalnym środowisku Arduino, można a czasem nawet warto operować na rejestrach bezpośrednio. Łatwo na niej pokazać jakieś podstawowe koncepcje -...
Zauważ, że tylko jeden pin jest zablokowany (zarezerwowany) dla klawiatury (ewentualnie dla LCD jako Enable); reszta pinów może być dalej używana do podłączeń dalszych użądzeń. Nikt też nie zauważył, że wykożystując klawiaturę matrycową na trzech liniach procesora, można podłączyć 9 przycisków! Ale używając połączeń matrycowycy nie można zabardzo podłączać...
http://obrazki.elektroda.pl/1998348900_1... Witam, chciałbym wszystkim przedstawić projekt sterownika matrycowego wyświetlacza LED. Na początek proszę tylko o nie ocenianie wykonania płytki (na płytce uniwersalnej/pająk) bo jestem świadomy jak ona wygląda i jak ją wykonałem. Historia Pomysł projektu narodził się, gdy jakieś pół roku...
Swoją drogą do czego one służą. Fajnie, że pytasz :) Te 2 linijki służą do wyłączenia interfejsu JTAG z poziomu programu. Dlatego są 2 razy, bo aby wyłączyć interfejs JTAG należy 2 krotnie zapisać wartość 1 do bitu JTD w rejestrze MCUCSR w przeciągu 4 cykli zegara (po szczegóły odsyłam do dokumentacji). Gdybyś używał w programie przerwań to przed tymi...
W helpie bascoma nie znalazłem konkretnej odpowiedzi na moje pytanie. Odnośnie wait pisze tam tylko "Instrukcja wstrzymuje działanie programu na podaną ilość sekund. Odmierzany czas jest wartością przybliżoną, więc nie należy stosować tej instrukcji do dokładnego odmierzania czasu. Używanie przerwań, może znacznie wydłużyć działanie instrukcji ."Osobiście...
Bry, Mam do przerobienia zadanie z Assemblera obsługujące przerwanie T0 na C (Eclipse, SDCC). Niemniej jednak na zajęciach korzystamy formalnie z książki P. i P. Gałka (pracujemy też na DSM-51). Stąd moje dwa problemy (jeżeli temat umieściłem w nie najlepszym dziale, proszę o przeniesienie): 1. Znalazłem składnię tego typu: void t0_isr (void)...
Witam, Korzystam z klawiatury matrycowej (membranowej) 4x4. Niestety nie mogę zamieścić linku, ale łatwo ją znaleźć, np. na botlandzie pod hasłem klawiatura numeryczna membranowa - 16 klawiszy. Postanowiłem, że napiszę prosty kod do obsługi tej klawiatury, jednak po drodze napotkałem na błąd. Zakomentowana instrukcja switch(PINB) w funkcji pobierz_klawisz()...
Musisz podać więcej szczegółów: - jaki procesor, - jaki wyświetlacz, - jak podłączony wyświetlacz, - jak podłączona klawiatura, - ... Najlepiej bedzie jak załączysz schemat Poniżej masz przykład obsługi klawiatury matrycowej 4x4 z książki "Mikrokontrolery AVR w praktyce" /***************************************... /* Ćwiczenie...
Spalić kontroler? Hmm... No tak, to przecież możliwe;). Ale - ja przypominam, że jesteśmy na elektroda-peel, więc zdawkowe: "nie zadziała" mnie nie satysfakcjonuje. Skoro klawiatura działa i podaje sygnał do laptopa, a jedynie ten sygnał jest błędnie interpretowany to są dwie możliwości: 1) Albo w jakiś sposób "poprzekładać" ślady z wiązki podającej......
Witam Niedawno zacząłem zabawę z atmegą32 i zestawem zl3avr. Mam pytanie co do aspektu elektronicznego użytego w układze zestawu ewaluacyjnego. Problem dotyczy klawiatury matrycowej. Jej obsługa programowa nie stwarza mi żadnych problemów, ale pytanie mam z natury elektroniki. Ale do rzeczy: w zestawie ewaluacyjnym użyto w w 4 liniach wierszowych 4...
to ma działać z Rpi czy bez? najprościej dla takiej liczby IO w jednej rozdzielni zrobić moduły przekaźnikowe na rs485. Rok temu wykonałem taka płytkę która z jednej strony pasuje do popularnej obudowy na szynę DIN a z drugiej posiada 12 przekaźników i złącze pod arduino nano + rs485. Takie płytki można zestawiać i w zasadzie otrzymać dowolną liczbę...
Troszkę masz to rozbudowane. Ja posiadam identyczną klawiaturę do twojej. Ja nie sprawdzam naciśnięcia klawisza na przerwaniach tylko w pętli. Ja rozwiązałem to tak. Przy takim rozwiązaniu nie ma powtarzania klawisza przy ciągłym wciśnięciu ale można to skonfigurować przez polecenie Debounce Doda że ten kod działa w moim sterowniku i nie miałem z nim...
Witam. Zbudowałem sobie klawiaturę matrycową 4x4 do mikrokontrolera Atmega 128. Klawiatura jest podłączona do 8 wyjść portu D. Obsługę klawiatury chce realizować poprzez przerwania wykorzystując przerwania zewnętrzne INT0...INT3 Poniżej przedstawiam kody: DEFINICJE: #define KLAD DDRD // PORT LINII STERUJACYCH #define KLAP PORTD //#define WE1 0 // LINIA...
Witam Was mam taki problem i za bardzo nie mogę sobie poradzić. Chciałem przerzucić kod z atmegi8 na atmege32, który to obsługuje klawiaturę matrycową. Wcześniej kod pracował mi na jednym porcie, teraz jest na dwóch po kawałku. Na razie wyświetla liczbę 11 i nie reaguje. W kodzie dałem stosowne komentarze. Może jest tu jakiś prosty błąd ale nie mogę...
Dzięki za podpowiedz Dr.Vee Twoja sugestia okazała sie bardzo przydatna. Teraz tylko musze wykombinować jak aby rozrzeszyć to na pełną klawiaturę matrycową(4x4). Żeby uzyskać płynną zmianę prędkości będziesz musiał do generacji impulsów użyć układu timera. Zmieniając czas pomiędzy wystąpieniami przerwania od timera zmienisz prędkość obrotową silnika....
Zgodnie z zaleceniami prowadzącego: 1) rozszerzyłem porty we/wy za pomocą dekodera i bramek dwukierunkowych 2) podłączyłem pod "nowe" porty 2 pozycje wyświetlacza 7-segmentowego 3) podpiąłem czujnik temperatury LM35 oraz przetwornik ADC0804 4) podłączyłem klawiaturę matrycową 3x4 Ostatnio się okazało, że każdy z nas musi w swoim projekcie dołączyć jeszcze...
klawiatura matrycowa atmega klawiatura matrycowa klawiatura matrycowa przerwanie
kosiarka spalinowa nierówno hamulce polonez połączenie szeregowy grzałka
samsung rsh5zlbg udostępnianie internetu przez telefon
Dell, HP, MacBook Pro laptop screen patches: LCD, back-light, Mura, pixel defects, repair costs Midland GXT 1000 – czy możliwe jest przestrojenie z 462 MHz (GMRS/FRS) na 446 MHz (PMR446)?