pixel7 ale bzdura. Jak chcesz zareagować natychmiast to właśnie w przerwaniu a tam ustawiasz czy zbocze wyzwalające ma być narastające czy opadające. No i jak to ma być przycisk to trzeba koniecznie odfiltrować drganie styków.
Witam! Można zrobić to tak jak w pliku , który załączam (uniwibrator.pdf). Działa to tak, że wykrycie narastającego zbocza sygnału wejściowego ustawia wyjście na '1' i uruchamia licznik. Licznik zlicza takty zegarowe i kiedy odliczy zadaną z góry liczbę taktów (zadany z góry czas), wyjście zmienia się na '0'. Dołączam też plik z wynikiem symulacji działania...
Prędkość wysyłu danych z kamery można regulować ustawiając rejestry kamery po i2c to leci. A po drugie ja tylko pytałem o zbocza a nie o wydajność atxmegi i kamery. Po 2 to mój problem a Pan zbyt się nim przejął. Tematu jeszcze nie zamykam.
Tak, jeśli włączysz negację (INVEN) to będzie ona dotyczyła zarówno wejścia, jak i wyjścia. Z kolei stan pinu zawsze można odwrócić programowo (tylko wyjścia) przez rejestr TGL. Sler rate limiter ma na stałe ustawione czasy, o ile mnie pamięć nie myli to jest mniej więcej 50% wydłużenie czasów narastania/opadania. Dobre dla I2C, czy innych wolnych interfejsów....
Witam. Faktycznie obsługa LCD jest bardzo prosta. 1. zainicjować LCD ( wybór trybu 4 lub 8 bit ) 2. ustawic dane na pinach D4 do D7 lub D0 do D7 3.ustawic zbocze opadajace na E Zanki wysylamy przy RS=1 Komendy wysylamy przy RS=0 W trybie 4 bitowym. Bajt wysylamy na dwa razy 1. starsza czesc bajtu i zbocze opadajace na E 2. mlodsza czesc bajtu i zbocze...
Przerzutnik D to właściwie przerzutnik RS z dodanym układem próbkującym. Zależnie od potrzeb sygnał D może być próbkowany na przednim lub tylnym zboczu sygnału C. Przykład rozwiązania (nieminimalny ale działający) Bramki U1A i U1B tworzą przerzutnik RS ustawiany albo z bramek U1C i U2A albo z wejść R i S (po inwerterach U3E i U3F odwracających stany...
Witam, napisałem program w assemblerze pod mikroprocesor 8051, który wyświetla na LCD godziny, minuty, lata, miesiące i dni. Można modyfikować te wartości za pomocą trzech klawiszy (z klawiatury * - set,0 - <,# - >). Program został skrupulatnie przetestowany na symulatorze edsim51di - program uwzględnia lata przestępne a także walidacje dni miesiąca...
Całkowicie zapomniałem o temacie :) Z problemem poradziłem sobie w następujący sposób, jest to wycinek z większego programu więc coś może być źle wycięte :) [syntax=c] //--------------------------------------... // Dołączone biblioteki //--------------------------------------...
Jeżeli chodzi o zbocze narastające: Naciśnięcie przycisku E0.0 1 cykl sterownika: -Odpytanie wejść i znacników: E0.0 = 1 M100.0 =0 M50.0 =0 A17.0 =0 zapisanie tych stanów w pamięci przed operacjami łączeń logicznych. -Łączenia logiczne, w jego wyniku: zadziałanie znacznika M100.0 =1 ustawienie M50.0 =1 A17.0 =1 -wystawienie wyjść i znaczników M100.0...
Okres fali liczymy od zbocza powiedzmy opadającego do drugiego zbocza opadajacego. Czyli gdzies po drodze musi być zbocze narastające, ( Kumasz ?) . Częstotliwość 50Hz ma okes 20ms ,czyli gdzieś między 0ms a 20ms musi nastąpić zmiana z np. 0 na 1 na porcie procesora . A ponieważ nastepuje to w połowie po 10ms , mamy falę prostokatną o wypełnieniu 50...
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. Chciałbym zmierzyć czas pomiędzy dwoma impulsami (stanami wysokimi) występującymi na pinie ICP1. Używam do tego celu timera1 oraz kodu znalezionego w internecie, zmodyfikowanego na własne potrzeby: [syntax=c]#include <avr/io.h> #include <stdio.h> #include <avr/interrupt.h> #include <util/delay.h> #include "HD44780.h" volatile...
/.../zeby licznik liczył nieprzerwanie i był resetowany, jeżeli na opadającym zboczu nCS zmienna data = '0'/.../ zapewne funkcje ktora chcesz zrealizowac, mozna napisac bardziej zgodnie z zasadami sztuki, asynchroniczne zerowania, ustawiania niosa ze soba niebezpieczenstwo blednego dzialania; nie polecalbym takiego rozwiazania, ale jak mozna to zrobic...
Jesli rozumiem chodzi o przerwanie INT aktywowane oadajacym zboczem a nie poziomem. W INT0 ustawiasz bit IT0 w rejestrze TCON na 1 jesli ma byc od zbocza a 0 jesli od niskiego poziomu. w INT1 bit IT1
jeśli czytałeś uważnie jakiegoś helpa i tam napisano, że np ATmega8 a raczej jej przerwania INT0 i INT1 nie mogą być wyzwalane zboczami to masz rację - jest to błąd ;) dokładny opis na 100% znajdziesz w nocie pdf ;) danego procka i na tym zawsze się opieraj jako najważniejszym źródle informacji. ... jak słusznie zauważyłeś ta nóżka ma dwa alternatywne...
Nie wiem jak to w bascomie nie wnikałem w kod, ale można to zrobić tak że deklarujesz aktywację przerwania jednym zboczem, a po jego wywołaniu zmieniasz tą konfigurację na drugie zbocze (zmiana w rejestrze MCUCR). Albo wywołanie przerwania ustawiasz na dowolną zmianę sygnału i w jakiejś zmiennej przechowujesz stan wcześniejszy i porównujesz
Witam Mam mikrokontroler LPC2148 na płycie zl9arm. Ustawiam Przerwanie zew. EINT0 na P0.2 reagujące na zbocze i teraz nie zależnie czy opadające czy narastające reaguje tylko na opadające czyli zwarcie do masy (nawet jak jest ustawione na narastające), i obojętnie czy jest ustawione na narastające czy opadające na pinie jest zawsze napięcie. Jak zewrę...
Ogólnie schematu nie mam bo tej gazety nie kupuje, a nawet jak bym kupował to raczej by mi się nie chciało go szukać :). Najlepiej jak byś go zamieścił. Nawet nie piszesz do którego portu jest ten przycisk podłączony. Skoro piszesz że działa wyzwalanie poziomem, to zrób softwarowe wykrywania zbocza (ustawiasz rejestr że już obsłużyłeś przycisk i w pętli...
Robisz synchroniczną detekcję zbocza i odliczanie timeoutu jakimś długim rejestrem w momencie ustawienia stanu wysokiego. Jak timeout minie - ustawiasz na zero. IIR raczej nie nie znajdzie tu zastosowania. BTW - co to za projekt docelowo ma być jeśli mogę spytać?
Witam, Czyli zacznijmy od początku. Analizując Twój program: 1. Stan początkowy programu: Wejście I4.0 = 0; M11.0 = 0 i M1.0 = 0; 2. Podajemy logiczną 1 na I4.0, za merkerem M0.2 pojawia się zbocze narastające. Setuje się merker M11.0 (bo M1.0 jest jeszcze = 0). Dolna gałąź Networku 1 jest jeszcze nie spełniona (bo M1.0 jest jeszcze = 0); 3. Przechodząc...
Układy serii HCT mają takie progi jak TTL, więc nie przełączają się przy 1.6V. Jedyne wytłumaczenie jakie widzę, to zakłócenia impulsowe na sygnale zegarowym, o na tyle krótkim czasie trwania że przy takiej podstawie czasu ich nie widać. Spróbuj ich poszukać przy znacznie szybszej podstawie czasu ustawiając wyzwalanie oscyloskopu zboczem narastającym.
SCL To jest dobrze, to są warunki załączenia silnika. Chodzi mi o samo zbocze, które nie wystawia wyjścia, że zmienił się stan z 1 na 0. Robiłem nawet pułapkę, żeby zobaczyć, czy rzeczywiście nic się nie wystawia. W bloku zbocze jest oczywiście wykryte, lecz samo wyjście nie chce się wystawić. Kod załączenia/wyłączenia silnika jest napisany dobrze,...
Witam, Tak ustawiałem przerwanie a ATmega644 [syntax=c] EIFR = (1<<INTF2); EICRA |= (1<<ISC21) | (1<<ISC20); EIMSK |= (1<<INT2) ; [/syntax] z racji że brakowało mi w procesorze USARTA zmieniłem w projekcie procesor na AVR128DA32, przerwanie ustawiam tak. [syntax=c] PORTD.DIRCLR = PIN0_bm; PORTD.PIN0CTRL = PORT_ISC_RISING_gc;...
Zaczynam przygodę z fatekiem, mam kilka pytań: 1) dlaczego net N01 nie działa? Pozostałe działają, czyli ustawiają bit na zboczu opadającym. Tak jakby dla M ten styk ze strzałką w dół nie robił, ale dla X już tak. 2) Jak będąc połączonym ze sterownikiem zmienić stan bitu lub wpisać wartość do rejestru, co kliknąć? 3) czy da się przesuwać myszką elementy...
A nadajnik przerwania w tym czasie ustawia sygnał znów na H? Czy ciągle tkwi w L? A może udaje mu się wygenerować następne przerwanie? Pozdrawiam.
Jeżeli procesor ma być głównym elementem próbkującym, to ja bym to zrobił programowo. Oczywiście za szybkie to to nie będzie. Zależy też co procesor ma po za tym robić. Będzie jakaś komunikacja z kompem pewnie. Po RSie? Można też spróbować zrobić prosty blok przełączający na szybkich diodach i rezystorach. Coś jak bramki AND, tyle że w tym przypadku...
zaprogramowałeś przycisk,którym ustawiasz jeden bit (SET) w trakcie naciskannia przycisku. Musisz jeszcze zresetować ten bit w trakcie zwolnienia tego przycisku.Potem w Programie STEP7 użyj tego bitu do stworzenia flanki.
Wykorzystaj skok warunkowy Dla doliczonego timera omijaj linie ustawiania Q0.0 pozdrowienia
Musisz próbkować stan pinu, najlepiej w przerwaniu z timera. Jeśli z 0 zmieni się na 1 to ustawiasz flagę i w głównej pętli wywołujesz funkcję;)
Generator monostabilny 555 dla kolegi rhn : Tryb monostabilny Działanie układu rozpoczyna się w momencie powstania na wejściu wyzwalającym TRIGGER napięcia niższego od 1/3 napięcia zasilania. Do tego momentu wyjście układu było w stanie niskim i tranzystor wewnętrzny zwierał kondensator C do masy. Podanie ujemnego impulsu na wejście wyzwalające powoduje...
na początku programu ustawiam bity: GICR |= 1 << INT0; MCUCR |= (1 << ISC00) | (1 << ISC01); //przerwanie zboczem narastającym aby zezwolić na obsługę przerwań (INT0 w rejestrze GICR) oraz by przerwanie wyzwoliło zbocze narastające sygnału który sie pojawi (ISC00 = 1 i ISC01 = 1 w rejestrze MCUCR). następnie w procedurze...
Jeżeli odczytasz 31 zer to po czym stwierdzisz że to jest 31 zer, a nie np 32 zera? Tzn Jeśli 31 zer trwa np Czas=400x31 to musisz miec jakiś bit 1 potem, żeby stwierdzić że sekwencja 31 zer jest zakończona. Zobacz sobie na RC5, tam są 2 bity startowe i to nie bez powodu. Użyj Timer1 w trybie 16 bitowym, ustaw preskaler żeby w przypadku bitu o długości...
Niepotrzebnie ustawiasz preskaler (PSC=1). Zmień na PSC=0. Częstotliwość licznika jest dzielona przez (PSC+1). A teraz czemu UDIS pomagał: rejestr preskalera jest buforowany*. Nowa wartość zaczyna działać po UEV (update event). Bez bitu UDIS, UEV pojawiał się po przekręceniu licznika - zaczynała działać nowa nastawa preskalera (podział przez PSC+1,...
Gratuluję! U mnie blink ma 24 KiB. Uzyskanie działającego środowiska pod Windows zajęło mi zaledwie 2 wieczory. Cmake dotychczas nie używałem, więc trochę potrwa, zanim się zorientuję, o co w tym chodzi i skąd toto bierze różne opcje. Pobieżny ogląd zdeasemblowanego kodu wskazuje na to, że ktoś niefrasobliwie zapomniał podać kompilatorowi opcji tworzenia...
Dzień dobry, Trenuję programowanie i natrafiłem na mały lecz bardzo irytujący problem. Po krótce ma działać tak: ustawiony jest Timer0 na generowanie przerwania co 1ms (kwarc 8Mhz, preskaler 64, TCNT0=131), z tym jest wszystko okej. W przerwaniu dodany jest kod który zlicza 20 tyknięć timera i ustawia flagę: FLAGA_CZAS , która ma odblokować kod znajdujący...
Hmm, nie wiem jak to dokładniej opisać. 1. Na timerze 2gim, realizuje pomiar czasu, w przerwaniach exti mierzę za pomocą tego timera czas pomiędzy zboczami narastającymi co daje mi okres pewnego sygnału: TIM1_UP_IRQHandler linijki opisane jako "PROBLEM", to dostaje realne wyniki: Nie trudno się zorientować który jest zły ;) Nie mam pojęcia dlaczego...
Hej. Od jakiegos czasu mecze sie z SPI. Napisalem program dla Mastera i dziala. Problem tkwi w Slave. Gdy puszczam symulacje w AVR Studio nie chce mi sie ustawic bitu USISIF w rejestrze USISR. Robie to tak: USISR|=(1<<USISIF); Master - Atmega8515 Slave - Attiny26 Attiny26 nie ma SlaveSelect wiec musialem je zrealizowac programowo. Zastosowalem...
porty w atmedze mam odpowiednio poustawiane ale przeciez to nie o to chodzi bo tu jest kwestia samego MT8870, przynajmniej mi sie tak wydaje. On na STD powinien wystawiac jedynke a wystawia 0.90V i atmega zbytnio na to napiecie nie reaguje. LCD przygasa przy wybieraniu nr ale nic sie nie dzieje wiecej. Dalem aby cos tam sobie wyswietlal. STD podlaczylem...
Witam wszystkich. Wtrące swoje 3 grosze do waszej dyskusji. Metoda obliczania ilości impulsów na sekundę (Hz) podawanych na świece pierwszego cylindra jest następująca: obr - ilość obrotów silnika na minutę a - co ile obrotów występuje zapłon na 1 cylinder (dla silnika 2-suwowego wartość ta wynosi 1, dla 4-suwowego wynosi 2) imp = ( obr / 60 ) / a czyli...
AVE... Spróbuj tej drugiej metody z użyciem wejścia do generowania przerwania. Tak się robi mierniki częstotliwości i LC na PICach... Ustawiając najpierw przerwanie na zbocze narastające, a po starcie timera na opadające możesz mierzyć długość impulsu. Przy szybkim zegarze nie będzie problemu z czasami...
Cześć wszystkim, napisałem sobie moduł zegara RTC w Verilogu. Proces jest synchroniczny, początek wygląda mniej więcej tak: [syntax=verilog]always (at)(posedge clk or posedge rst_i) begin if(rst_i) begin h2 <= 0; h1 <= 0; m2 <= 0; m1 <= 0; s2 <= 0; s1 <= 0; //licznik1Hz <= 0; end else if(btn_i[0]) begin m1 <= m1 + 1; end else...
Witam, mam problem ze sterowanie sygnałem PWM. Program służy do zaczytywania wartości częstotliwości z czujnika TCS3200 . W zależności od koloru jaki wykryje czujnik ma nastąpić zmiana wartości wypełnienia PWMa. W tym momencie dioda, którą mam podłączona pod wyjście OC2 cały czas świeci tak samo, niezależnie od wartości OCR2 . Próbowałem na różne sposoby...
Może powinieneś (na przykład) jednak synchronizować ten timer. Dzięki za sugestię bo nie pomyślałem o tym wcześniej, jednak i to nie pomogło. A może powinieneś (na przykład) w ISR, wyłączyć timer na czas ładowania a następnie włączyć z powrotem. To rozwiązanie pomogło, choć nie bezpośrednio. Bowiem rzeczywiście chwilowe wyłączenie timera i włączenie...
Racja racja czyli jeżeli są WSZYSTKIE wejścia w liście czułości to jest on kombinacyjny. A jak niema chociaż jednego to już nie. To chyba nie jest właściwy wniosek. Wydaje mi się, że powinno się raczej to ująć tak: 1. Proces w języku VHDL, używając poleceń sekwencyjnych, może opisywać zarówno układ kombinacyjny lub sekwencyjny. 2. Układ synchroniczny...
Bawię się ostatnio wspomnianym w tytule mikrokontrolerem i natknąłem się na problem z zewnętrznymi przerwaniami, którego nie potrafię obejść. Zaczynając od tego co działa: układ jest sprawny na pewno, jest podłączony, cały czas hula dioda sterowana przez timer z ustawionym przerwaniem na przepełnienie; podłączony jest również PICkit 3 przez icsp. Korzystam...
Ulepszaj, ulepszaj, bo zrobiłeś już sporo roboty, a nic nie stoi na przeszkodzie żeby zrobić to na prawdę dobrze. Wyłączaj PWMowi sterowanie pinem kiedy chcesz jechać na zad i po wszystkim, tylko pamiętaj żeby wyzerować pin po odłączeniu PWMa i załączenie wstecznego z delikatnym opóźnieniem. Wsteczny możesz zrobić na drugim PWMie i będziesz miał regulację...
Do: Marek81 Z pewnoscia to co napisales jest bardzo madre, ale ja nic z tego nie zrozumialem :-) ale chyba wiem o co loto wiec nie musisz sie wysilac :-) Przeczytam to pare razy i moze...moze cos zrozumiem Zmieniony Po przeczytaniu pare razy twojej wypowiedzi i noty zrozumialem o co loto i jak uzywac ale: Odnosnie timera mam jeszcze pytanie: w rejestrze...
... a no niestety ja tu ci nic nie poradzę, piszę tylko w asemblerze i jeszcze się nie spotkałem aby to nie działało... musisz poczekać aż odezwie się ktoś kto zna bascoma ;) pytałeś: EDIT: Jest jakaś różnica w działaniu Idle i Powerdown przy zastosowaniu wewnętrznego zegara zamiast kwarcu? jeśli chodzi o zastosowanie zewn kwarcu lub wewn oscylatora...
układ wygląda bardzo prosto: A oto przykładowe przebiegi: zbocze narastające niebieskiego ustawia, natomiast zbocze narastające zielonego kasuje. Chodzi mi o to żeby pozbyć się tego falowania w momencie gdy oba sygnały są na 1.
Na wyjściu TSOP1736 normalnie jest 1. Zaobserwowałem, że podczas trzymania przycisku pilot wysyła najpierw pełny kod, a potem tylko po (chyba) 3 bity oznaczające zapewne powtórzenie. Z kolei inny pilot wysyłał co chwilę to samo. Nie mierzyłem tego dokładnie, ale na pewno były więcej niż 3 transmisje na sekundę. Można więc założyć, że jeśli przycisk...
Jak już Kolega nabierze wprawy z przerwaniami i timerami to można osiągnąć zamierzony cel w następujący sposób: Dajemy sygnał (którego długość trwania chcemy mierzyć) na wejście INT0 oraz INT1 jednocześnie, przy czym pierwsze ustawiamy na zbocze rosnące a drugie na spadające, w przerwaniu INT0 startujemy timer1 a w przerwaniu INT1 zatrzymujemy go,...
Hmm,trudno odpowiedziec na to pytanie,kazdy bedzie zachwalal swoje radio wedle posiadanej wiedzy:) Przez moje rece przewienelo sie juz pare radii:) Poczawszy od Pioneerow,JVC,Kenwood,Sony,Philips. Jesli chodzi o dzwiek,jakosc i oddawana prawdziwa moc,to na pierwszym miejscu stawiam Pioneera. Sam w chwili obecnej uzywam,klasyka model DEH-P8000R. Nie...
Witam, Kompletuje pomału sprzęt, który używałbym w domu do odtwarzania muzyki w wysokiej jakości. Cały system byłby zrobiony tak: źródło dźwięku >> korekcje itp >> crossover >> 3 wzmaki stereo>> kolumny 3 drożne to tyle w wielkim skrócie... Aktualnie posiadam crossover behringera CX3400 (3-way stereo) i chciałbym dokupić do niego equalizer DEQ1024,...
Dzien dobry. Od dluzszego czasu mam do czynienia ze sterownikiem s7-400 w firmie. Jak dotad nie uzywalem bardziej skomplikowanych instrukcji w programie. Lecz teraz nadszedł czas na ich poznanie i uzycie. Instrukcja |P| wspolpracujaca z przerzutnikiem SR wedlug schematu ponizej, przy niepodlaczonych wejsciach ani do plusa ani do minusa (piny wiszace...
Istnieją dwie cyfrowe metody pomiaru częstotliwości: 1. Pomiar ilości impulsów wzorcowych w trakcie trwania okresu sygnału mierzonego. Konkretnie mierzymy imp. wzorcowe w trakcie trwania połowy okresu - zwykle, gdy jest poziom wysoki. W takiej sytuacji jeżeli zmierzysz N imp. wzorcowych w trakcie połowy okresu, to: Tx=2*N*Tw, gdzie Tx okres przebiegu...
Wcześniejszy zapis włączał transmisję synchroniczną 6 bitów i ustawiał opadające zbocze zegarowe dla transmisji synchronicznej. Masz na myśli ten zapis: UCSRC = (1<<USBS)|(3<<UCSZ0); a dokladniej: UCSRC = (3<<UCSZ0); To w takim razie, co ustawia UCSRC = (3<<UCPOL0);
Źle ....napisałem ci jak piloty ustawić.+/_ 1.5/1.6 kHz dla SSB dla dolnej i górnej wstęgi(ustawiamy na zboczu filtru elektromechanicznego)...cw 700/800Hz...przy nadawaniu (wciśnięty przycisk zew. VFO nadawanie CW 500kHz....regulujemy potencjometrami na płytce za S-trem.Częstotliwość środkowa filtru 500Khz....dolna wstęga odejmujemy ,dla górnej dodajemy...
Witam, na wstępie dodam że jestem bardzo początkujący w programowaniu. Staram się stworzyć program który by włączał i wyłączał funkcję RGB, poprzez pilot RC5. Staram się to zrobić po kolei i najpierw próbuję gasić i zapalać pilotem diodę. Problemem jest to, że program reaguje na każdy przycisk a nie na konkretny - zaprogramowany. Chce sterować klawiszem...
Cześć, chciałem przeportować kod do odbioru RC5 autorstwa Dondu za ATMega8 na ATTiny13 - REzystory diod 470Ω, nie zmieniłem na schemacie. Pilot samoróbka, ale 100% pewniak. No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13 bez błędów i ostrzeżeń. Jednak program nie działa - po wciśnięciu...
Pod jednym z ostatnich moich artykułów rozgorzała intensywna dyskusja na temat oscyloskopów cyfrowych. Pomyślałem sobie, iż niektórzy, zwłaszcza początkujący, mogą sobie nie zdawać sprawy z pewnych aspektów używania oscyloskopów i ich użytecznych oraz ograniczeń. W miarę możliwości będę przedstawiał te zagadnienia na własnych przykładach używając oscyloskopu...
Właśnie... Jest jeszcze motyw taki, że PIN, którym podłączam się do 1Wire to INT0, przerwania na oba zbocza. Zbocze opadające zeruje timerek a zbocze narastające sprawdza ile upłynęło czasu (ile trwał impuls). Jeśli czas trwania impulsu oznacza RESET PULSE od mastera, zaczyna się cała obsługa w moim SLAVE. W nocie katalogowej jest napisane, że jeśli...
Moja koncepcja: - Mikrofon. - Wzmacniacz. - Filtr antyaliasingowy w okolicy 660Hz (struna e) np. MAX29x. - ADC, próbkowanie 2kHz (więcej nie trzeba, a i liczenia mniej będzie). - Mieszacz kwadraturowy (programowy), sinus i cosinus generowane na zasadzie DDS. - Filtr dolnoprzepustowy na wyjściach I i Q mieszacza, pasmo przenoszenia małe, może z 10Hz,...
ok, rozumiem powiedźmy, proste. Skoro już was mecze, to może pobawię się nieco programowaniem w C :cry: Czyli tak. Chce skonfigurować Timer0 i Timer1, w ten sposób, że Timer0 liczy i po osiągnięciu np. 200, na wyjściu uP zmieni się stan 0 > 1 lub 1 > 0. I teraz po dojściu sygnału do Timer1, zapisuje on ilość swoich zliczeń po wykryciu zbocza....
Witam, Testujesz i ustawiasz bit ISC10 w MCUCR, ale zerujesz bit SM0 (bit nr 4 zamiast bitu nr 2). W efekcie cały czas sprawdzasz tylko narastające zbocza. Trochę przekombinowana ta procedura. Nie musisz obsługiwać wszystkich zboczy, wystarczą opadające i np. ostatnie 2 narastające. Pozdrawiam, Dr.Vee
============== Odcinek 9 ================ PROCA Niejasne poczucie zagrożenia wyrwało Khana ze snu. Nie próbował zasnąć na siłę, bo nic by to nie dało, ale skupił się na dziwnym odczuciu, które go obudziło. Zwykle potrafił określić źródło swoich przeczuć, ale tym razem było inaczej. Szukał punktu zaczepienia, czegoś, co już znał, ale nic takiego nie...
Piszesz o czterech różnych temperaturach które nie są i nie muszą być ze sobą związane lub pozwiązuje się je aby otrzymać korzyści (nieraz pozorne). Większość kotłów tradycyjnych ma najwyższą sprawność przy mocy nominalnej a nie minimalnej czyli określonej temperaturze i wydatku w komorze spalania. (to jest T1). W większości tradycyjnych kotłów wymiennik...
Witam W celu eliminacji drgań styku SW1 zastosowano na nim kondensatorek i filtr na wejściu CLK (zamiast diody D1 można zastosować Zenerka np. 4V7 w zależności od poziomu sygn. wejściowego?). Elementy które mają eliminować drgania styków wcale ich nie eliminują. Bo zastosowałeś układ różniczkujący a on przepuszcza każdy impuls na wejście CLK. Zazwyczaj...
Postanowiłem dziś zaprezentować pracę magisterską, jaką dziś obroniłem na Uniwersytecie Technologiczno-Przyrodniczym w Bydgoszczy (dawniej ATR). Jest to rozwinięcie pracy inżynierskiej, jaką prezentowałem w temacie: Jak widać urządzenie stanowi potrójną/podwójną superheterodynę. Zastosowana głowica SAT firmy Samsung nie posiada pętli PLL wewnątrz....
Nauka podstaw elektroniki cyfrowej i analogowej składa się z części ściśle teoretycznej oraz z eksperymentów prowadzonych w laboratorium wyposażonym w oscyloskopy, generatory funkcyjne czy zasilacze laboratoryjne – przy ich pomocy można badać charakterystyki podstawowych elementów elektronicznych: diod, tranzystorów, wzmacniaczy operacyjnych...
Wg. mnie jeśli ustawiasz SWSTART to nie potrzebujesz tego EXTSEL, a tak na marginesie to EXTEN odpowiada za zbocza. A teraz wiem, nie masz ustawionej flagi EOCIE w CR1 i nie generuje ci przerwania. PS. Nie musisz włączać i wyłaczać ADC wystarczy że po konwersji skasujesz flagi STRS i EOC, i przed następną konwersją robisz SWSTART.
Gitara, bas, sax, klawisz, perkusja akustyczna. ... plus wokale. Szczerze? Nie tak prosto optymalnie ustawić brzmienie, proporcje, czyli ogólnie mówiąc zmiksować, tak rozbudowany zestaw, zwłaszcza jak gra w różnych akustycznie salach. Bez pomocy z zewnątrz (Dźwiękowiec/akustyk) jest to praktycznie trudno osiągalne. Sami, idealnie się nigdy nie ukręcicie,...
Odnośnie kolegi który myśli że nie umiem czytać, otóż umiem ! Wykrzykniki odłóż na półkę i zachowaj dla siebie. Albo chcesz się czegoś dowiedzieć na forum albo jeśli sam lepiej wiesz to po co pytasz? a więc dam sobie przypuśćmy preskaler/1. Myślałem, że muszę ustawiać bity CS1...tak by ustawiać jakieś zewnętrzne zegary z jakimiś zboczami. Z tego co...
Może trzeba dać SEI przed uśpieniem procka? Przecież włącza SEI tyle że wszystko wg najgorszych praktyk programistycznch. SREG |= 0x80; --------------------------------- W nocie PDF ATtiny2313 wprawdzie napisano w uwadze, że tylko INT0 reaguje na wybudzanie poziomem, ale to słówko tylko (Only) tyczy się poziomu a nie samego przerwania. Powinno być...
Tryb 15 ma tą zaletę, że jeśli okres pracy timera trwa np 10ms, to od wystąpienia przerwania do momentu zaaplikowania nowych wartości OCR1x masz 10ms: jeśli wpiszesz szybciej, to będą one buforowane, ale zapis do właściwych rejestrów dokona się wraz z dojściem timera do TOP. Teraz wyłapując niektóre słowa klucze jak RS myślę, że zwykły tryb (mode=0)...
Schemat wygląda następująco: Przeglądnąłem instrukcję do TC72 i napisałem do do odczytu pojedyńczej temperatury. Zaraz sprawdzę czy działa tylko muszę napisać jeszcze funkcje do wyswietlacza. Mam parę wątpliwości otóż w inicjalizacji SPI ustawiam SCK i MOSI a SS i MISO jako wejścia. Następnie przed wyborem CE ustawiam SS jako wyjście, czy w taki sposób...
usterka b. częsta - zimne luty powodują grzanie końcówki kondensatora (iskrzenie w tym miejscu). Płynie tam dość duży prąd i do tego impulsowy o bardzo stromych zboczach. Potrafi nawet upalić końcówkę wewnątrz kondensatora. Jeśli tv po kilku próbach startuje można nieco podregulować zabezp. nadprądowe zasilacza - podkówka 3R13 w starszym (04) lub 3R21...
Czyli wyjścia filtrów można dołączyć bezpośrednio do wejść końcówek mocy? Co do wzmacniacza to układ będzie zabudowany w jego wnętrzu - w jednej obudowie będą 4 koncówki mocy i 4 takie filtry (2 górnoprzepustowe i 2 końcówki odpowiadać bedą za częstotliwości powyżej 100Hz a pozostałe 2 dolnoprzepustowe i 2 koncówki za częstotliwości poniżej 100Hz)....
Dwa wewnętrzne rezystory na schemacie muszą być dużo większe niż te co są w kolektorach, poza tym one ustawiają czasy trwania poszczególnych stanów przerzutnika. Jak dasz je za małe to układ będzie tak szybko migał, że oko nie będzie w stanie rozróżnić poszczególnych mignięć. Aby uzyskać poprawną symulację układu multiwibratora to musisz zrobić jedną...
Fajny projekt. Obwody wejściowe są bez opamp-ów z kilku powodów. Pierwszy, to zasilanie urządzenia napięciem niesymetrycznym, bateryjnym. Byłaby konieczność stosowania jakichś pewnie nie tanich przetwornic. Była też opcja zastosowania WO zasilanego małym niesymetrycznym napięciem ale traciłbym dużo na zakresie przetwornika, aa wzmacniacze r-t-r są nie...
Nie ma żadnych warrningów. Kod normalnie się kompiluje i delay działa poprawnie. Ciekawe, bo u mnie jest: Build started 12.11.2011 at 12:13:32 avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Proba_22.o -MF dep/Proba_22.o.d -c ../Proba_22.c In file included...
Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka z Arduino. Temat oczywiście nie zastąpi w pełni czytania noty...
Witam. Tworzę mały projekcik i natrafiłem na pewną zagwózdkę. Na początku wprowadzenie co układ ma robić i jak działać. Układ składa się z części analogowej, tzn. dwóch detektorów tonu (LM567) odpowiedzialnych za detekcję "bitów" łącza fizycznego. Chodzi o to, że rozpoznają "swoją" częstotliwość i gdy stwierdzą zgodność z obwodem czasowym, na swoim...
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, fanów wytrawiania płytek, maniaków programowania w asemblerze...
Chciałbym zapytać czemu 3 razy potwierdzamy, że będziemy wysyłać dane 8 liniami, a później dopiero 4 liniami Kawałek kodu: [syntax=c]//1 //ustaw linię EN PORT_LCD |= (1<<EN_LCD); //pakuje do portu 00110000, czyli ustawiam: //dla DB4 = 1 - transfer 8 liniami, DB3 = 0 - jedna lini wysw. DB2 = 0 - //rozmiar matrycy 5x8 PORT_LCD |= (1<<DB4_LCD)|(1<<DB5_LCD);.....
Witam, mam podlaczone dwie atmegi8. Atmegi taktowane 1 Mhz Zadanie polega na wyslylanie przez master liczby od 1 do 80 protokołem SPI, odbieranie przez slave i wyswietalnie na wyswietlaczu LCD hd44780 Myslę, ze moje podlaczenie jest dobre bo otrzymuje jakis wynik na wyswietlaczu tylko tyle że nie sa to kolejne liczby 1,2,3,4,5...,78,79,80 tylko jakies...
Witam, mam dziwny problem. Wyswietlacz HD7780 na atmega8 dziala mi bez problemu a na Atmega2560(dokladnie arduino Mega2560), jest problem z wyświetlaniem większej ilości znaków. Mianowicie: char napis Wyswietli mi prawidlowo napis "TEST", ale gdy dodam jeden znak wiecej char napis Dostane całe 5 kratek zamalowanych. Wygląda na to że nie mogę stworzyć...
[syntax=c]#define F_CPU 1000000ul #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include <avr/interrupt.h> #define RS_LCD 2 #define EN_LCD 3 #define PORT_LCD PORTF #define KONF_5 PF5 #define KONF_4 PF4 #define PRZYCISK1 (1<<PK7) #define PRZYCISK2 (1<<PK6)...
Propozycja układu bramkującego, szczegóły do dogadania. Opis: Dioda D1 z tranzystorem Q1 stanowi barierę fotoelektryczną wykrywającą przepływ cieczy. Potencjometrem R3 regulujemy czułość bariery (punkt zadziałania), do sygnalizacji służy dioda D4 (zwora J1 w pozycji 1). Dioda D4 będzie świecić gdy ciecz płynie. Bramka U1A (z układem progowym Schmitta)...
Witam. Przejrzałęm archiwum, znalazłem tam kilka ciekawych artykułów, jednakże nieznalazłem tam wszystkiego. Co więcej, ja piszę w ASM pod AVR, a dużo było w C. Ale po kolei. 1. idea pomiaru okresu impulsu. Czy dobra? Przebieg prostokątny, fazy: a. sygnał narasta i jest 1 b. sygnał opada i jest 0 c. sygnał znowu narasta - koniec okresu Musze znac czas...
Witam wszystkich, chciałbym zasięgnąć rady w sprawie transmisji sygnału w kodzie Manchester. Usiłuję napisać program dla układu z RFID i kartami typu UNIQUE. Do nawiązania transmisji używam układu EM4095, którego wyjście taktujące (RDY/CLK) podłączyłem do pinu PD5(T1), jako zewnętrzne źródło sygnału taktującego dla timera/countera1. Wyjście DMOD_OUT...
Możliwe że napisałeś program optymalnie i kompilator nie miał już co optymalizować :) . Przy -O3 sprawa jest prosta, wszystko co się dało masz inline , kod musi być większy. U mnie taki kod na przykład (używam SPL i nie za bardzo znam asembler) z LTO i z -Os wszystko jest inline a bez LTO i z -Os każda funkcja jest wywoływana. Na asemblerze za bardzo...
Dziękuję za odzew, jednak jeśli chodzi o programowanie w assemblerze, to dopiero raczkuję i nie znam tematyki "makr"...czy nie da się tego zrobić w sposób, który prezentuję? Kod: [syntax=basic4gl].include "m8def.inc" //inicjalizacja stosu ldi R16,low(RAMEND) out SPL, R16 ldi R16,high(RAMEND) out SPH, R16 //koniec inicjalizacji ldi r17, 0b11111111 //...
Zrobiłem trochę inaczej. W main ustawiam reakcję na rosnące zbocze, kiedy wystąpi przerwanie sprawdzam czy jest stan wysoki na pinie. Jeśli tak to ustawiam reakcję na opadające zbocze, w przeciwnym razie ustawiam reakcję na rosnące zbocze. Następnie odczytuje zawartość timera w chwili wystąpienia zbocza i odejmuję od niego wartość ostatniego pomiaru....
Mam problem z połączeniem funkcji chodzi o to zeby wyswietlacz był aktualizowany w pętli while(1), jednak gdy umieszczę ten fragment kodu wynik=7654; LEDDIGITS Dodano po 4 Poniżej daje oryginalne kody obrotomierz: [syntax=c]/* OBROTOMIERZ v.1 Obrotomierz przeznaczony do prostych pomiarów prędkości obrotowej. Pokazuje: - czas jednego obrotu, - liczbę...
Jest szereg powodów, dla którego I²C jest jednym z najczęściej używanych protokołów w systemach wbudowanych do komunikacji. Projektanci wolą I²C, ponieważ wymaga tylko dwóch przewodów: linii danych (SDA) i linia zegara (SCL). Linie te umożliwiają wielu urządzeniom komunikowanie się poprzez jedynie te dwie linie. Prostota I²C nie oznacza...
Witam problem jest taki że generalna zasada pomiaru takiej długości jest znana... pod INT0 podpinam sygnał... ustawiam przerwanie na narastające zbocze... odpalam timer na opadającym zboczu odczytuje zawartość timera i zależnie ile wynosi to coś tam się ustawia. Napisałem taki program w c i coś nie działa a nie mam pojęcia co;] może kwestia jest taka...
Tyle, przepraszam za wyrażenie p... (ogaduszek) o niczym !!! Po pierwsze: Kabel koncentryczny możesz obejrzeć w domu, takim kablem podłącza się antenę do telewizora, jedyna różnica jest taka, że kable używane do telewizorów mają impedancję charakterystyczną dla prądu przemiennego (taki parametr charakteryzujący kabel) równą 75Ω a kable używane...
Przerwania PCINTx wykonują się przy każdej zmianie stanu logicznego, niema możliwości konfiguracji np. tylko dla zbocz narastającego lub opadającego. Stan zbocza na poszczególnym pinie sprawdzasz w przerwaniu. Attiny13 ma 6 pinów PB.0-PB.5 (PCINT0 do PCINT5) które mogą wywołać przerwanie. I tu jest jedna myląca rzecz :) dla tych pinów jest tylko jeden...
Witam. walczę już prawie tydzień z wyświetlaczem takim jak ten :arrow: Problem jest oczywisty, otóż wyświetlacz nie reaguje. Dodam, że prawdopodobnie nie ma komunikacji, napisałem funkcję zapisu i odczytu taką jak poniżej i odczytuję pokolei zawartość rejestrów i ciąle otrzymuję 0x9300. Połączenia są dobre bo sprawdzane n-razy. Ogólnie odnoszę wrażenie,...
Witam, Ostatnio próbuję do swojej pracy magisterskiej zrobić komunikację bezprzewodową za pomocą 2 modułów nRF24L01+. Korzystam z tego kursu: Sprawdziłem działanie komunikacji uC z modułem nRF za pomocą SPI przy użyciu AVR Dragona. Działa bez problemu, wpisuje testową wartość do rejestru za pomocą funkcji WriteToNrf a następnie odczytuję wartość tego...