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>
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 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...
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...
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...
Ż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żeli masz watchdog ustawiony na stałe a brak w programie jego kasowania to tu może być przyczyna. Pzdr. N.
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...
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...
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
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...
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.
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???...
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...
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...
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...
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;...
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...
Koledzy może ktoś mi wytłumczy dlaczego miga tylko 1 dioda //definiujemy stany portu sterującego diodą LED #define LED_ON sbi(DDRD,PD1);sbi(PORTD,PD1&... #define LED_OFF sbi(DDRD,PD1);cbi(PORTD,PD1&... #define LED_ON1 sbi(DDRD,PD3);sbi(PORTD,PD3&... #define LED_OFF1 sbi(DDRD,PD3);cbi(PORTD,PD3&...
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...
Co to znaczy ciut za wolno? Ten program sprawia, że dioda powinna migać z częstotliwością 0,5Hz.
Witm męczę się od dwóch dni z przerwaniem zewnętrznym Atmega8. Programowania dopiero się uczę chciałem wypróbować jak najbardziej łopatologicznie się da, jak działają takowe przerwania. Program działa tak ze cały czas miga na przemian raz jedna raz druga dioda lecz gdy na 4 pinie pojawi sie stan niski zacznie działać przerwanie i na 10s zapali się 3...
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 wszystkich Mam następujący problem. W moim programie występuje linijka, gdzie po wciśnięciu przycisku wykonuje się wiele instrukcji, m.in. zapalam diode. W trakcie działania programu wszystko jest OK. Ale problem jest po włączeniu układu do zasilania, gdyż wchodzi on w pętle gdzie warunkiem jest wciśnięcie przycisku pomimo, że wciśnięty nie jest....
Wykonałem zasilanie Atmegi8 podobnie jak na stronie: http://hobby.abxyz.bplaced.net/img/art00... Z kolei na innej stronie: http://mikrokontrolery.blogspot.com/2011... Pisze, aby 3 i 5 pin podłączyć do masy, a 4 i 6 do Vcc. Dodatkowo jest tam pin 29, a przecież atmega8 ma 28 pinów. Podłączałem Atmegę wg schematu...
Witam. Niedawno zaczolem przygode z mikrokontrolerami i napotkalem pewien problem. Układ ma zapalac z przycisku wszystkie 4 diody na raz , po nacisnieciu tego samego przycisku powinnien gasic te diody. Zapala natomiast diode 1, 2 ,3 a wygasza 4 i odwrotnie. Wklejam kod: #include <avr/io.h> #include <util/delay.h> #define LED_1 (1<<PB1)...
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...
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...
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ę...
.... 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
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...
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...
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);...
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.
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...
Nie mam pojęcia, ale jak już napisałem odnosisz mylne wrażenie, co udowodnił poprawnie działający program migania diodą.
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 ?
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ń....
Proponuję zamiast INPUT użyć INPUT_PULLUP.
Brak 2 kondensatorów 27PF przy kwarcu dlatego oscylator pracuje niestabilnie. Rezystory trzeba dodać do segmentów A....G a CA1...C3 bezpośrednio do portów inaczej wszystko będzie zmieniać jasność świecenia.
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.
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
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...
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ść.
migać dioda atmega8 atmega8 bascom migać dioda atmega8 migać
piekarnik mastercook wymiana termostatu piecyk gazowy słabo grzeje czujnik ruchu włącza wyłącza
Pływak przeciwzalaniowy w zmywarce Sharp – lokalizacja i dostęp do czujnika Zamienniki głośnika ARV-104-00/8: STX T.10.200.8.MSX, Morel CAT 298, Zetag E2803, Dayton DC28F-8