Chodzi o uklad zerowania mikrokontrolera w momencie wlaczenia zasilania. BF
Pierwszy i bardzo poważny problem zauważyłem w funkcji TIMER1_COMPA, jest nim linijka rjmp uspij. Gdy się wykona, to przerwania pozostaną zablokowane, oraz kilka bajtów na stosie zostanie uwięzionych - głównie adres powrotu z przerwania. Można temu zaradzić poprzez wstawienie pop + pop + sei przed rjmp. Drugi problem, to karygodna pętla główna - dławienie...
W mikrokontrolerach C51 firmy Silicon Laboratories w jednym z rejestrów (RSTSRC) jest bit (SWRSF), którego ustawienie uruchamia proces zerowania mikrokontrolera.
jeśli chodzi o zerowanie mikrokontrolera przez komputer, to przewiduję taką możliwość. Jeszcze nie zdecydowałem w jaki sposób będzie się to odbywać. Dodatkowo mikrokontroler jest podłączony do "voltage supervisor" pod postacią tl7705, co również zabezpiecza układ przed zawieszeniem
Tdv Oświeć mnie i powaj moją teorie, bo mowa to jest jałowa Służę uprzejmie: ....sprawdzaj w procedurze obsługi Watchdoga... Co to jest procedura obsługi Watchdoga i co w niej można sprawdzić? Watchdog (co już zresztą zostało wyżej napisane) to zwykły licznik i jedyna operacja jaką można na nim wykonać to skasowanie tego licznika. Nie skasowanie go...
eloelo^^ sprawa wyglada tak mam zadany w szkole referat na temat mikrokontrolera AVR konkretnie chcodzi tu o "Zerowania i Przerwania mikrokontrolera AVR" jako lekture nauczyciel zaproponowal książke Jaroslawa Dolinskiego "Mikrokontrolery AVR w praktyce" niestety niegdzie nie moge wypożyczyc tej książki i jestem w malym dolku myslalem o kupnie nowej...
Żeby skasować flagę przerwania w rejestrze, musisz zapisać " 1 ". Znajdziesz to w dokumentacji mikrokontrolera. Cytat z polskiego tłumaczenia: Flaga jest zerowana po wykonaniu procedury obsługi przerwania. Lub może zostać wyczyszczona poprzez wpisanie logicznej jedynki do niej.
przycisk reset zeruje mikrokontroler, pozostałe przyciski obsługują wyświetlanie/ustawianie zegara. Do normalnej obsługi wystarczą przyciski SET i UP
Witam Chciałbym przedstawić moją pierwszą konstrukcję – zestaw uruchomieniowy oparty o mikrokontroler Atmega16/32 firmy Atmel. Zestaw ten jest na tyle uniwersalny, że stanowi doskonałą bazę do budowania własnych projektów. Zestaw uruchomieniowy składa się z następujących bloków funkcjonalnych: zasilanie – składa się ze scalonego stabilizatora...
Reset procesora może się odbywać w dwóch sytuacjach: 1. napięcia są ustabilizowane, procesor i jego generator pracuje stabilnie, teraz czas trwania resetu musi wynosić minimum dwa cykle rozkazowe czyli 24 oscylacje kwarcu, przy kwarcu np 12Mhz są to dwie mikrosekundy. 2. zostaje dostarczone napięcie do całego układu. Teraz stabilizator +5V w zalezności...
Tak , teraz już wiem ,że nie wolno klikać podejżanych przycisków. Szukałem w googlach lecz nic nie znalazłem. Ale w książce "Programowanie mikrokontrolerów w języku Bascom" Marcina Wiązani napisane jest ,że ten przycisk zeruje mikrokontroler (sprzętowy reset). Nadal nie wiem co z tym zrobić. Chyba jedynym jednak nie najprostszym rozwiązaniem będzie...
I dlaczego trzeba ustawiać ten bit na 1, a nie na 0? Musiałbyś zerknąć na wewnętrzną budowę rejestru. To jest zapewne realizowane jako przerzutnik, a doprowadzenie "1" je zeruje. Ponadto to jest wygodne, masz rejestr, któy zawiera kilka flag, zerujesz tylko te dla których na odpowiednich pozycjach zapisywanego bajtu są "1", zera są ignorowane. Dzięki...
a czy pamięć może się rozrosnąć magicznie? Masz to narysowane w DS Poniekąd może. W klasycznych AVR bootloader jest wykrojony z FLASH dla programu, ale w XMEGA jest to dodatkowy obszar FLASH, poza FLASH dla programu. Załóżmy, że piszę w języku C w Atmel Studio, chcę napisać program bootloadera i główny. Muszę tworzyć dwa osobne projekty i generować...
Ostatni raz powtarzam: #define STEP_OFFTCCR1B &= ~(_BV(CS10)) | ~(_BV(CS11)); <--- to jest źle, bardzo źle i niczego nie zeruje Zamień na to: #define STEP_OFF TCCR1B &= ~(_BV(CS10) | _BV(CS11)); <--- to będzie działać, to zeruje bity. Na więcej postów nie odpowiadam bo czuję tutaj stratę czasu.
Po resecie procka i tak jest wybrany bank 0 Zgadza się. I jeśli zerowanie ma się odbyć po resecie to nie ma problemu. Ale autor tematu nie wspominał, w jakich okolicznościach ma się odbywać zerowanie. Zatem pewności, że wybrany jest bank 0 nie ma, i proponując rozwiązanie należałoby ten fakt uwzględnić. pozdrawiam Jacek
Poćwicz sobie poszczególne operacje bitowe w kursie C wraz z kompilatorem online Cmaniak: http://mikrokontrolery.blogspot.com/2011... Możesz tam ćwiczyć także symulując Atmega8 (patrz przykład w zakładce Przykłady CManiaka). Dodatkowo: http://mikrokontrolery.blogspot.com/2011...
Jeśli moduł rf jest zintegrowany z mikrokontrolerem to korzysta on z wewnętrznej magistrali danych skraca to czas aktywności mikrokontrolera do minimum . Każdy inny moduł transceivera będzie wymagał wysłania do niego danych np. po spi to zajmuje czas bo raz że trzeba wysłać dane do modułu spi , napędzić zegar i je wysłać , w przypadku gdy masz zintegrowany...
Witaj, Część odpowiedzi znajdziesz tutaj: http://mikrokontrolery.blogspot.com/2011...
Zrób odbiór na przerwaniu, a w pętli głównej tylko sprawdzaj jakąś zmienną, ustawianą w przerwaniu, czy coś przyszło, jeśli nie, to goń procka do innej roboty... ;) Acha, jak już wszystko będzie odczytane to tą zmienną sobie zerujesz... Ogólnie to można zrobić bufor, a ta zmienna będzie licznikiem nieprzetworzonych bajtów.
Pachnie to usterka mikrokontrolera albo procesora synchro (zerowanie od zasilania dziala swietnie!!!) Jest jeszcze taka stara i dobra rada -Jak nie wiesz od czego zaczac zacznij od zasilania-najprzedziwniejsze objawy sie zdarzaja z powodu elka , ktory ma 50% pojemnosci
petla ktora stosujesz na koncu jest niepoprawna - w 1 odczycie zapiszesz pozycje 0 i 1, w drugim odczycie zapiszesz pozycje (PONOWNIE) 1 i 2, itd. musisz albo inkrementowac zmienna o 2 (n+=2), albo inaczej rozwiazac tablice. niemniej jednak to taka uwaga ogolna, bo nie sadze, aby na tym polegal problem. no chyba ze jeszcze przy okazji nie zerujesz tej...
WDT w programie jest włączony i działa bardzo dobrze, ale do znalezienia usterki trzeba było go wyłączyć. Program jest napisany w Bascomie. Pętla, o której mowa, jest w bibliotece obsługującej wyświetlacz. Nie ja pisałem tę bibliotekę, ja nie znam assemblera. Mi wystarczy dołożenie licznika obrotów tej pętli i wyjście po jego przekroczeniu. Transmisja...
Pytanie do Andrzej__S lepiej, zmienić wywołanie przerwania na stan niski, czy zostawić zbocze opadające ? Kolega snaap skorzystał z wyzwalania stanem niskim ze względu na to, że miał potrzebę wybudzania mikrokontrolera ze stanu uśpienia. Dodatkowo w obsłudze przerwania ustawiał tylko odpowiednią flagę, a resztę operacji wykonywał w głównej pętli programu....
Dochodze do smutnego wniosku, ze cos jest nie tak sprzetowo z samym mikrokontrolerem. BF Tak to wygląda. Ale wniosek że trzeba zerować PCLATH wydaje się nieuprawniony. Sam to zauważyłeś w 1 poście i traktujesz jako przypadek. Może to np błąd w 3 słowie flasha? Albo spróbuj obniżyć taktowanie? Spróbuj dać od razu GOTO w 0x0000 Albo kod z etykiety X...
Twoje obliczenia są (z grubsza) OK, jednak w mikrokontrolerze ATmega328 rejestr TCCR0A nie posiada bitów CS00 oraz CS02. Bity te znajdują się w rejestrze TCCR0B. Notabene, bitów WGM0n nie musisz zerować. W trakcie Power on Reset zostają one ustawione na wartość 0. Zerowanie może być konieczne tylko wtedy, kiedy wcześniej sam ustawisz je na wartość...
niestabilnym zasilaniu (miękkie z tendencją do sporych spadków) i pracy z pamięcią EEPROM, możliwe jest, że właśnie w tej pamięci nadpisane przypadkowymi danymi zostaną pierwsze 2, 3 bajty. Kiedyś był problem pierwszego bajtu (zerowanie licznika adresu) ale to odległe czasy. O problemie 2..3 bajtów nigdy nie słyszałem. O jak stare uC chodzi?
1. LJMP START: //skocz do początku programu START: //początek programu mov P1, #b7h //wyślij daną na port CLR P1.1 //zeruj bit CLR p1.2 //zeruj bit SETB P1.7 //ustaw bit loop: //powtarzaj mov p1,#00 //wyzeruj wszystkie bity portu p1 ljmp (at)loop //powtarzaj END Resztę postaraj się zrobić sam.
(tu też byłbym wdzięczny z uwagi (...)) Jest coś nie tak z nogą 28 układu i przelotką obok niej... Do tego linia reset wygląda jak piękna antena, a rezystora podciągającego do VCC nie widzę (jest tam jakiś układ, ale bez schematu to mam wrażenie, że błędny...). Czym byś nie zasilił, pamiętaj, że samochód to środowisko dużej ilości zakłóceń, spadków...
Bardzo mi się podobają kości RAMTRONa, zwłaszcza te z pamięcią FRAM. Piękne cacka do uzupełnienia małego mikrokontrolera (ATTiny, czy niższe ATMegi). Powodzenia :)
i jak go uruchomisz w trybie pwm to działa cały czas bez względu na obsługę przerwań chyba że go zatrzymasz lub wprowadzisz mikrokontroler w tryb zerowania (reset) Albo uśpienia (nie wszystkie tryby). Także zatrzymany w debug PWM i inne peryferia (nie wszystkie, np BOR, sterownik LCD nadal pracują).
zgadza się - AVR przy resecie przyjmują stan wysokiej impedancji. Jeśli chcesz stan niski, możesz zastosować rezystory w konfiguracji pull-down (mało skuteczne) lub dodatkowe bufory portów, które podczas zerowania będą przyjmowały stan niski (wystarczy zwykły bufor lub rejestr, którego wejście zerujące jest podłączone do RST mikrokontrolera)
(at)elektryku5 To już jest także w XMEGA oraz nowych ATMega. Generalnie jest to częściowe rozwiązanie problemu autora, bo w ten sposób można ustawiać/zerować lub zmieniać wybrane piny, ale nie można w ramach jednej operacji łączyć tych działań. ilka nóg mikrokontrolera (np 3, albo 4,5) ustawione w wyjście, i traktowane jako jedno "słowo". Ale nie 8....
W zasadzie każdy avr ma wewnętrzny rezystor podciągający ,który wystarcza do prawidłowej pracy , poza tym często podpinanie do wyprowadzenia reset rezystora i kondensatora skutkuje jedynie problemem z wejściem w tryb programowania . Z pewnością podłączenie bezpośrednio do + też odpada . Do prawidłowej pracy masz możliwość skonfigurowania układu zerującego...
Wywalając 2 bramki (te szeregowo podłączone) i zmieniając lekko treść programu bedzie jeszcze szybciej... cbi - zeruj bit, sbi - ustaw bit... ;)
Chodzi o to, że po włączeniu sterownika do prądu (resecie mikrokontrolera) pompa od razu jest włączana nawet bez procesora. Wyłączona zostaje dopiero po pierwszym odczycie temperatury. Uchroni cię to przed nie pożądanym wyłączeniem pompy gdy np. ulegnie uszkodzeniu czujnik temperatury. Po każdym odczycie zeruj licznik watchdog. Wówczas nawet gdy odetniesz...
Witaj. Zacznij od na przykład tego: http://mikrokontrolery.blogspot.com/2011... i zaglądnij także do spisu treści oraz oczywiście datasheet mikrokontrolera. 1. Nie jeśli jest zasilany także z 5V. 2. tak, ponieważ włączasz wewnętrzny rezystor pull-up, który wymusza jedynkę na wejściu (pinie). Zwierając przyciskiem pin do...
Trudno zrozumieć co chcesz zrobić. Jednak Watchdog powinien wybudzać mikrokontroler (poprzez RESET) z głębokiego uśpienia. To oczywiście wyzeruje różne zmienne (jeżeli są inicjalizowane). Powinno się po RESET sprawdzać co było źródłem tego RESETu tj. POR czy właśnie Watchdog. Jest rejestr z jakiego można to odczytać. Kolejna kwestia, to chyba w main()...
Więc port P3 powinien być podłączony to tranzystorów, tylko nie wiem czy dobrze jest podłączony potrójny przycisk start/stop/zerowanie.
Kolego, prawda jest taka, że nawet jeśli dobrze obsługujesz moduł z przekaźnikiem (choć chyba źle go podłączyłeś - lepiej narysuj co i jak), to w momencie załączania obciążenia 230 V generowane są spore ilości zakłóceń i nie sądzę, by płytka Arduino połączona z modułem przekaźników nieekranowanymi kabelkami typu "do płytki stykowej" działała poprawnie....
W twoim projekcie kluczowe pytanie to dokładność długoterminowa - nie masz raczej możliwości zerowania (ani kalibracji) częściej niż co 2 miesiące. Teraz pytanie czy chcesz wagę zbiornika znać z dokładnością do 5%, 1% czy 0.1%. Drugie pytanie to warunki pracy. Czy jest to klimatyzowane laboratorium, czy waga będzie stać na podwórku i ma działać w zakresie...
Chodzi o ten wykres z DS MCP6002 ? Nie, o http://ww1.microchip.com/downloads/en/De... - tabela str. 3 "maximum output voltage swing" - minimum =Vss+25mV - czyli Uwy nie schodzi poniżej 25mV. Dla Lm358 - 20mV ale patrz https://www.sparkfun.com/datasheets/Comp... str. 7 wykres "Output characteristcs current sinking"...
No właśnie może Wam się to wydać głupie, ale kumam assemblera nawet trochę ale pętle to moja zgroza :( Nie mówie że jestem specem ale swoje wiem. A w jaki sposób można wydłużać i skracać ten czas? I czemu zeruję rejestr np. R2?
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
Mam małe doświadczenie w tych sprawach, ale czy nie wystarczy zwykły skok w asemblerze (sprawdzi się też w bascomie) typu JMP $000 ? Przy takim skoku nie są zerowane rejestry procesora. Czasami to nie przeszkadza, ale pamiętać o tym trzeba.
telekomuna - zajmuje sie mikrokontrolerami wiem jak działa watchdog :) chodziło mi o to że program nie resetuje (zeruje) rejestru watchdoga przez co on sie przepełnia i generuje reset, jak napewno wiesz, watchdog jest licznikiem zliczajacym cały czas impulsy (jakie zalezy od ustawien rejestrów preskalera) programista powinien systematycznie w programie...
aby opóźnić wyzwalanie do momentu w którym timer mastera się zeruje Nareszcie do mnie dotarło- nie jak najszybciej a równo.
bardzo proste do realizacji, nawet z zachowaniem odstępów czasowych między zdarzeniami. Z punktu widzenia fizyki portów i liczników wygląda to tak: 1) Wciskasz przycisk SET 2) Wybrane piny przechodzą w stan wejścia 3) rusza licznik i mierzy czas aż do wykrycia zdarzenia 4) Licznik staje i zapamiętujesz jego wartość oraz stan pinu 5) licznik się zeruje...
Problem można rozwiązać sprzętowo, tylko po co? Jednym ze sposobów jest zastosowanie przerzutnika S-R: mikrostyk ustawia stan aktywny, mikrokontroler po odczytaniu stanu zeruje przerzutnik. Innym sposobem jest technika stosowana w układach enkoderów/liczników, np. [url=http://www.alldatasheet.com/datashe... - str...
witam planuje wykonać prędkościomierz elektroniczny do np. samochodu. Chcę aby prędkość była wyświetlana na trzech wyświetlaczach siedmiosegmętowych LED a przejechany dystans jak i licznik dzienny na wyswietlaczu lcd. Jaki do tego wybrać mikrokontroler? sygnały do obliczania prędkości były by z halotrona, układ powinien zapamietywać przebieg po odłączeniu...
Jak znajdziesz wzmacniacz z lepszym offsetem, który ma 4 kanały i 3 różne wzmocnienia można wysterować jednym pinem mikrokontrolera to z checią go użyje Nie mozna mieć wszystkiego, istnieją wzmacniacze z automatycznym zerowaniem w których offset jest <1uV, nie mają czterech kanałów, tylko są pojedyncze, rezystory i ich przełączanie porzeba podłaczyć...
Co rozumiesz przez zerowanie wyświetlacza albo zastopowanie?? Przed wyświetleniem jakiegokolwiek znaku musisz zainicjalizować (włączyć) wyświetlacz programowo.
czy c na kompie różni się mocno od tego c na mikrokontrolery? W praktyce najważniejszą różnicą jest to, że na mikrokontrolerach bardzo często używa się operacji bitowych, np. ustawiania i zerowania poszczególnych bitów w zmiennej lub sprawdzania ich stanu, co na pecetach nie występuje tak często.
Potrzebny opis do czego te rozkazy są najczęściej używane, co robią to wiem. :D np. XRL zerowanie bitów portu z góry dzięki Lukee
A czy zerujesz flagę wystąpienia przerwania? Najęściej dokonywane jest to poprzez odczyt rejestru, w którym ta flaga się znajduje.
Do tego co napisał kol. (at)szczywronek dodam tylko, że suma bitowa może być niebezpieczna jeśli maskowane pole nie ma wartości zero. Dla pewności trzebaby więc przedtem wykonać dodatkową operację zerowania bitów. Inaczej czasami uzyskamy sieczkę. No i analiza efektu końcowego takiego zapisu jest utrudniona.
Za taki Watchdog może służyć np. CD4060, z odpowiednio dobraną częstotliwością pracy. Do jednego z wyjść Q przyłączasz nóżkę Reset. Do wejścia Reset licznika przyłączasz port mikrokontrolera, koniecznie przez jakiś inwerter (np. tranzystor PNP + 3 oporniki). A gdzie umieścić zerowanie licznika? To zależy od tego, na czym opiera się "życie" programu...
...bo zależy nam na zerowaniu zmiennej po przekroczeniu zakresu. Tyle, że nie zaleca się pisać kodu w oparciu o przekraczanie zakresu ;-)
Tylko teraz mam wątpliwości patrząc na swoje przebiegi czasowe i na to co wczoraj powiedziałeś - o tym latchu, żeby był na nim ciągle stan wysoki i tylko w pewnym momencie impuls 0. w czasie liczenia latch musi być 1 i w czasie zerowania musi być 1 to jest konieczne i pomiędzy nimi musi się pojawić latch 0. W moich konstrukcjach był krótki impuls na...
Tu nasz schemat. Użyłem źródła napięcia odniesienia LM317, które służy do porównania napięć (i zerowania układu). Działanie układu jest chyba jasne. C1 i C2 po 0,1uF, żeby uniknąć oscylacji. R1 i R2 tworza dzielnik 1:3, więc na wejście układu jest podawane napięcie 7 - 9V. Rezystory R3 i R4 "ustalają" wzmocnienie, dla napięcia wyjściowego 0 do 5V wzmocnienie...
Witam. mam takie typowo początkujące pytanie. Jak podłączyć do mikrokontrolera AVR transoptor (TCST2103). Potrzebuje to do budowy swojego wyświetlacza widmowego ;) Na razie jak widać próbuje się dokształcić. Czy takie połączenie będzie OK? 9467425500_1376389064|CUcuoGYgye Bo wygląda aż za prosto xD oczywiście opornik dla diody odpowiednio dobrany. Wejście...
Nie rozumiem czemu nie właśnie mikrokontroler. Jest to najszybsze rozwiązanie. Jeżeli jednak z jakichś względów mikrokontroler odpada należy cały układ oprzeć o klasyczne układy cyfrowe. Czyli układ tłumiący drgania styków, następnie licznik najlepiej zliczający w kodzie BCD....dalej jakiś konwerter tego kodu na kod wyświetlacza 7-segmentowego i już....
Poradziłem sobie, dzięki Po pierwsze polecam stronę, gdzie ładnie obajśniony jest hallotron http://www.reveltronics.com/downloads/us... Najnormalniej źle podłączałem go do układu i dlatego byki Jeżeli chodzi o stronę programową to 1)musiałem zmienić inkrementacje bitów na wyświetlaczu, ponieważ...
Wprawdzie nie znam się na mikrokontrolerach, więc wlazłem na nie swój teren, ale najwyżej mi się dostanie. Niezależnie od układu wykonawczego załączającego-wyłączającego zasilacza (właśnie przekaźnik), może być potrzebny prosty układ sterujacy - logiczny - w postaci przerzutnika (np. asynchronicznego RS) z zerowaniem. Skojarzył mi się układ "555", ponieważ...
czas trwania impulsu dodatniego częstotliwość tych impulsów to od 0 do 400 na sekunde a opis tej instrukcj to zerowanie bitu w rejestrze a jeśli załaduje rejestr roboczy funkcyjnym to wskazywany bit do zerowanie będzie pod nazwą bitu z rejestru funkcyjnego (a niejest tak???) to jesili nie to czemu wcześniejsze instrukcje działają np.ustawiają i zerują...
Te mikrokontrolery mają coś takiego jak System Tick Timer, dzięki któremu możesz ustawić przerwania z dokładnością do 10ms. Ja mam coś takiego ustawionego dla LPC1343 (inicjalizacja SysTick): [syntax=c] // System Tick Clock source: System clock SysTick -> CTRL = 0x7; // Program the LOAD register (10msec) SysTick -> LOAD = 0x0927BF; // Clear SysTick...
Z tego co się orientuję, typowe wentylatory komputerowe mają wyprowadzenia: GND 12V Sensor Ty natomiast podłączyłeś: 12V GND Sensor Przyjrzyj się też tutaj, jak taki czujnik działa: http://www.bearblain.com/fan_speed_contr... Wynika z tego, że na wyjściu czujnika pojawi się 12V a tego nie możesz podłączyć bezpośrednio pod wejście mikrokontrolera....
Po wysłaniu jednego bajtu (i sprawdzeniu SPIF) trzeba ręcznie wyzerować SPIF przed następną transmisją. Poza tym SS (ten od mikrokontrolera, nie od DAC) powinien być ustawiony jako wyjście przed włączeniem SPI (ustawieniem bitu SPE), bo jak nie to mikrokontroler będzie przechodził w tryb slave. Poza zaznaczonymi fragmentami pozmieniałem trochę rejestry...
Ja zrobiłbym to tak: - dowolny mikrokontroler + adapter UART - USB - program w mikrokontrolerze zlicza impulsy z czujnika i przechowuje w pamięci, nasłuchuje cały czas na UART - jeśli program z PC wyśle przez USB do UART zapytanie o ilość nazbieranych impulsów, to układ zwraca na USB wartość, np. "1234" po czym zeruje swój licznik Do ogarnięcia na jakimś...
Podsumujmy: - skok do adresu zero, nic nie da, bo nie zeruje rejestrów, ale pozwala wystartować program od początku - wpisywanie bitów MCUCSR nic nie daje - watchdog nadaje się do tego doskonale Wsio w temacie
Na pierwszy rzut oka, to wydaje się, że problem leży w programie, bo system nie zeruje się (pamięta ustawienie PWM), tylko ma kłopoty z generowaniem PWM. Ale nie znamy programu więc to tylko hipoteza. Czy mikrokontroler i serwa są zasilane z tego samego źródła 5V?
Nie napisales jakich procesorow wiec przyjmuje ze moze byc to '51. Oczywiscie jest to mozliwe i nawet dosc latwe. Do tego celu wykorzystujesz standardowe lacze szeregowe oraz fakt, ze w trybie 2 lub 3 przesylane dane sa akceptowane gdy bit 9 ramki jest jedynka. jak moze to wygladac w malym skrocie. 1. Ustawic bit SM2 we wszystkich slavach. Tryb pracy...
O ile dobrze rozumiem wymagania, to nie jest takie proste: stan wyjścia ma się zmienić, jeśli przez 30 sekund stan wejścia będzie stale przeciwny do stanu wyjścia; "stale" oznacza, że nawet krótka przerwa wymaga, by odmierzać ten czas od nowa; jeśli do odmierzania tych 30 sekund użyje się kondensatora, który będzie ładowany, to w tej przerwie (która...
Przeczytaj datasheet - ten rejestr musisz zerować ręcznie. Przykład dla ATmega8: [syntax=c]void main(void){ //zapamiętaj powód resetu mikrokontrolera unsigned int reset_MCUCSR;//zmienna pomocnicza reset_MCUCSR = MCUCSR; //zapamiętaj przyczynę resetu MCUCSR = 0; //zgaś flagi rejestru resetu //Jeżeli reset nastąpił z innych przyczyn niż z powodu //włączenia...
... ale niestety mądrala nie przytoczył jak powinno się to zapisywać... ) Oj, uważaj bo ktoś może poczuć się urażony i raportować post :) Na temat F_CPU w sieci można znaleźć wiele: F_CPU – gdzie definiować? Chciałbym dowiedzieć się co znaczą te TCCR2, OCR2, TIMSK, jak liczyć te przerwania i dlaczego timer po skopiowaniu tego kodu nie liczy faktycznie...
ooo :) dzięki wielkie za pomoc :D Tak wlasnie zauważylem, ze nigdzie bym nie dostał tych tranzystorow. Szukalem nawet zastepnika dla jednego z nich, ale nie udalo mi sie znaleźć. Pokombunuje i napisze jeszcze co mi wyszło. Z tym zerowaniem - słuszna uwaga. Bedzie mozna zastosować 4051 i bedzie dzieki temu wiecej możliwości :D Sam bym na to jednak nie...
Według mnie to wychodzi tak : dla czujnika z 4 polami odbiciowymi przy prędkości 2000 rmp uzyskasz 8000 imp / min, co daje częśtotliwosć ok. 133 Hz. Przy tej wartości nie bedziesz mial problemów ze Shmittem. Wyjście z czujnika podajesz np. na wejście INT0 mikrokontrolera i w przerwaniu sterujesz wewnętrznym timerem. Po prostu przerwanie INT0 powinno...
Zależy mi raczej na małych rozmiarach urządzenia, więc o radiatorze nawet nie myślę. Czy obniżenie napięcia do 12V i zastosowanie stabilizatora w obudowie SOT223 będzie odpowiednie? W momencie największego poboru prądu wydzieli się 0.9W. Wykonalne ale nie na minimalnym footprincie, na pewno trzeba by przewidzieć pewną powierzchnię PCB jako radiator,...
To od multipleksowania wywolujesz co okreslony czas wiec znasz interwal i mozesz tak samo na jego podstawie zwiekszac wartosc licznika czyli czasu. Właśnie tam mam zrobione w tej chwili. Wyświetlacz (wspólne anody) multipleksuje co 2 ms i przy okazji jego obsługi zwiększam licznik stopera. Gdy sekundnik dojdzie do 500 to już poza przerwaniem robię...
Dzielniki najłatwiej przełączać przekaźnikami (kontaktronowymi). Polecam przeczytać dokumentację obsługi i serwisu od starych multimetrów Meratronik np V545 - wszystko było tak przełączane. Ponadto jest tam opis wielu rozwiązanych problemów konstrukcyjnych, od wzmacniacza AC ze skompensowanymi dzielnikami, po źródła prądowe do pomiaru oporności. W dzisiejszych...
Ciezko troche wstawic mi komendy do resetu watchdoga gdyz program posiada dosc sporo pentelek i niektore sa od czegos zalezne i ciezko mi przewidziec ich czas, moge co prawda wstawic w kazdej petli crfwdt ale nie niewiem czy tak sie poprawnie robii, tak wogole pocztal bym gdzies na necie jak sie stosuje i gdzie zerowanie watchdoga w programie lecz nie...
Co jest dziwne w tym przypadku? Bo nie łapię? Że rejestr należy zapisywać/czytać w całości? Bo tam tyle na moją kiepską znajomość angielskiego pisze. Dostęp tylko 32 bitowy to nadinterpretacja. Aha, i obie instrukcje, które podał hotdog zerują bit. Pierwsza powinna mieć po prawej stronie ustawiony bit 2. Albert
natomiast co do rozkazu cli na początku obsługi przerwania to chyba kolega Nawigator nie ma racji bo procek blokuje tylko wystąpienie tego przerwania a nie wszystkich innych. Tak więc jeśli jest potrzeba zablokować inne to można i nawet trzeba ręcznie zapodać cli w przerwaniu Nie. Procesor sam zeruje flagę I w SREG i tym samym blokuje wszystkie przerwania.
opiszesz mi wszystkie instrukcje jakie oferuje Atmega8? Atmega8 to popularny 8-bitowy mikrokontroler z rodziny AVR produkowany przez firmę Microchip (dawniej Atmel). Wyróżnia się on niskim zużyciem energii, prostotą programowania oraz bogatym zestawem peryferiów. Poniżej przedstawiam zestaw podstawowych instrukcji dostępnych w Atmega8. Atmega8 korzysta...
Witam ponownie, Zerknijce na ten schemacik i ocencie, czy to może zadziałać, Mam zamiar zrobić tak, że jak Master chce sie skomunikowac z któryms slavem, to zeruje bit adresu i wystawia na szyne danych wartosc, wtedy slave odbiera i gra gitara. a jak slave chce cos przeslac do mastera to też zeruje drugi bit adresu i czeka na sygnal gotowosci od mastera...
Nie ponieważ tak nie wyzerujesz bitu. Oj, kolego, chyba do galerii trafisz ! :) Podstawy języka C: - pkt 1.5: http://mikrokontrolery.blogspot.com/2011... - operatory bitowe: http://mikrokontrolery.blogspot.com/2011... Domyślnie po resecie pin jest ustawiony jako wejście (DDR...
Zwykle robi sie to tak, ze odpowiedni bit rejestru PORTx zerujesz, a potem sterujesz odpowiadajacym mu bitem DDRx. Jesli go ustawisz to mikrokontroler wystawia "0" na szyne, jesli wyzerujesz to przelaczasz port na wejscie - stan magistrali 1-wire ustala sie za pomoca zewnetrznego pull upa na "1" - pamietaj, ze jest to magistrala typu OD (OC) z recesywnym...
Cześć Attiny26 może przyjąć przerwania od każdej nogi, robisz licznik od jakiegoś wewnętrznego timera i zliczasz od 0 do 255, jeśli doliczysz do 255 to włączasz alarm, liczysz oczywiście na tylu zmiennych naraz ile Ci potrzeba. Teraz dodajesz do tego przerwania od czujników, jeśli przyjdzie przerwanie to zerujesz odpowiadającą mu zmienną i znowu ją...
A częstszy przykład to komputer wpięty do jednego gniazdka, a zasilacz układu do innego. Jak masz pecha i to inne gniazdko jest na innej fazie to się robi dym. A wszystko przez to, że masa PC w przypadku braku zerowania ma potencjał 110V dzięki kondensatorom w zasilaczu. A tu bym się nie zgodził. Komputer i inne urządzenie wpięte do tego samego gniazdka....
Witam, Budujesz "swietlna linijke". Zgadzam sie z poprzednikami, mikrokontroler to przerost mody nad zapotrzebowaniem. Rejestr przesowny zbudowany z dowolnych przezutnikow serii 40xx czy 74xxx. Generator zegarowy na 2 bramkach czy 555 i regulujac jego czestotliwosc regulujesz szybkosc zapalania diod LED, skoro LED maja zgasnac po zapaleniu ostatniej...
Układy MPS430 mają mały pobór prądu na wejściach. Pin pobiera z 1nA prądu polaryzującego, a do tego wewnętrzne obwody także pobierają mało prądu nawet jak na pinie się ustawi napięcie równe 1/2VCC. Niestety w innych jest znacznie gorzej. Nawet piny z histerezą pobierają duży prąd jak napięcie na nich jest w okolicach 1/2VCC. Często są też rejestry wyłączające...
Osobiście nie ufam wewnetrznemu podciągnięciu na /RESET i dokładam 4,7-10kΩ do Vcc. Moje procedurki w petli głównej zerują również licznik watchdog-a w pętli głównej (plik Main.asm), który gdy osiągnie maksimum, resetuje mikrokontroler. Oprócz tego jest tam taki myk, że reset od watchdoga nie inicjalizuje zmiennych(danych w RAM, m.in. licznik "tyknięć"...
Cześć, Od kilku dni próbuje nauczyć się czegoś o 8051 i początki są ciężkie ale jakoś to idzie :). Nie mam żadnego mikrokontrolera więc uczę się na symulatorach. Sęk w tym, że co symulator to inne błędy. Napisałem program w C który skompilowałem na SDCC i zawiera on taki kod: clr A mov R0, #0FFh mov (at)R0, A djnz R0, 003A // 003A - instrukcja wczesniej...
Prosze bardzo: 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika 'Przycisk S2 zmniejsza prędkość obrotową silnika $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal...
Musze napisać ćwiczenie wg takich punktów ale jestem totalnym laikiem jeżeli chodzi o Asemblera. Licze na wsparcie licznych kolegów na elektrodzie :) 1. Napisać procedurę obsługi przerwania Timera T0 zwiększającą o jeden liczbę hexadecymalną wyświetlaną na wyświetlaczu LED w każdym cyklu obsługi przerwania. Timer ma pracować w trybie 16-bitowym bez...
Jeśli pokaże mi kolega ATMEGE 2560 w obudowie QFP64 to się zgodzę ... Ale zanim kolega coś więcej napisze może zapozna się z [url=http://www.atmel.com/Images/Atmel-2... , strona 339 To co napisał kolega dotyczy obudowy QFP64 występuje w niej mega 1281 i mega 2561 , atmega 1280...
AVE... Da się zrobić na mikrokontrolerze z licznikiem/timerem. Niech liczy impulsy z zewnątrz do 100 albo do 500 z preskalerem, co wywoła przerwanie, podczas którego dodajesz liczby do dwóch liczników, a jak masz przerwanie co 500 impulsów, to jeszcze zmieniasz stan nóżki dla 1kHz. W pętli głównej sprawdzasz stan liczników programowych i gdy osiągasz...
Nie robiłem tego programatora, ale robiłem prostszy programator którego schemat zamieszcdzonyn jest w helpie Bascomu AVR. Obsługuje on wszystkie procesory z interfejsem ISP. Z tego co pamiętam procesor o którym piszesz też jest wyposarzony w taki interfejs. Programator składa się z czterech rezystorów, mieszczących się we wtyczce DB25(port rówmnoległy...
Witam!!! Z moich osobistych doświadczeń wynika że AVRy (Atmega) radzą sobie całkiem nieźle z zakłóceniami. Dobre zasilanie to już pół sukcesu. Nie ma idealnych procesorów. Projektanci procesorów nie tworzyli by Brown-out detector i watchdoga gdyby nie były one przydatne i nie minimalizowało to prawdopodobieństwa zmiany wartości na stosie lub w rejestrach...
https://obrazki.elektroda.pl/2095452300_... Jest to moja wersja tego dość znanego miernika LC, wykonana na podstawie artykułu opublikowanego w angielskim piśmie "Everyday Practical Electronics" 3/2010 (strona 10, autor Jim Rowe). Miernik umożliwia pomiar pojemności do 800nF (maksymalna rozdzielczość 0.1pF) oraz indukcyjności do 80mH...
Witam.Mam problem z napisaniem programu do odczytu przełączników których schemat jest zawarty w załączniku.Całość chciałbym zrobić na jednym porcie mikrokontrolera (4 pierwsze bity portu-linie wejściowe przełączników,4 ostatnie będą zczytywały stany logiczne wychodzące z przełączników).Na liniach Px.0-Px.3 muszę użyć rejestru przesuwnego z którym nie...
odczyt mikrokontrolera identyfikacja mikrokontrolera przekaźnik mikrokontrolera
gazowanie reduktor odblokować karte drzwi zmywarka domyka
diora bluetooth zmywarka amica pompa myjąca
Kia Cee’d 1.6 Gamma Crankshaft Sprocket Replacement Procedure, Tools, Torque Specs Setra 500 – przednie drzwi nie otwierają się po naciśnięciu przycisku, brak reakcji DCU