Demoman wywal te delay'e... w tym układzie nic Ci nie daje to opóźnienie Jak nic nie daje :?: A jak zobaczy że dioda miga skoro przy taktowaniu 1Mhz cykl trwa zaledwie 1us :?: Twoje oko potrafi zarejestrować takie częstotliwości :?: Z kolei poprawnie zadeklarowane opóźnienie wygląda tak: #define F_CPU 1000000UL #include <util/delay.h>
Witam wszystkich, od dawna czytam to forum i zawsze znalazłem na nim odpowiedz na moje pytania tym razem jest inaczej wiec postanowiłem założyć konto i poprosić o pomoc a mianowicie Zakupiłem programator USBASAP uC atmega8 napisałem w programie bascom-avr nastepujacy kod: $regfile = "m8def dat" $crystal = 1000000 config pind.0 = output led alias pind.0...
Dla tego napięcia powinien być opornik ok.220-470ohm , drugą końcówkę podłącz do + zasilania , bo procek ma obciążalność 20mA przy stanie niskim.
Witam. Dla czytelności Waszych kodów... Autor tematu: michas: michas powiedział chyba wszystko, co trzeba było powiedzieć co do samego kodu i kilku zawartych w nim błędów, a ode mnie jeszcze pytanie - czy zadbałeś o filtrację zasilania Twojego uC ? Jest to wbrew pozorom bardzo ważny temat jeśli chcesz, żeby nawet takie proste miganie LEDem działało...
https://obrazki.elektroda.pl/2823437700_... Motywacja Naprawiając różnego rodzaju joysticki od konsol retro, niezbędną potrzebą była diagnoza stanu takiego urządzenia. Każdorazowe wyciąganie innej konsoli z szuflady, podłączanie do niej kontrolera, włączanie TV, szukanie odpowiedniego kartridża z grą, aby móc przetestować wszystkie...
Proponuję zamiast INPUT użyć INPUT_PULLUP.
po $crystal podawana jest częstotliwość w Hz, więc 1000000 jest ok dla domyślnie skonfigurowanej atmegi8. Z resztą to lepiej ustawiać w opcjach kompilatora. Aha i zamiast pisać: Do Waitms 250 Portb.0 = 0 Waitms 250 Portb.0 = 1 Loop wystarczy Do Waitms 250 Toggle Portb.0 Loop a to, że pierwszy listing działał wynika chyba z tego, że za każdym razem sprawdzane...
Tzn. chciałeś "przypisać" zmiennej x operację PORTB ^= 1<<PB0 ? Jeśli tak to: pomysł sensowny, ale niestety gwałcący zasady języka C ;) Mignięcie diody miało być w funkcji, która będzie kilka razy wywoływana w pętli, czyli chodziło mi o coś takiego:[syntax=c]//Funkcja migająca diodą void blink(void){ // Zapal diodę PORTB |= 1<<PB0; _delay_ms(300);...
Proszę bardzo - kursik od podstaw: http://mikrokontrolery.blogspot.com/2011... z gotowymi programami, itp. a jak czegoś nie skapujesz - pytaj na tym forum :-) PS. Ode mnie 20 pkt, bo masz mało, a mogą się przydać na początku drogi.
Zapewne podczas programowania nie wybrałeś przy pomocy FuseBits zewnętrznego rezonatora kwarcowego. Domyślnie ATMega8 korzysta z wewnętrznego oscylatora RC 1 MHz.
Witam Zaczynam zabawe z ATmega8. Zbudowałem sobie taki układ: http://obrazki.elektroda.net/47_12727176... do µprocka wgrałem program: $regfile = "m8def.dat" $crystal = 1000000 Config Portc = Output Do Toggle Portc.0 Waitms 250 Toggle Portc.1 Waitms 250 Toggle Portc.2 Waitms 250 Toggle Portc.3 Waitms 250 Loop End i zastanawiam...
Ty natomiast upierasz się co do Swojego sterowania wyświetlacza LCD , a powołując sie na to że jest to "Własna prosta niezawodna przejściówka USB-RS232 (AVR). A ja po tych wywodach i opowieściach mam co do tego tytułu ogromne wątpliwości no wszystko mogę zrozumieć ale gdzie ty się doczytałeś że ja się upieram do jakiegoś swojego sterowania wyświetlacza???...
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...
mam już od dłuższego czasu problem mianowicie generator częstotliwości dzisiaj bardzo się zdziwiłem gdy nie ładuje do timera wartosci początkowej wszystko jest ok, dioda sobie miga co ok 2 sek i jest spoko gdy natomiast załaduje do timera1 16Bit np 1000 co w zauważalny sposób nie powinno zmienić częstotliwości migania diody ona zaczyna migać jak oszalała...
Nie mam pojęcia, ale jak już napisałem odnosisz mylne wrażenie, co udowodnił poprawnie działający program migania diodą.
Co to znaczy ciut za wolno? Ten program sprawia, że dioda powinna migać z częstotliwością 0,5Hz.
sprawdziłem twój program i działa ale jest w nim niepotrzebne: Set Portc.0 coś masz nie tak ze sprzętem, proponuje ci zasilacz stabilizowany dokładnie 5v a nie impulsowy bo procki nie lubią wachań napięć. spróbuj sobie wklepać cuć takiego: Config Portc = Output Do Portc = &B000001 Waitms 100 Portc = &B000000 Waitms 100 Loop End w tym przypadku dioda...
Dzisiaj bawiłem się PL2303HX.Stwierdzam iż najlepszym rozwiązaniem jest usbasp.Wgrałem najprostszy program bilnk.hex przez PL2303HX (zmieścił się w wersji demonstracyjnej do 1KB) mkbootloader rozpoznał procesor po czym wgrałem do atmega8 program bilnk.hex , tylko bootloader się skasował a dioda zaczeła migać tak jak w programie cpp.Czy to normalne?Czyli...
To jest mój pierwszy projekt, używam Atmega8A, napisałem banalny program żeby migać diodą: [syntax=c]#define F_CPU 1000000 #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie linie portu D będą wyjściami */ DDRD = 0xFF; /* Początek nieskończonej pętli */ while(1) { PORTD = 0b10000000; _delay_ms(100);/* opóźnienie 0.33...
Witam Zwracam się do was o pomoc bo nie wiem jak zrealizować, rozwiązać mój mały problem. Napisałem program na podstawie materiałów znalezionych w internecie który steruje czterema przekaźnikami "ON/OFF". Przekaźniki są wyzwalane z czterech mikroprzełączników. Program działa bez zastrzeżeń, ale chciał bym dodać małą funkcję wskaźnika odbioru na diodzie...
Nie wiem co robię źle, że dioda zamiast mrugać świeci się cały czas. Program napisany jest w C. Program #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> int main(void) { /* Wszystkie linie portu D będą wyjściami */ DDRD = 11111111; /* Początek nieskończonej pętli */ while(1) { PORTD = 00000010;...
Witam, domyśliłem się, że gotowców nie robicie (w sumie to i dobrze:) ), tak więc zabrałem się sam za programowanie. Chcę napisać prosty program zapalający diodę, podłączoną do bitu 0 portu B, po przyciśnięciu przycisku podłączonego do bitu 0 portu D. Teoretycznie napisałem, ale nie chce to działać. Znalazłem link na forum gdzie problem był opisany,...
Mam dziwny problem. Piszę sobie program o takiej treści: $regfile = "m8def.dat" Config Pinb.0 = Output Config Pinb.6 = Output Config Pinb.7 = Output Config Pind.5 = Output Config Pind.6 = Output Config Pind.7 = Output Led1 Alias Pinb.6 Led2 Alias Pinb.7 Led3 Alias Pind.5 Led4 Alias Pind.6 Led5 Alias Pind.7 Led6 Alias Pinb.0 Do Set Led1 Reset...
Witam! Od kilku dni męczę się z pewnym zadaniem, polegającego na sterowaniu diodami. Problem polega na zapaleniu diody na porcie PC1 przez czas times, następnie razem na portach PC1 i PC2 przez czas timed, potem tylko PC2 przez czas times, potem PC2 i PC3 przez timed itd. Napisałem program i niby wszystko dobrze, bo jak chce zapalić pojedyncze diody...
Witam. Chcę zaprogramować procesor Atmega 8, tak aby po przyciśnięciu przycisku1 zapaliła się dioda i świeciła do momentu zwarcia przycisku2. (przyciski zwierane do masy) Napisałem taki program, lecz w efekcie dioda cały czas świeci. Nie wiem co jest źle, może ktoś zauważy jakiś błąd: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config...
Witam, wczoraj dostałem paczkę z mikrokontrolerem i programatorem. Od razu zabrałem się za podłączenie wszystkiego. Po sprawdzeniu czy wszystko działa uruchomiłem eclipse i napisałem następujący kod zgodnie ze wzorem z internetu: http://obrazki.elektroda.pl/1202182900_1... (zasilanie jest z programatora "LC Technology USBASP v2.0")
witam a więc chciałem napisać swój pierwszy program w życiu :) wygląda on tak: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.6 = Output Config Pind.4 = Input P Alias Pind.4 D Alias Pinb.6 Dim Mruganie As Bit Do If P = 0 Then Waitms 500 D = 1 Waitms 500 D = 0 End If Loop Until P = 1 Do If P = 1 Then D = 0 Wait 2 D = 1 Loop Until P =...
Witam, Podłączyłem diodę LED do ATmega8 i napisałem w C program do jej migania jednak nie działa. Próbowałem wszystkich dostępnych kodów w Internecie jednak efekt jest ten sam: dioda się pali non stop. Zauważyłem jedną dziwną rzecz: użycie _delay_ms(); jakby zatrzymywało działanie programu bo bez tej funkcji mogę bez problemu sterować pinem w stan niski...
Witam serdecznie. Podjąłem pierwszą próbę programowania kontrolera Atmega8 z Eclipse, napisałem prosty program z migającą diodą. Podłączyłem ją do portu PC5. Program wgrał się do kontrolera prawidłowo ale dioda nie mruga. Program zapożyczony z książki M. Kardaśa "Mikrokontrolery AVR, Język C" #include <avr/io.h> #include <util/delay.h> #define...
Witam! Dopiero zaczynam zabawę z mikrokontrolerami. Bardzo proszę o pomoc z następującym [banalnym] problemem: Mam diodę podłączoną do PB2. Umiem ją zapalić i zgasić. Jak to zrobić, żeby zapaliła się np. po zwarciu PB1 do masy? Lub po podniu na PB1 napięcia +5. Wiem, że jest to banalne, ale jak pisałem dopiero zaczynam. Programuję w C. Kompiluję pod...
mam dosyć duże dośiadczenie w uP ale przeczytaj sobie mój problem: http://www.elektroda.pl/rtvforum/topic60... ps. jak kupisz nowego procka to nie tykaj fusów, tylko wgraj taki programik zapalający i gaszący diodę $regfile = "m8def.dat" $crystal = 1000000 Config Portd = Output Do Waitms 255 Set Portd.1 Waitms 255 Reset Portd.1 Loop End dioda podłączona...
Jeżeli masz watchdog ustawiony na stałe a brak w programie jego kasowania to tu może być przyczyna. Pzdr. N.
Mam programator STK200 i niemogę zaprogramować atmegi8. Wcześniej zaprogramował się kilka razy. Mam tam wgrany program migający diodą LED. Po włączeniu zasilania dioda miga jak trzeba a jak wcisnę write zaczyna migać szybcjej (tak jakby układ się nie wyłączył do programowania) a nipowinna wcale migać. Po chwili wyskakuje błąd 24 Udało się zaprogramować...
Jak dioda ma migać to trzeba ją cyklicznie włączać i wyłączać. Ty ją tylko cyklicznie włączasz. [syntax=c]while(1) { PORTD = 0x01; _delay_ms(330); PORTD = 0x00; _delay_ms(330); } [/syntax]
Przyjrzyj się uważnie swojemu programowi - w sterowaniu diodą piszesz bzdury. Za pierwszym razem dioda miała migać z częstotliwością wielu kHz przy niskim poziomie na ADC. Za drugim - zaświeca się przy poziomie wysokim i tak pozostaje. Napisałeś warunek "jeśli adc > 100 to zrób coś, a jeśli nie większe od 100 i jednocześnie większe od 100 (czyli nigdy)...
Witam, Od dwóch dni siedzę, czytam łączę... i nic nie wychodzi. Próbuję zrobić cokolwiek na przetworniku ADC. Układ podłączyłem tak jak na załączonym zdjęciu. Program to najprostszy z możliwych. Dioda ma migać w zależności od odczytu. Problem w tym ze podczas zmiany położenia potencjometru nic się nie dzieje. Dioda miga cały czas tak samo. Źle coś podłączyłem...
Koledzy wyżej po raz kolejny zwracają Ci uwagę, ale Ty nadal nie widzisz błędu, więc porównaj: - operator przypisania - operator relacji Tzn., wiem jak działa przyrównanie i przypisanie, ale myślałem, że w pętli for może to być inaczej. Michał 911 napisał: 4.Pozmieniałem to we wszystkich for'ach, tylko nie w tym od buzzera, bo wtedy działa trochę inaczej...
Witam, zabrałem się za budowę robota omijającego przeszkody, chciałem użyć podczerwieni, wyczytałem na forum, że tą podczerwień trzeba zmodulować tak aby częstotliwość pasowała do odbiornika który tą podczerwień wyłapuje, widziałem też takie generatorki na układzie ne555 tylko wyczytałem że do uruchomienia tego potrzebny jest oscyloskop, takiego urządzonka...
Witam Przepraszam autora wątku że wpierdzielam się tak z swoimi kodami (jeśli będzie przeszkadzało to wyedytuje i stworze osobny wątek) lecz piszę apropo aktualnego tematu naprawy mikroprocesorów z poziomu procesora innego niż Atmega8. Mam dwie zablokowane sztuki AT8 i aby je odblokować musiał bym kupić 3 i zbudować twój układ co dla mnie jest raczej...
Ok, to już działa. Teraz uruchomiłem CTC na Timer1 i znowu mam problem. Dioda powinna migać co 100ms, ale ona zaświeci się na 100ms, zgaśnie i już więcej nie chce się zaświecić. Co może być źle z tym kodem? [syntax=cpp] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #define LED_PIN (1<<PB0) #define LED_TOG...
Jeśli tak znasz C jak Bascom to nie istotne czy zaczniesz pisać w C czy w Bascomie czy w czym zechcesz. Po pierwsze to nie Config Portb.0 = Output tylko Config Pinb.0 = Output Po drugie ciekawe czemu tak cho chwilę żonglujesz dyrektywą $crystal 4000000 czy zmieniłeś w ogóle fusebity na zewnętrzny rezonator kwarcowy ??? a jeśli tak to po jaką choinkę...
Witam. Nowy tu raczej nie jestem, bo przeglądam forum codziennie, ale zarejestrowałem się niedawno, bo wcześniej nie było potrzeby pisania :). No to się przywitałem, a teraz na początek: montuję sobie coś w rodzaju półautomatycznego spudguna, i chciałbym zamontować tam licznik amunicji :D. Multipleksowany 2cyfrowy LED, i Atmega8 (może i wystarczy mniejszy...
Witam, mam następujący problem. Chcę zaprogramować atmega 8 tak by przy określonej temp włączyła diodę. Temp mierze czujnikiem ds18b20 wykorzystałem kod który znalazłem w sieci. Całość pisana w C [code][syntax=c] #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" int main(void) { DDRD |=(1<<PORTD);...
:) 1. dodaj rezystor w okolicach 330Ω w szereg z LED. 2. Jak programujesz mikrokontroler - nie widać podłączenia programatora i zasilania? 3. Nie wpiąłeś LED odwrotnie (nie analizowałem Twojego kodu)? 4. Skoro używasz AVRStudio 4 i masz możliwość skompilowania programu w C to spróbuj: -0s . W opcjach projektu, a nie ISP: http://mikrokontrolery.blogspot.com/2011...
Witam. Postanowiłem sobie napisać na Atmegę8 sterownik do silnika BLDC wymontowanego z napędu CD. Częstotliwość obrotów jest regulowana enkoderem. Problem tkwi w tym że częstotliwość na wyjściach nie zgadza się z tą, którą obliczam. Żeby to sprawdzić do portu C podpiąłem diody zamiast silnika i widzę jak szybko migają. Poniżej wklejam kod. Mam ustawiony...
Witam Was. Tym razem mam problem z TWI. Po kilku nieudanych próbach usunąłem cały swój kod do obsługi TWI, i napisałem wszystko od nowa - inspirując się kodami TMF'a i Mirkka36 oraz Datasheetem Atmela. Otóż mam zegar PCF8563 i na początku chciałem się z nim skomunikować, tak aby generował mi sygnał z prędkością 1Hz na wyjściu CLKOUT. Przerwanie w ATmega8...
Zainteresowanie przerosło moje najśmielsze oczekiwania. Miło zobaczyć tyle pozytywnych opinii. W odpowiedzi na pytania: Czemu stosujesz statyczne wyświetlanie? Ponieważ diody zielone-oliwkowe nie świecą jasno. Ma to niestety odbicie w poborze prądu - do 0.5A. Hmm wg mnie lepiej by to wyglądało gdybyś pomiędzy diody włożył jakiś materiał co nie przepuszcza...
Na poczatku daj dyrektywe $crystal=1000000. ATmega fabrycznie pracuje z wewnetrzny zegarem 1MHz mimo podpietego kwarcu. Trzeba przestawic fusebity zeby zmusic procek do pracy z kwarcem. Pozdro Dexter
.... problem wynika z tego, że pin powinieneś podciągać do vcc, inaczej cały czas masz stany nieustalone czyli dodaj do inicjalizacji: DDRD &= ~(1<<PD3);//pin jako wejście PORTD |= (1<<PD3);//podciąganie wewnętrzne
Żeby sterować diodą za pomocą atmegi należy wykonać szereg kroków w odpowiedniej kolejności 1. poczytać o mikrokontrolerach 2. poczytać datasheeta od danego mikrokontrolera 3. zakupić układ, złożyć, podłączyć 4. napisać program, zaprogramować Pominąłeś dwa pierwsze kroki. Nie dziw się, że nikt nie chce ci odpowiedzieć. Po prostu rzeczy o które tutaj...
Jeśli masz diody podłączone do plusa włączasz je komendą Reset a wyłączasz Set. Set podaje na pin stan wysoki (czyli plus) i dlatego ci to nie działa jak chcesz.
A ja bym sprawdził czy przypadkiem AvrStudio nie jest w trybie symulatora a z drugiej strony czy przypadkiem nie jest tak że program programem a programowanie wykonuje się z zupełnie innego plku hex niż autor się tego spodziewa ?
Bo WGM12 jest w TCCR1B a nie w TCCR1A. W tym momencie Twój licznik pracuje w trybie Normal i liczy do 65536 i raz na taki cykl ustawia flagę od porównania czyli co 2,09 sekundy.
Ok, SPL <> SPH... i podłącz AVcc, skoro uzywasz PORTC. Tak w ogóle to poczytaj notę katalogową (oczywiście nie staraj się zapamiętać wszystkiego, raczej gdzie co jest omówione), bez tego to jak bez mapy na nieznanej drodze...
Kilka warunków może być spełnionych naraz, stąd takie działanie
Niestety nie da sie w Pascalu. Przepraszam , ale śmiem się nie zgodzić. Jest kilka PASCAL-i na AVR. Np tutaj : http://www.e-lab.de/AVRco/index_en.html Może nie jest super udany, nie mniej jest to PASCAL. Dużo lepszy jest PASCAL dla PIC-ów, tej samej firmy. Jedyną zaletą jest to, że do przykładów jest dołączona dokumentacja z gotowymi schematami urządzeń....
Najpierw wklep mój kod. Problem miałeś w braku podciągania PinB2 do VCC, i w tym że najpierw gasiłeś diodę a potem ją zapalałeś w ifie i tak w kółko. Więc jak już to by CI bardzo szybko migała.
Napisz dokładnie jak podłączyłeś diodę świecącą. Migania diody przy kręcącym się wiatraku nie zobaczysz ze względu na wysoką częstotliwość.
Witam. Tani uC Atmela: ATmega8 - koszt ok. 6zł Są też układy serii ATtiny za ok. 5zł, ale lepiej już zainwestować w mega8. Posiada więcej pamięci i układów typu timery, przerwania, przetwornik, itd. Można też kupić za ok. 10zł ATmega32 - ten procek już w zupełności wystarczy do większości amatorskich projektów. Tym bardziej dla początkujących. Schemat...
Hej, Przedtem sprawdziłem tylko czy działa przetwornik. Dla pełni szczęścia ustaw jeszcze bit ADLAR w ADMUX (strona 205 pedeefa dla ATmega8). W przeciwnym wypadku bedą Ci migać co najwyżej dwie najmłodsze diody portu D. Jeżeli diody masz podłączone do VDD to mozesz zanegować ADCH (PORTD = ~ADCH) aby mieć zgodność świecenia diód z wartością ADCH. Pozdrawiam
Brak osi symetrii, dublujesz wymiary, na przekroju podaj wymiary średnicowe ze znaczkiem "Φ". Bazą jest zawsze otwór bo na nim mocujesz to koło. Rzut główny niczego nie wnosi. Zmień przekrój na pół widok - półprzekrój. https://www.google.pl/search?q=atmega8+M...
Witam, zastanów się co się dzieje w switch (OPCJA) dla PRZEL == 1. Jak będziesz wiedział jak działa switch...case, możesz wykorzystać go do migania diodami bez ciągłego delay między nimi i blokowania całego programu.
atmega8 migać dioda atmega8 bascom migać dioda atmega8 migać
podłączyć wtrysk zasila pompa paliwo nissan zanussi grzałka zmywarka
Rezystor 1R00 - czym zastąpić i ile ma omów? Zwarcie instalacji elektrycznej Ford Mondeo - diagnostyka i naprawa