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...
To zależy od tego jak masz ustawione wyrównanie wyniku w konfiguracji ADC. Trzeba ustawić bit ADMUX.ADLAR na 1 i wtedy masz w rejestrze ADCH wynik pomiaru "skrócony" do 8 bitów Co do pozycji potencjometru to skorzystaj z napięcia odniesienia jako AVCC (ADMUX.REFS0=1, ADMUX.REFS1=0) + kondensator na AREF i podepnij potencjometr między +5V a GND - nie...
Ta gałąź z wyłącznikiem jest dość nieszczęśliwie zrobiona... cóż... Jeśli nie zależy Ci na pewności działania a LED nie jest biały ani niebieski podłącz do portu A.0 rezystor pull-down sporej wartości, wyzeruj bity DDRA.0 i PORTA.0. PINA.0 może zostanie ustawiony po przyciśnięciu przycisku. Ale nie na pewno, bo producent gwarantuje stan niski dla napięć...
Tabelka z trybami niczego Ci nie wskazuje?
do odczytu portów służą rejestry PIN
Nie masz podciągnięcia pod zasilanie. Podłącz na próbę rezystor 1k między wejście portu a zasilanie i wtedy sprawdz czy jest ok. Inna przyczyna to być może pomyliłeś rejestry PIN i PORT - częsty błąd.
Myślę, że masz 2 problemy. Po pierwsze używanie OR w liniach inicjujących rejestry mści się na Tobie. Po drugie brak ustawionego BOD.
Jak potrafisz angielski to w nocie są dokładnie rejestry opisane, jest ich bardzo niewiele i właściwie nietrudno poustawiać je tak, żeby otrzymać żądany tryb
Zobacz jest nota Atmela migracyjna z mega8 na mega88 i porównaj zwłaszcza rejestry które są inaczej mapowane w pamięci. N.
Co robię źle Noty katalogowe czytasz po łebkach, a zwłaszcza fragmenty dotyczące rejestrów. - W TCCR2 nie ma bitów WGM12/CS02/CS00. - W Timer1 oba rejestry TCCR1A/TCCR1B należy konfigurować no i w CTC tylko OCR1A ma znaczenie.
Może być, ale wtedy nie możesz dać na diody więcej jak 4mA/szt. czyli będą świecić bladeńko! Wstaw pomiędzy rejestry przesuwne a diody stopnie mocy - mogą być UDN2981 żeby móc podać jakiś konkretny prąd na te diody. Rezystory do diod daj za ULN2003
Cześć, właśnie próbuje zrobić PWM na atmedze8 za pomocą Timera1 i chce uzyskać ten sam Pwm na obu wyjściach oc1a i oc1b i nie wiem jak ustawić rejestry tego licznika. Na wyjściu oc1a uzyskałem już pwm'a ale nie wiem jak uzyskać go równocześnie na wyjściu oc1b...???
Kombinowałem na różne sposoby i nadal nie rozumiem na jakiej zasadzie odbywa się sterowanie tymi układami z poziomu programu. Samą tabelę z datasheet zrozumiałem ale nie widzę co trzeba zmieniać w programie, by móc dostosowywać go do swoich potrzeb. Mógłbym Cię prosić abyś dorzucił kilka komentarzy? Zdecydowanie pomogłoby mi to w zrozumieniu. Musisz...
Witaj, No save spokojnie możesz użyć.... pod warunkiem, że nie korzystasz w obsłudze przerwania z instrukcji Bascoma bo jeśli tak to nie odkładając rejestrów na stos, zgubisz ich wartości i w najlepszym przypadku będą się działy różne rzeczy. Ja bym napisał wstawkę w asemblerze odkładając wcześniej na stos używane rejestry w tym SREG. Możesz też użyc...
Hej. Po pierwsze Timer0 w atmedze8 nie ma PWM A więc do PWM możesz korzystać tylko z Timera 1 oraz Timera 2. Po drugie twój problem leży w nazwach poszczególnych rejestrów konfiguracyjnych atmegi 8 sprawdź w dokumentacji atmegi8 jak w rzeczywistości nazywają się rejestry TCCR0A, TCCR0B, OCR0A bo tego dotyczy komunikat błedu. Poza tym pamiętaj że port...
hiv_sick , powinieneć mieć 1 kondensator 100nF na parę VCC-GND każdego układu cyfrowego - czyli 3 szt. na 3 rejestry + 1 sztukę na procesor. U Ciebie te kondensatory są między 9V a GND, a powinny być między 5V a GND. Jesteś pewien, że jako IC10 nie użyłeś stabilizatora dla napięć ujemnych?? Bo tak wygląda z ułożenia wyprowadzeń. Powinieneś użyć LM7809......
W helpie opisane jest ze nazwa Alias portc.2 a prwidlowo jest nazwa alias pinc.2 Właśnie. Nie zauważył kolega, że Portc i Pinc to są różne rejestry AVR'a. Znowu nie chodzi o kolorowe tylko o zrozumienie filozofii portów µC. Przypomnę: Portx - rejestr, do którego zapisujemy stan portu jeśli jest zdefiniowany jako wyjścia, lub podłączenie rezystorów...
http://obrazki.elektroda.pl/6006020500_1... Witam Jestem uczniem 2 klasy liceum, z elektroniką łączy mnie tylko hobby. Chciałbym przestawić mój projekt wykonany na konkurs Gra Retro. Jest to remake gry Tetris. Jako wyświetlacz użyłem monitora VGA (w tym wypadku LCD) oraz pada od Pegasusa jako kontroler. Całe oprogramowanie zostało napisane...
Witam, to jednak nie wygląda dziwnie ... bo najprawdopodobniej pomimo to, że użyłeś zwenętrznego kwarca do procka to nie przestawiłeś fusebitów tak aby to on taktował procka. W związku z tym procek taktowany jest chyba tak jak fabrycznie ustawione są fusebity - czyli za pomocą oscylatora wewnętrznego o częstotliwości 1MHz. I dlatego masz ten jak piszesz...
Mam taki kod linkera: MEMORY { CODE (xr) : ORIGIN = 0x0000, LENGTH = 128K DATA (rw) : ORIGIN = 0x0100, LENGTH = 4K } I dopuki kod zajmowal mniej niz 256 bajtow to wszystko sie linkowalo. Po przekroczeniu 256 bajtow kodu wykonywalnego pojawia sie blad linkowania: avr-ld: section .bss [0000000000000100 ->...
Do działania timera nie jest potrzebna nieskończona pętla while. Dobra praktyka wskazuję aby w całym programie znalazła się co najmniej jedna nieskończona pętla. Wartość OCR można wpisać na stałe skompilować i wgrać do procesora. Wypróbuj jeszcze ten tryb 14 z ICR1 na TOP wklejam działającą konfigurację pod Atmege 16(sprawdziłem rejestry i konfiguracja...
Wiesz, wszystko zależy od tego jaką częstotliwość będzie miał sygnał CLK oraz ST z datasheeta. CLK może się wahać z tego co widzę od 500 Hz do nawet 10 MHz. Jeżeli byś taktował detektor odpowiednio wolnym sygnałem to wyślesz do procesora wszystkie próbki, ale jeżeli CLK ma być większe, wtedy rzeczywiście trzeba coś kombinować. Generalnie w datasheecie...
Wydaje się, że już dużo osiągnąłeś. Skoro działa transmisja, choćby w jedną stronę, tzn. że opanowałeś rejestry TWI. Nie mam w tym specjalnej praktyki, ale może akurat udałoby się coś zauważyć, wymyślić - tak mnie jak i innym forumowiczom - jednak pod warunkiem, że podasz listing programu. Gotowego pragramu nie mam, jakiś przykład widziałem w helpie...
Witam student.PB przyjmij że koło 20 ms, teoretycznie powinno być 20 ms ale wielu producentów stosowało odstępstwa od tej zasady tak samo jak od tego że neutrum w serwie jest 1,5 ms. Odchyłki okresu rzędu 10% każde serwo będzie tolerowało, neutrum trzymałbym się 1,5 ms bo jest prawie pewne że na takie serwo trafisz. dondu co do metody to zaproponowałem......
witam Dopiero zaczynam zabawę z mikroprocesorami więc jeśli pytanie jest trywialne proszę się nie śmiać Chciałem porobić funkcję z powtarzających się części kodu i tu natrafiłem na dwa problemy 1. funkcja przycisk - potrzebuję przekazać rejestr wejściowy i nie wiem jak to zrobić [syntax=c]char Fprzycisk(unsigned char PINX,unsigned char PINXx,int gen_500){...
Witam, Dzisiaj zmierzyłem się z tym samym problemem, choć kod na ATTINY13 przerabiałem samodzielnie. Taktowanie wewn. 9,6MHz. Oprócz użycia zaktualizowanych wzorów na obliczanie czasów bitów i pół-bitów trzeba było zwiększyć tolerancję: #define DD_RC5_TOLERANCJA_US 350 Po tej zmianie zaczęło działać poprawnie. Jak widać więc attiny13 ma "pecha" do tych...
Zmagam się z rejestrem, którego ma ATmega8 symulować, ale nie przyjmuje Danych na rosnącym zboczu CLK. http://obrazki.elektroda.pl/2487102600_1...
Jak wiemy mikrokontrolery avr maja w datasheecie wartości initial value. Wiem ze po wgraniu nowego programu następuje reset i porty I/O są ustawione w stan wysokiej impedancji. A co z rejestrami np. TCCR, TIMSK od timerow czy rejestrami np od transmisji szeregowe czy jeszcze innych? Są ustawiane na swój initial value jak podaje producent w konkretnym...
Witam. Ostatnio zainteresowałem się komunikacją uP z innymi urządzeniami i napisałem prosty program do obsługi Atmega 8 - PC( Labview). Problem polega na tym ,że potrafię przesłać ramkę danych ale w jaki sposób zaadresować ją do konkretnego urządzenia ? Myślałem o tym by każdemu urządzeniu nadać jakiś unikatowy adres i przesyłać kolejno ramkę adresu...
http://obrazki.elektroda.pl/3023593900_1... Sterownik ten powstał w celu ożywienia wyświetlacza magnetycznego z autobusu. Obecnie wiele pojazdów jest sprowadzanych z zagranicy, lecz do oryginalnych sterowników nie ma już dokumentacji, a firmy które je produkowały dawno nie istnieją. Sterownik może obsługiwać matrycę z kontrolerem FP2800A...
Cześć !!! Pomysł bardzo dobry i ciekawy. Ale propnuje przesiąść się na jakiś procesorek ze sprzętowym I2C np. Atmega8 lub któryś z grupy nowych procków Philipsa. Dlaczego. Komunikację Mikroprocesorów z i2C w trybie Slave najłatwiej jest zbudować, gdy masz możliwość obsługi protokołu w przerwaniu. Tzn. procek dalej się kręci , coś czyta czym się zajmuje...
Witam ] Nie jestem pewny czy aby dobrze myślę....... Czy ustwanienie CS02 na 1 i CS01 na 1 tak jak w medze8 również w tiny13 ustawia timer0 w CTC MODE i FALING EDGE ? Nie, nie możesz tu stosowac tego typu 'ściągawki' bazując na pewnej analogii oznaczeń funkcji i terminów dla analogicznych rejestrów. Istotnie, ustawienie bitów CS02 i CS01 na 1 w rejestrze...
http://obrazki.elektroda.net/42_12648689... Na temat projektu avr-cdc z [url=http://www.recursion.jp/avrcdc/]htt... napisano już wiele i jeszcze więcej - nie będę się rozpisywał o samej idei - można zajrzeć chociażby do wątku [url=http://www.elektroda.pl/rtvforum/to... prosta niezawodna przejściówka...
https://obrazki.elektroda.pl/8941835900_... Z okazji zbliżających się świąt postanowiłem zaprezentować ozdobę, którą zbudowałem dwa lata temu. Od strony elektronicznej jest to zwykła lampka RGB, czyli nic niezwykłego. Warte uwagi są zastosowane w niej elementy świecące, bowiem są to oświetlacze LED wymontowane ze skanerów. Można je...
http://obrazki.elektroda.pl/8464280000_1... Witam, Chciałbym przedstawić świeżą świąteczną mini choinkę elektroniczną. Do jej budowy zużyte zostały 72 diody LED SMD (przeźroczyste) w kolorach: zielony, czerwony i niebieski. Diody łączone szeregowo po 3 sztuki i zasilane napięciem +12V. Załączane są przez tranzystory NPN - SMD w obudowie...
http://obrazki.elektroda.net/27_12896925... Witam. Chciałbym zaprezentować projekt matrycy LED 20x10 punktów + 2 punkty. Ogólny opis: Jest to projekt kołowej matrycy 200 punktowej + dwa dodatkowe punkty . Matryca domyślnie miała posiadać 20 promieni (taki był projekt elektryczny jak i oprogramowanie) oraz 10 okręgów. W rzeczywistości podczas...
http://obrazki.elektroda.pl/2288772000_1... Witam, W końcu jest, po długich bojach wynikających z ciągłego braku czasu, praktycznie skończony zegar tekstowy made by Mitsubishit W zegarze się zakochałem jak tylko go ujrzałem w wersji oryginalnej na niemieckiej stronie producenta. Emocje ostudziła cena - jedyne 996Euro. Ale od tego czasu...
Odejmij jeden od drugiego, wynikiem będzie najstarszy bit określający znak wyniku.
https://obrazki.elektroda.pl/5658669200_... Chciałbym przedstawić opis prostego woltomierza pseudoanalogowego. Odczyt wartości zmierzonej następuje w formie punktu świetlnego diody LED, stylizowanej na wzór wskazówki miernika analogowego (opcjonalnie w formie linijki LED), lecz pomiar następuje drogą cyfrową, z wykorzystaniem mikrokontrolera....
https://obrazki.elektroda.pl/6088324800_... Zazwyczaj elektronicy-amatorzy stosujący w swoich projektach wyświetlacze ciekłokrystaliczne posługują się dedykowanymi sterownikami (np. HD44780) pośredniczącymi pomiędzy mikrokontrolerem a LCD, a przynajmniej można wyciągnąć taki wniosek na podstawie wyników zwracanych przez wyszukiwarki....
https://obrazki.elektroda.pl/1662014800_... Witam wszystkich serdecznie Dziś chciałbym Wam przedstawić bardzo przydatną (jak dla mnie) przystawkę do nauki programowania. Na początek trochę historii (oczywiście historia elektroniki). Ja już ponad ćwierć wieku bawię się elektroniką - często robiłem coś tylko dla tego aby zdobyć doświadczenie,...
sp4msu -> hmm mi naprawdę trudno ocenić dlaczego w tym programie jest Test failed. Nie wiemy przecież jaką drogą komunikuje się on z portem - jeśli nie za pomocą WINAPI tylko np poprzez rejestry sprzętowe układów na płycie głównej czy kart rozszerzeń to na pewno zawsze będzie test failed w przypadku portów COM virtualnych (takich na USB). może dorobisz...
Witam, piszę program na atmedze 8, w c. Potrzebuję używać stanu uśpienia. Doczytałęm sie w dokumentacji że odpowiedzialnym rejestrem za takie rozkazy jest MCUCR. Zacząłem sobie przeglądać ten rejestr, ale podejrzane mi się wydało że jego pola (bity) są ulokowane w środku. zacząłem wgłębiać się w dokumentację i znalazłem jeszcze jeden taki rejestr o...
Wszystko się zgadza. Ale pamiętaj, że program na Atmega328 może nie działać na Atmega8. Rejestry mogą mieć inne adresy, mogą być różnice w rejestrach (bity inaczej rozmieszczone lub kompletnie inaczej rozwiązane), itp. - trzeba to sprawdzić i ewentualnie zmienić w programie i skompilować. na przykład używany w i2C rejestr TWSR ma adres: - w ATmega8...
http://obrazki.elektroda.pl/7351975200_1... Witam. Chciałbym zaprezentować wykonany przeze mnie zegar binarno-cyfrowy oparty o mikroprocesor Atmega8. Dlaczego binarno-cyfrowy? Ponieważ ma dwa tryby działania: 1. Tryb binarny, gdzie świecą jedynie niebieskie diody. 2. Tryb mieszany, gdzie dodatkowo oprócz postaci binarnej mamy też możliwość...
http://obrazki.elektroda.pl/7154876600_1... Boberov Unbelievable Boot Loader V0.1 2013 Na wstępie skrócone informacje na temat projektu którego szerszy opis znajduje się w dalszej części tekstu. Program bootloadera przeznaczony jest dla ATMEGA8 (po minimalnych zmianach każdy AVR z wystarczającą ilością pamięci), umożliwia programowanie...
A nie lepiej rejestry SIPO?;-)
Zacznijmy od tego, że w Tiny2313 nie ma ADC więc tu pytanie jest bezprzedmiotowe :D W Tiny261 timery są ciut nowsze niż w przypadku Mega8 i Tiny13. Wystepują tam już podwójne rejestry dla Timera0. Są to odpowiednio A i B czyli COMPARE 0 A i COMPARE 0 B. Zero odbosi się właśnie do Timera 0 Ogólnie dla nowszych prockow AVR jest to normą że tych rejestrów...
Witam Od kilku lat bawię się Bascomem i jest to fajny kompilator, ale tylko do pewnego momentu. Helpa można zużyć spokojnie jako papier toaletowy. Publikacje Pana Wiązani są dobre ale tylko na początek zabawy. Ostatnio pracuję nad pilotem RTV który ma obsłużyć 4 urządzenia. No i zaczęły się schody. Pierwszy problem to sprzętowy generator nośnej ok....
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...
Czy w ATmega8 da się wykonywać operacje na pojednczych bitach w rejestrach i/o, np TWCR? Jeśli chodzi o rejestry I/O z zakresu adresowego 0x00 do 0x1F to tak. Jeśli chodzi o rejestry znajdujące się wyżej - od adresu 0x20, przykładem jest właśnie TWCR - to nie. Polecenie SBI TWCR, 6 skutkuje błędem error: Operand 1 out of range: 0x36, (...) Wytłumaczenie...
Ok, wektor to był by ten: [syntax=cpp] TIMER0_OVF_vect [/syntax] Ale te rejestry nadal nie wiem jak ustawić.
Witam Czy można w bascomie ustawiać rejestry odpowiedzialne np za to, czy procek (ATmega) korzysta z wewnętrznego czy zewnętrznego oscylatora kwarcowego, np w ATmega8 ustawia się to za pomocą CKSEL0...3 i czy da się to w bascomie ustawiać? Dzięki za odpowiedź i pozdrawiam.
http://obrazki.elektroda.pl/5677505400_1... Konwerter USB I/O współpracujący z programem ProfiLab-Expert 4.0 Chyba każdy początkujący elektronik spotkał się w swojej naukowej karierze z koniecznością lub też chęcią zaprzęgnięcia swojego komputera do sterowania różnymi urządzeniami zewnętrznymi. Prezentowany układ spełnia wszystkie te...
atmega8 rejestry atmega128 rejestry mcp23017 rejestry
ukrywanie arkusza p0201 p0204 avrdude error enable
sharp aquos ustawienia sharp aquos ustawienia
Moc silnika OKC2-2: elektryczny czy okrętowy? Układ scalony w pilocie RCU76 - identyfikacja i analiza