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
Polecam zainteresować się notą AVR415, dotyczącą budowy pilota RC5. Jest tam podany ciekawy sposób obsługi klawiatury matrycowej. Co prawda nie wszystkie avr-y posiadają tego rodzaju przerwanie (low-level albo change-level na praktycznie całym porcie) ale na przyszłość, myślę, że warto o tym wiedzieć.
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. Korzystam z MCU 8051 IDE. Mam zrobić program, który wykrywa i identyfikuje naciśnięty przycisk na klawiaturze matrycowej. Program powinien reagować na wciśnięcie przycisku - zwarcie łącznika. Klawiatura matrycowa jest podłączona do portu P1: wiersze - bity od 0 do 3 i kolumny - bity od 4 do 7. Co zrobić, żeby uzyskać przerwanie zewnętrzne podczas...
Przeniosłem z: Schematu/instrukcji...
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...
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ć...
Mam napisać program : -po naciśnięciu klawisza klawiatury matrycowej dioda będzie migała co sekunde ale mam co zrobić wykorzystując przerwania timera sory mistrzu ale sam napisałeś że chcesz taki program więc nie mniej teraz do nikogo pretensji że coś innego sobie teraz wymyśliłeś
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?
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...
Rozwiązanie na ADC nie wyklucza użycia przerwania.
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ć...
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...
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...
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.
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...
Piotrva, dzięki za pomoc, okazało się, że ścieżka była przerwana. Wszystko już jest okej. Pozdrawiam!
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...
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.
... 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...
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...
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...
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....
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ś...
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...
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...
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.
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...
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...
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...
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.
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...
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"...
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ć...
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...
Idea jest zawsze taka sama, bez wzgledu na procesor. Jezeli Verengard nie uzywa zadnego OSa to moze zrobic to na przerwaniu od timera.
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...
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.
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ś...
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...
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...
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. 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...
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...
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,...
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...
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...
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ż...
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>...
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...
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
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...
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...
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...
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...
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...
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 -...
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...
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...
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
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...
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...
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...
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...
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....
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...
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?...
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...
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...
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...
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...
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....
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...
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...
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...
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ć...
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...
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...
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()...
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......
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...
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...
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 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ę...
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......
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...
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 -...
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...
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...
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 przerwanie klawiatura
dziwny zgrzyt honda civic benzyna akumulator amperomierz impedancja
pomiar oświetlenia miejsc pracy pomiar oświetlenia miejsc pracy
Biegi terenowe nie działają w Mitsubishi Pajero II 2.5 TD Peugeot 206 Plus 1.1 - Niska temperatura silnika i włączający się wentylator