Wrzucam cały kod programu. Może ktoś obeznany zerknie na to i coś podpowie bo dalej nie potrafie znaleźć błędu. .INCLUDE "m8def.inc" .def temp = r16 .def zero = r20 .def czekaj = r21 .def licznik = r22 .def DATA = r24 .def ustaw = r25 .def secure = r30 .def maska = r31 .equ SLA1_W=0x92 ;adres czujnika (VCC na ADR SEL) 1001001 oraz...
Klawiatura została zalana sokiem jabłkowym. Po około dobie część ścieżek już przeżarł , kupiłem więc klej przewodzący jednak mimo nakładania oryginalnym pędzlem nawet kilku warstw jak opisano w instrukcji nie wszystkie ścieżki przewodziły, na niektórych była całkowita przerwa. Ponawiałem próby aż do wykorzystania całego słoiczka, odczekując odpowiednią...
Czy w porządku nie wiem, nie analizuje go. Martwią mnie opóźnienia, ilość pętli for. Odczyt można zrobić bez pętli w ogóle w 2 krokach a potem tylko zdekodować klawisz. A przerwanie? cóż styk drga !!. można tą linie wykorzystać, ale jej przydatność jest znikoma kosztem jednego wolnego pinu procka.
Cześć. 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 zrobić jeden raz obsługę jego funkcji i koniec mimo że user będzie trzymał cały czas wciśnięty klawisz. Może wiecie...
programowo zmieniał stan pinów wierszy z wejścia na wyjście, odpowiednio do niskiego stanu danej kolumny, żeby zewrzeć dany klawisz. Piny kolumn byłyby na stałe przypisane do pinów arduino jako wejścia. Program byłby trochę skomplikowany. Też tak myślałem pierwotnie ale teraz nie jestem w stanie zagwarantować że tak koncepcja się uda. Chodzi głównie...
http://obrazki.elektroda.pl/9745806300_1... Witam. Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować :D . Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować,...
repeat equ 8 ; bajt zmniejszany o 1 po kazdym wykryciu wcisniecia klawisza keyboard equ 9 ; bajt z kodem klawisza (255 - nie wcisnięty) faza equ 0 ; bit informujący czy klawisz jest wcisnięty; jesli nie, to faza = 0 keys_delay_1 equ 20 ; czas w 1/50s przez jaki musi byc wcisnięty klawisz aby zostal wczytany ponownie keys_delay_2 equ 3 ; czas...
jesli przerwanie zakloca ci transmisje i2c to masz cos nie tak bo to transmisja synchorniczna i nawet jesli dana przestanie się wysylac na kilka minut a potem się wznowi to bedzie ok. może przybliżę problem ponieważ wiem że coś jest nie tak :D tylko co ? 1)przerwanie timera w okreslonym interwale czasowym sprawdza stan klawiatury i jesli jakis klawisz...
Sory za wykopanie starego tematu ale również mam kilka pytań do klawiatury matrycowej. Program pisze na AT89S50 w asemblerze, klawiatura 2x3 bez urzywania przerwań. Oto mój kod: K1EQUP2.0 K2EQUP2.1 K3EQUP2.2 W1EQUP2.3 W2EQUP2.4 ORG 0000H LJMP START ORG 100H START: LCALL KLA LJMP $ KLA: ORL P2,#00011111B CLRP2.0 JNBP2.3, KL1 JNBP2.4, KL2 SETBP2.0...
Witam!! kody dźwiękowe biosu ami * 1 krótki - problem związany z odswierzaniem pamięci ram * 2 krótkie - problem podczas sprawdzania parzystoci pamięci ram * 3 krótkie - problem związany z problemem odczytu pierwszego segmentu pamięci ram (64kb) * 4 krótkie - błąd związany z zegarem systemowym * 5 krótkich - błąd procesora * 6 krótkich - problem z kontroloerem...
Komentarze są do starego projektu ale przerwanie używane do zegara generuje impuls o okresie 1s. Jeżeli klawiatura bedzie obsługiwana na przerwaniu INT0 to jej obsługa będzie działała prawidłowo (czyli wykryte będzie każde naciśnięcie a nie tak jak teraz dopiero po przytrzymaniu na 1s)?
Witam Mam problem przy zapisie do eepromu wewnętrznego ATmegi32. Problem jest w tym, że podczas zapisu do eepromu uC się "gubi" a dokładnie "gubi" się przerwanie do obsługi klawiatury PC co praktycznie uniemożliwia poprawne odczytanie wciskanych na klawiaturze klawiszy. Jest to prawdopodobnie spowodowany dość długim czasem zapisu gdyż przy zapisie 5...
1) czy jest konieczne stosowanie kondensatorów. Jeśli są potrzebne to jak podłączyć kondensatory, czy równolegle do każdego z przycisków (czyli 64 kondensatorów) czy może jest jakiś inny sposób na to. Moim zdaniem nie ma takiej potrzeby. 2) czy jest konieczne stosowanie rezystorów podciągających. czy przy porcie gdzie wystawiam czy tam gdzie odczytuje....
Cześć. Mam klawiaturę matrycową podłączona do wymienionego kontrolera. Napisałem już odczytywanie wszystkich klawiszy z tym, że dzieje się to w pętli. Chciałbym aby wciskanie klawiszy wywoływało przerwanie zewnętrzne. Moje pytanie brzmi, czy przerwania mam ustawiać na kolumny, którym ustawiam bity, czy na wiersze, które odczytuje? Bo domyślam się, że...
Różnica taka, że AVRy mają odczyt danych w innym rejestrze niż zapis. Kiedy czytasz z PORTD to odczytujesz to co wcześniej tam sam zaisałeś. Proponuje manuala i troszecczke go zwiedzić...
Witam. Mam drobny problem i nie wiem jak go ugryźć. Atmega32 kwarc 16mhz W przerwaniu odczytuję klawiaturę ps2 i w między czasie robię wyświetlanie na matrycy w Timerze z preskalerem 64. I jeszcze mam uruchomione PWM. Jesli wyświetlanie zrobie w pętli głównej i wyłaczę timer to klawiatura czyta się prawidłowo ale jeśli uruchomię timer to wówczas czyta...
0. Tak, ma szansę działać, ale to co usłyszysz nie będzie zachwycało. 1. Częstotliwość PWM będzie świetnie słychać ponieważ jest w paśmie akustycznym i ogólnie jest za niska. Proponuję ją podnieść do np. 192kHz, albo użyć DAC audio. 2. Odczyt danych z karty wymaga czasu i jeżeli masz zamiar cykać po 1 bloku, to karta też będzie cykać co np. 1ms więc...
Następny specjalista co wszędzie zaczyna naprawę od wymiany grzałki, jak już kolego to zacznij od wymiany szczotek to bardziej prawdopodobna usterka. Panie majster, żeby w tym urządzeniu szczotki się skończyły to musiałaby prać w pralni codziennie bez przerwy te cztery lata. A co jak co w grupie GIAS szczotki wytrzymują bardzo długo.. Facepalm chłopaki...
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...
Witam forum. 1. Sytuacja PCF8583 podłączony do ATMega128 za pomocą I2C, wyjście INT z PCF podłączone go wejścia PE4 (INT4) mikrokontrolera za pomocą 4k7 pull-up resistor, zwartego do zasilania. Zegar działa bez zarzutu gdy czas/data jest odczytywany za pomocą odpowiedniej procedury. 2. Wyzwanie jest następujące: problem pojawia się w momencie gdy odczyt...
Witam wszystkich, Mam problem z procesem 'przerwania systemowe', a mianowicie zużywa on ~20-50% CPU. Komputer się zawiesza, myszka łapie lagi, a klawiatura (PS/2) całkowicie przestaje działać. Próbowałem już różnych rzeczy, wyłączałem poszczególne urządzenia w menedżerze urządzeń, żeby sprawdzić, co może to powodować, jednak nic nie udało mi się wywnioskować....
Rzeczywiście, Atmega32 nie ma PCINT. Niemniej jak wspomniałem takie skanowanie lepiej jest zrealizować w oparciu o cykliczny odczyt. Wyklikałem poniższy kod ale nie gwarantuję, że jest on na 100% poprawny bo: - dawno nie pisałem w asemblerze - nie mam jak sprawdzić jego poprawności Idea jest taka, że w przerwaniu od przepełnienia T0 sprawdzamy klawiaturę...
Witam Klawiatura zbudowana jest za pomocą sześciu przycisków monostabilnych, podłączonych do portu PF0-PF5. Równolegle z każdym przyciskiem jest włączony kondensator elektrolityczny o pojemności 1µF w celu eliminacji wpływu drgań styków. Aby nie odczytywać stanu linii cały czas, zdecydowałem się na wykorzystanie przerwania zewnętrznego !INT7. Jest...
DEX - no cóż dlatego, bo taki układ już jest i nic nie da się teraz zrobić. Kolumny i wiersze są podpięte bezpośredni pod wymienione porty.. Więc bezpośrednie wykorzystanie zewnętrznego przerwania nie wchodzi w rachubę. mariuszlorenc - no wlasnie może o to mi chodzi, ale jak to się robi, bo to moje naprawdę pierwsze doświadczenie z Timerami, flagami...
http://obrazki.elektroda.pl/4169005600_1... Na początku niniejszego opisu chciałbym serdecznie podziękować użytkownikowi szymonszymon - dzięki jego nieocenionej pomocy udało się zdobyć część materiałów - bardzo przydatnych podczas procesu uruchamiania mikrokomputera COBRA 1. Projekt powstał wiele lat temu. W dobie szybkich procesorów...
Ja w każdym razie obsługuję klawiaturę w moich urządzeniach w sposób jaki opisałem. Nigdy nie miałem problemów z tą metodą odczytywania stanu klawiszy (testowałem nawet na mocno zużytych klawiaturach). Być może w aplikacjach, gdzie czas jest krytyczny, lepiej byłoby zastosować inną metodę. A jeszcze jedno pytanie do Light'a: A co z EMC? przecież w ten...
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...
Witam ponownie. Przeprowadziłem wczoraj kilka prób i doszedłem do wniosku że problem z działaniem klawiatury nie wynika z błednego oprogramowania. Co zauważyłem: w czasie gdy żaden przycisk nie jest wciśnięty napięcie pomiędzy wejściami a wyjściami jest około +5V Gdy wgram program który ma za zadanie jedynie wykryć przerwanie i wyświetlić na wyświetlaczu...
Witajcie. Robię malutkie projekty korzystając z Bascoma. Do tej pory wyłącznie na 2313 i jakoś sobie radziłem. W nowym projekcie postanowiłem zastosować Atmega8535 i od razu natrafiłem na problem. Mianowicie po włączeniu przerwań od Timer0 nic nie działa jak powinno. Pomimo tego że procedura obsługi wyświetlacza jest wołana z obsługi przerwania na wyświetlaczu...
Opis działania telefonu i zestawiania połączenia Do telefonu abonenta dopływa prąd stały o napięciu zwykle ok. 50V. Na prąd stały mogą być nałożone różne sygnały informujące abonenta o stanie połączenia oraz sygnał mowy. Do wywołania (prąd dzwonienia) wysyłany jest prąd o częstotliwości 25Hz i amplitudzie 90-150V. W podstawowym typie aparatu (bez elektroniki)...
http://obrazki.elektroda.pl/5579748400_1... Dendy Keyboard Transformer - podłącz klawiaturę i magnetofon do Pegasusa! Artykuł powstał jako opis zmagań z próbą zrobienia reprodukcji kardridża Keyboard Transformer - rosyjskiego wynalazku, który umożliwia pisanie programów w BASICU. Kardridż udostępnia gniazdo klawiatury i magnetofonu...
Chciałbym zrobić symulację naciśnięć klawiszy na klawiaturze PS/2 wykorzystując ATMega328 z rezonatorem kwarcowym 16MHz i interfejs PS/2 na USB. Posiłkowałem się tym opisem PS/2. https://www.avrfreaks.net/sites/default/... Z opisu wynika, że urządzenie PS/2 (wspomniana klawiatura) musi być w każdej chwili przygotowane do odbioru...
Witam, Krótka ściąga jak zaprogramować pilota URC7515. ETAP PIERWSZY: programujemy pilota aby kontrolować nim nasz monitor 1) naciskamy i przytrzymujemy klawisz MAGIC do czasu aż pojawi się sekwencja migania czerwonej diody: 1 błysk - przerwa 5 sek - 2 błyski 2) wprowadzamy klawiaturą kod: 1148 ( dioda mignie 2 razy ) Jeśli ten etap jest poprawnie zrobiony...
Tutaj masz przykład obsługi klawiatury na AVRku: ISR(INT0_vect) { if(k_i == 0) { dane_klawiatury = 0; // wyczyszczenie ostatniego odczytanego klawisza k_i++; } else if(k_i >= 1 && k_i <= 8) // odczytywanie bitów danych klawiatury { if(bit_is_set(PIND,PD0)) dane_klawiatury |= _BV(k_i-1);...
https://obrazki.elektroda.pl/6692889600_... Od jakiegoś czasu czułem potrzebę sterowania komputerem za pomocą niestandardowej klawiatury. W wielu przypadkach, takich, jak emulatory starych komputerów i sterowanie urządzeniami za pomocą klawiatury, można przypisać funkcję programu do klawisza na klawiaturze. Na przykład komputer ZX...
Obsługa klawki 4x4 void KBD_init(void) { KBD_DIR = 1<<KBD_col1 | 1<<KBD_col2 | 1<<KBD_col3 | 1<<KBD_col4 | ~(1<<KBD_row1 | 1<<KBD_row2 | 1<<KBD_row3 | 1<<KBD_row4); KBD_PORT = 0xFF; }; unsigned char KBD_read(void) { KBD_PORT=0xff; KBD_PORT &= ~(1<<KBD_col1);...
Witam. Zakupiłem laptopa z tematu w wersji z matrycą FHD matową (59-407442), I7, 1TB+8GB ssd, 4GB Ramu, nagrywarką i bez systemu (poza dosem). Po instalacji win 7 64bit ultimate występowały problemu jak bluescreen'y przed instalcją sterowników, a później w trakcie aktualizacji systemowych (po restarcie podczas uruchamiania samoczynne restarty). Byc...
Witam, - układ jest w permanentnym stanie reset, a więc interesuje cię, co jest na pinie 1 Jak już pisałem na początku: złącze CN180, dokąd to idzie? Nie bardzo rozumiem. Schemat połączeń umieściłem w 3cim poście. Złącze CN180 łączy się ze złączem CN001. Jak i gdzie idą sygnały z gniazda CN180 pokazuje schemat. układ jest w permanentnym przerwaniu,...
Witam Podłączyłem klawiaturę matrycową 4x4 do portu C mikrokontrolera mega32. Do portu A podłaczyłem wyświetlacz i zaprogramowałem atmege tak: Coś musiałeś zrobić źle - poprawiam
Witam po przerwie. Temat połowicznie rozwiązany, powodem tych objawów jest płytka klawiatury lokalnej BN41-01366A Naprowadziły mnie na nią dziwne zachowania leda który niczym kałasaznikow świecił seriami. Brak też reakcji na dotyk sugerował przypadkowe zwieranie poszczególnych rozkazów uniemożliwiając prawidłowy odczyt rozkazów z pilota. Brak możliwości...
Theur : jak już coś wyjaśniasz to pisz jak jest a nie jak ci się wydaje. Klawiatura niczego nie buforuje tylko wysyła informacje o wciśnięciu lub puszczeniu klawisza. Kontroler klawiatury (na płycie głównej) po przyjęciu pełnej informacji (szeregowo) generuje przerwanie INT9. Procedury BIOS'a umieszczeją zdekodowaną informację w obszarze zmiennych 40:1cH...
Myślę, że jednym z najprostszych przypadków do pokazania jak działają przerwania jest pisanie zegarka. W pętli śmiga sobie program do multipleksowania wyświetlacza, odpowiednio steruje wyjściami mikrokontrolera. Co jakiś czas wewnętrzny timer bądź sygnał zewnętrzny generuje przerwanie, które aktualizuje wyświetlane cyfry, w tym wypadku czas. Program...
Witam...Dlaczego przerwania z Timera0 generowane nie sa zgodnie z dokumentacja? chciałbym zrealizować generator sterujący pinami portu PC0-7...w taki sposób aby wartości z tabeli --- unsigned char GenTab DDRC = 0xFF; // port C jako wyjscie 11111111 CLI(); //disable all interrupts TIMSK = 0x01; //timer interrupt sources TCCR0 = 0x00; //stop OCR0...
Dobra, wracam do pracy (przerwa wakacyjna). Kurde, jak tak dalej pójdzie to zrobię tego kompa za rok. No ale różnie bywa z czasem. Wczoraj napisałem biblioteki do PCF8583 i własne funkcje dla TWI. Między przerwami w "robocie" wymieniłem LCD, teraz mam 240x128, będzie co wyświetlić :) Oczywiście LCD jest na T6963C, więc biblioteki zostają takie jakie...
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...
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...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Podaj także wymiary swojej diody zmierzone suwmiarką? Jeżeli dioda ma 4 piny to może to być dioda cyfrowa adresowalna WS2812B 5050 (wymiary 5x5mm) w odróżnieniu od tradycyjnej diody 6 pinowej WS2812 o budowie których dowiesz się trochę więcej tutaj: https://www.jarzebski.pl/arduino/kompone... Patrząc na przybliżone...
wyjaśnij o co chodzi ci z tym przerwaniem ? jesli chcesz by klawisze były sprawdzane w przerwaniu zastosuj ten schemat : #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000UL // flagi klawiszy np. key1 => PD0, .... volatile int key1=0, key2=0, key3=0, key4=0, key5=0; //przerwanie odczytuje jaki klawisz zostal wcisniety...
------------------------ Mam jeszcze takie pytanie do użytkownika janbernat bo z tego co wyczytałem w innym temacie: ... Do Kod_kl = Getatkbd() 'odczytanie danej z klawiatury If Kod_kl <> 0 Then Gosub Klawiatura Printbin 144; '144 End If Toggle Portb.2 Loop ... Więc moje pytanie jest bardzo ważne - czy ta pętla działa, czy też mogę zapomnieć...
Witam! Ostro walcze z podlaczeniem klawiatury PS/2 pod ADuC845 (rdzen 8052). Probuje wykorzystac wejscie zewnetrznego przerwania INT0 tak, by za kazdym opadajacym zboczem clock`a odczytywac stan na pinie `data` z klawiatury. Otrzymany znak mialby byc wyswietlany na 8 diodach. Zamiast znaku otrzymuje jednak totalne bzdury. Postanowilem wiec zrobic drobny...
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...
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...
Jeśli dobrze rozumiem komunikację PS/2 to na porcie B powinno być wysokie napięcie gdy kliknę jakikolwiek przycisk na klawiaturze. A tak się nie dzieje. Dlaczego? PS/2 to nazwa zarówno złącza jak i protokołu komunikacyjnego. Klawiatura jest urządzeniem, którego złącze PS/2 jest dwukierunkowe, to znaczy że z i do kontrolera klawiatury można wysyłać...
Witam Mój problem polega na tym ,że muszę połączyć dwa programy w języku ASEMBLER. Niestety z programowania jestem słaby, a z języka niskiego poziomu to już w ogóle jest masakra. Ogólnie mam za zadanie zrobić mały projekt, który polega na tym ,że trzeba zaprogramować układ ADuC842 tak ,aby wyświetlił on na wyświetlaczu wpisany tekst z klawiatury (podłączonej...
Otóż napisałem taki programik, ale po wciśnięciu dowolnego klawisza klawiatury dostaję zawsze 1 zamalowany prostokąt. Przed mainem deklaruję zmienne volatile. W mainie żądam przerwania zboczem opadającym na int0 W przerwaniach składam daną, nie zrobiłem zabezpieczenia przeciw 'fałszywemy' zboczu, ale nawet gdyby powało to powinienem odbierać różne krzaki......
Witam, Jestem w trakcie budowy komunikacji między ATmega32 a klawiatura PS/2. Wykorzystuje biblioteki zamieszczone na stronie //klawiatura.c #include <avr/io.h> //#include <avr/interrupt.h> #include <string.h> #include <inttypes.h> #include <stdlib.h> //#include <stdio> #include "hd44780.h" #include "atkeyboard.h"...
A po co te cztery zadania? jak tu widzę tylko jedno przerwanie timera PWM, ew. drugie do obsługi LCD łącznie jakieś 200 linii kodu w C, z tego ponad połowa do LCD. W sumie to może wszystkiego nie napisałam ;) ale rzeczywiście nie ma tragedii pewnie. - Task algorytmy - dane wejściowe - bieżąca wartość natężenia światła i zadana wartość natężenia światła,...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
A ja mam oto takie przerwanie: ;=======================================... ; Timer 0 interrupt ;=======================================... .org0x000B t0intv: MOV timer_xxx,TL0 ;2 execution time measurement (start) PUSHACC ;2 PUSHPSW ;2 DJNZclock_clk, noclock ;2 MOV clock_clk,#iclock_clk;2 ; hundreds of seconds INC clk_x MOV...
Woli wyjaśnienia: Klawiatura to - to klawiatura membranowe 4x4. Obsługiwana przez MCP23008 Odnośnie przytrzymania klawisza zbyt długo. - nie występuje ponieważ: 1. do zmiennej "klawisz_akywny" przypisywany jest klawisz wciśnięty, po jego zwolnieniu 2. jeśli odczytany został by (??) następny klawisz, program powinien był wykonać następny krok - to nie...
Witam. Gdzieś w tym kodzie popełniłem błąd ale pomimo kilkukrotnego sprawdzenia nadal nie potrafię odkryć czy błędnie zapisuje dane czy błędnie je odczytuje...może ktoś mógłby wskazać "usterkę" w tym programie.? [syntax=c] //======================================... int main() { DDRB=0x01; //podświetlenie LCD (reszta...
Witam. Wiem, że jest to stary temat ale nie chciałem zakładać nowego. Korzystając z dużej ilości wolnego czasu spowodowanego opatrunkiem gipsowym :) postanowiłem zająć się zrobieniem odtwarzacza z cd-romu. Poczytałem dostępne tematy na forum, artykuły z EP i EdW i stwierdziłem, że jest to idealny "czaso-pochłaniacz". Oczywiście z racji problemów z uruchomieniem...
Swoją drogą, nadal nie rozumiem, dlaczego autor tematu, dysponując tak dużym procesorem, nie napisze sobie obsługi DSów w tle, wtedy czyta się tylko rejestry w SRAM i dostaje się aktualna temperaturę, no chyba ze ma jakiś dziwny dom i w nim potrafi się zmienić w ciągu 20ms o parę stopni :D Kolego moja ATMega nie tylko czeka na odczyty z czujników temperatury...
Odświeżam temat i przedstawiam co zrobiłem . Wykrywanie stanu i wystawianie stanu logicznego nie chciało działać kiedy było zrealizowane na opóźnieniach. Do głowy wpadł mi pomysł kolegi pikczu by zrobić coś w przerwaniu TIMERA. Tak wiec odczytywanie stanu jest w podprogramie przerwania a w pętli sterowanie ledem. Do zmiennej sw zapisujemy poklei czy...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
Witam, mam bieżnię elektryczną firmy Body Sculpture BT 3150i lub BT 3150. Problem polega na tym, że gdy tylko ją uruchomię, to nie daje możliwości regulacji prędkości pracy i natychmiastowo włącza się na najszybszy tryb. A potem nie ma już możliwości nawet jej zatrzymania. Z góry dziękuję. Wstępna ocena dostępnych informacji Z przedstawionego opisu...
Witam Na początku chciałbym powiedzieć, że nie mam dużego doświadczenia z platformą. Tak naprawdę poznałem ją jakieś 2 lata temu, gdy kupiłem urządzenie działające na Arduino Nano, byłem po prostu pod wrażeniem, jak coś tak prostego może w sobie ogarnąć tak wiele. Z lutownicą jestem od dziecka czyli już jakieś 34 lata, gdyby w moich dziecięcych latach...
Manta Led95003. Coś strzeliło i telewizor nie działa. Dobrałem się do płytki zasilającej. jej model to TP.S506.PB801 Nie jestem specjalistą, udało mi się znaleźć tylko ułamany opornik (RB148) , Kupi... Bezpośrednia odpowiedź na pytanie Najprawdopodobniej rezystor RB148 spalił się wtórnie, bo tranzystor QB101 (klucz głównej przetwornicy) zwarł dren-źródło....
kod pojedynczego klawisza ma 11 bitów z tego 8 bitów danych, chciałem zapytać czy clock działa cały czas czy wypuszcza 11 impulsów przy naciśnięciu klawisz?? jeżeli działa cały czas (tak pewnie jest) to czy w tym schemacie w linku ta informacja zostanie wyświetlana, czy "przeleci" przez diody rejestry i diody, jeśli tak to jak ją zatrzymać aż do naciśnięcia...
Witam Szanownych kolegów. Nie dawno zacząłem przygode z programowaniem. Zapoznałem się z kursami na wkrętaku, oraz z kursem na Hobby Robot. Narazie wszystko opiera się na symulacji w proteusie, umiem już multipleksować cyfry na wyświetlaczu, lecz nie rozumiem funkcji bin2bcd, i nie umiem tego połączyć z następującym kodem tak, aby to jakoś działało....
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...
Najlepsze rozwiązanie 2/3 przewodowej klawiatury to dla mnie jest PCF8574P/AP lepsze nawet niż podpinanie klawiszy prosto pod piny uC. Dlaczego ? To proste - przy każdym naciśnięciu dowolnego klawisza podpiętego pod ten układ mamy od razu sygnał przerwania co z grubsza oznacza zwolnienie procesora ze sprawdzania czy został naciśnięty jakiś klawisz wystarczy...
Witam, Pojawił się ostatnio u mnie taki problem. Otóż odczytuję z przetwornika ADC ATmegi16, z kanału ADC0 wartość napięcia (od 0 do 5VDC). Wyświetlam sobie wynik konwersji na LCD i wszystko ładnie działa (liczba na LCD zmienia się w zakresie od 0 do 1023, jak kręcę potencjometrem). Chciałem sterować tym napięciem podłączonym do ADC0 obrotami silnika...
To mój drugi program ale nie robiłem jeszcze niczego na przerwaniach...każdy pisze po swojemu a nawet mając doświadczenie nawet wam trudno taki program przeanalizować....wszyscy odwołujcie się do google twierdząc że wszystkiego tam jest w bród a to nie jest tak różowo...może dla kolegi to banalne podstawy podając za przykład linki a potem te same procedury...
http://obrazki.elektroda.net/39_12775659... Projekt: Sterownik panela słonecznego. Wstępnie będzie wykorzystywał pięć modułów takich jak: a) płyta główna, b) moduł zasilacza c) szyna, d) sterownik osi X, e) sterownik osi Y, f) moduł multi który obsługuje: - wyświetlacz HD44780, - klawiatura PS/2, - czujniki słoneczne osi X, - czujniki słoneczne...
Przerwanie oparlem o wywolania DOS-owe XOR_BX,BX -> zerowanie BX XOR_CL,CL -> zerowanie CL POCZATEK: MOV_AH,08H -> ustawia ze odczyt klawiatury INT_21H -> wywolanie przerwania odczyty klawiatury MOV_CH,AL -> do CH znak ASCII klawisza nacisnietego CMP_AL,13 ->sprawdzenie czy ENTER JNE_DALEJ ->jak nie ENTER to skacz dalej CMP_CL,1...
(at)Sylwek Moze i Twoje rozwiazanie jest lepsze, ale mam juz sprawdzone odczytywanie klawiszy na przerwaniu timera ISR(TIMER2_OVF_vect) :). Najpierw musze sie uporac z ta klawiatura,a potem moze bede kombinowal z innymi formami debouncingu. Podstawowa kwestia to czy schemat jest poprawny. Czy klucze tranzystorowe sa zrobione dobrze? (at)reszta :) hmm......
popełniłem swego czasu taką obsługę Getrc5 w przerwaniu z wykorzystaniem bitu Toggle, który przydaje się do sprawdzenia czy mamy wciąż wciśnięty klawisz - wtedy zmienna Repeat = 1 a gdy tylko raz to Repeat = 0. To się czasem przydaje i fajnie można wykorzystać, oto przykładzk - hmmm może troszkę rozbudowany bo z wstawkami asemblerowymi ale można je...
OK, to urządzenie MUSI być niezawodne, wiec myślę ze najlepiej będzie jeśli jednak zrobię tą komunikację od nowa na przerwaniach. Rozgryzam powoli implementację Atmela ( http://www.atmel.com/images/doc2564.pdf ). Przykład przeanalizowałem i rozumiem jak działa. Problem pojawia się kiedy chcę odczytać od konkretnego adresu w slave, chyba trzeba by dorobić...
Ajamamototakie ;) Wrzucam cały główny program + include, bo nie chce mi się go ciąć, ot leń ze mnie i tyle ;) Przy okazji w ramach gratisu"wieczny" kalendarz na lata 2000-2255 obliczający dzień tygodnia (procedura calc_weekday ) w zdaję się mniej niż 100 cykli, a nie jakieś badziewie z AVT, które potrzebuje na to kilku sekund(!). No i jeszcze pare pierdółek...
Zrezygnowałem z "obsługi klawiatury" w przerwaniu i robię to w głównej pętli programu ale do eliminacji drgań styku korzystam jeszcze z HAL_Delay(20), to chyba tutaj jest miejsce na wykorzystanie timera?? Bo nie wiem jak inaczej można byłoby zastosować timer do obsługi odczytu klawiatury? Co do karty SD, skorzystałem z interfejsu SDIO i middleware FatFs,...
O możliwościach Agata nie będę się wypowiadał, bo niewiele o nim wiem. Może tylko tyle, co mogę wywnioskować z tego ciekawego emulatora Apple, Agat i innych klonów https://sourceforge.net/projects/agatemu... Niestety w opisie Apple II autor popełnił wiele błędów. Po części wynikają one zapewne z nieznajomości tego komputera, ale i z błędnych opisów,...
Dzięki wszystkim za opinie. Oddałem dziś projekt został oceniony na 5;] Dokonałem kilku zmian w programie więc wrzucam nową wersję: http://obrazki.elektroda.pl/8149391200_1... Jeśli już eliminujesz drgania styków programowo i w dodatku z użyciem timera, to mogłeś się pokusić o tak samo zrealizowane opóźnienia. Mnóstwo pamięci pożera...
Obsłuż ją w przerwaniu :P Znaczy podłącz linię danych klawiatury do np. INT0, i potem jak naciśniesz klawisz to zostanie wywołane przerwanie INT0. Klawiatura działa na tyle wolno że zdążysz bez problemu odczytać jaki klawisz naciśnięto.
Witam i pozdrawiam wszystkich! W ramach prac studialnych nad zajmującym niewiele miejsca "kokpitem"/panelem sterującym do symulatora lotniczego postanowiłem zbudować MJoy16-C1. Konstrukcja do najnowszych nie należy, ale chciałem w praktyce wyrobić sobie własny pogląd na temat potrzebnej funkcjonalności, zanim zacznę projektować coś innego, lub podobnego,...
Klawiatura jako taka nie ma swojego buforu. Jak tworze bufor? rezerwuje np 32 bajty pamieci (tablica 32 bakty) i tworze zmieną "licznik" W procedurze przerwania odebranie nacinietego klawisz i jego zdekodowanie wpisuje do kolejnych komorek kod klawisza. jednoczesnie zwiekszam zmienna licznik. Przy "wyciąganiu" danych z bufora odczytuje pierwszy bajt...
Dzień dobry drodzy forumowicze Od paru dni zmagam sie z pewnym problemem. Dlatego postanowiłem zasięgąć rady na forum. Zauważyłem temty które są mi bliskie, ale żaden nie opisywał dokładnej specyfikacji..... Mój schemat transmisji jest taki: Klawiatura PC (PS/2)-> Atmega8 -> nadajnik RT4-XXX (firmy Telecontrolli) -> odbiornik RR6-XXX (firmy Telecontrolli)...
Pitrala1 przede wszystkim bardzo dziękuję za wyczerpującą odpowiedź :) rozwiałeś praktycznie wszystkie moje wątpliwości :) pitrala1 napisał: grafika 7850/7870 z przyzwoitym chłodzeniem - Właśnie nad 7850 myślałem. mam rozumieć, że przy obudowie zalman 11 plus (5 wentylatorków) i "standardowym" chłodzeniu fabrycznym do karty będzie to za mało? Może mi...
Podczas odbioru danych z pinu PD2 ( funkcja zgłoszenie ) występuje błąd tylko wtedy gdy przerwanie z timera 0 jest aktywne. Gdy na czas odbioru danych zablokuję to przerwanie procesor ładnie odbiera wysyłane do niego dane. I moje pytanie brzmi: Co jest nie tak z przerwaniem? Konkretnie to, co wskazał albertb: ... jeśli masz włączone przerwanie to jego...
https://obrazki.elektroda.pl/3928983600_... Opiszę naprawę dość rzadkiej konsoli, polegającą na odtworzeniu schematu pierwowzoru, zaprojektowaniu i wykonaniu płyty głównej i dalszych krokach niezbędnych do przywrócenia jej życia i funkcjonalności, w których zastosowałem swoją nowatorską metodę. Będzie więc coś dla miłośników retro,...
https://obrazki.elektroda.pl/4868547700_... Dzisiaj zrealizuję projekt na malutkim, ośmionóżkowym mikrokontrolerze PIC w obudowie DIP8 oferującym skromne 3.5kB pamięci Flash. Co więcej, do komunikacjami z peryferiami użyję tylko dwóch pinów - całość opierać się będzie o I2C. W oparciu o nie uruchomię kontroler wyświetlacza/klawiatury oraz...
Panowie, dziękuję za ostre uwagi :). Faktycznie, biję się w piersi - zabezpieczenia przeciwzwarciowego brak. W następnej wersji muszę to naprawić. Tak, znam linie parametryczne i przyznam, że świadomie z nich zrezygnowałem. Linia parametryczna to trochę epoka kamienia łupanego moim zdaniem. W dodatku możliwy jest sabotaż. Główne nadzieje pokładam w...
Zapewne coś namieszałem bo nadal mam błędny odczyt [syntax=cpp] #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include <avr/interrupt.h> #include "HD44780.h" #include "i2c_twi.h" //********** funkcje przetwornika ADC char buffer_n[8]; volatile uint16_t pomiar[6] __attribute__((section(".noinit"))); void inline SetAdcKanal(unsigned...
Zaczynam budowę urządzenia jak w temacie. Chodzi o zastąpienie oryginalnych zegarów wyświetlaczem LCD. Dopiero zaczynam zabawę z elektroniką (to będzie mój drugi układ…) i chciałbym uzyskać jakichś cennych rad zanim wezmę do rąk lutownicę. Zasadniczo urządzenie ma składać się z 3części: - wyświetlacza - układu sterującego - klawiatury 1.Wyświetlacz...
Program bez przetwornika ADC. Program działa prawidłowo Dodano po 42 Od kiedy praca dyplomowa jest tajna? Pytam z ciekawości- kiedyś była jawna na całym etapie pisania. Dlaczego w pętli głównej blokujesz przerwania- potem wykonujesz sporo obliczeń- a potem odblokowujesz? A co będzie jak w tym czasie pojawią się dwa przerwania? Jedno pójdzie się kochać....
Jestem elektronikiem i choć od prawie roku (z przerwami ) powoli zagłębiam się w temat programowania na własne potrzeby AVR-ów nadal nie potrafię zastosować wielu pożytecznych funkcji co powoduje że napisanie programu do zarządzania i monitorowania napięć i prądów w układzie zasilacz,akumulator 12V,oświetlenie LED oraz sterowanie przez nastawny dwukanałowy...
Witam, Zmontowałem kiedyś sygnalizator jak w temacie. Działa dobrze, sygnalizuje przekroczenie górnej temperatury nastawionej, sygnalizuje spadek temperatury poniżej 0 stopni. Przydała by mi się jeszcze funkcja sygnalizacji przekroczenia dolnej nastawionej temperatury. Może ktoś podpowie co zmienić w kodzie ? KOD: [syntax=c]/*****************************...
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
Witam. Mam następujący problem z SPI (i nie tylko) Najpierw opis układu: Atmega32A master SPI Atmega8 Slave. (przerwania) Wszystko taktowane wewnętrznie na 8MHz Do atmegi8 są przyłączone 4 wyświetlacze 12 diodowe WA przez tranzystory. Katody do portów (oczywiście z R) Wyświetlanie multipleksowane. Do tego 8 przycisków - jako, że brakło portów to "klawiatura"...
klawiatura przerwa przerwa klawiatura klawiatura odczyt
domofon elfon optima kalkulator obliczać minolta błąd
sterownik zaworu proporcjonalnego sterownik zaworu mieszajacego
Brak sygnału w telewizorze Sharp po użyciu pilota Buderus GB125-22 kod H01/1011 – zbyt wysoka temperatura spalin, czyszczenie wymiennika