Sprawdź jeszcze jeden "myk" Wszędzie zamiast Chr( ) wpisz ten sam numer tylko w nawiasach klamrowych (bez Chr - tylko sam nawias i trzy cyfry) Przykład: Zamiast Chr(1) wpisz Lcd {001} Zamiast Chr(7) wpisz Lcd {007} Zamiast Chr(32) wpisz Lcd {032} Kod się znacząco zmniejszy co może się czasem przydać przy małych mikrokontrolerach. Chr( ) to funkcja zamieniająca...
Liczniki są osobnymi blokami uC, więc jeśli sygnał wejściowy jest poprawny, to impulsy powinny być zliczone poprawnie. Podany wyżej program to program użyty w moim mierniku częstotliwości okrojony z niepotrzebnych ci rzeczy, które mogłyby zaciemnić jego sens. Działa przy częstotliwości kilku MHz.
Może się pomyliłem, ale chyba przerywasz sobie odbiór co 2ms. Dlaczego nie użyjesz wyższego preskalera? Np. 1024? Możesz nawet po ustawieniu Flagi wyłączyc Timer i po odbiorze włączyć ;) Timery można dowolnie konfigurować podczas pracy programu. Druga sprawa ustaw sobie odbiór do bufora w tle (Config Serialin = Buffered, Size..)
Najpierw dajesz Config INT0=Falling Wprowadzasz zmienną opisującą wybrane zbocze wyzwalające przerwanie (Edge_) i w procedurze obsługi tego przerwania: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End If Niektóre AVR'y umożliwiają konfigurację typu Config INT0= Change Wtedy przerwanie wywoływane będzie po stwierdzeniu...
ale kabelki od komórek mają inne poziomy napęć 0V-3V w środku powinny byś jakieś didoy zenera albo coś. najlepiej zrób sobie swój kabelek do atmeli. Właśnie tego chciałem dociec :D Mój znajomy , podłączał taki kabeleko do proca przez MAX232 i dziwił się , że toto nie działa :) Piotrek
W Bascomie jest do tego specjalna instrukcja Zaglądnij do Helpa na polecenie Pulsein Zauważ że zarówno instrukcja pulsein jak i pulseout mierzy tylko czas trwania impulsu a nie całego cyklu; patrz paniżej diagram: http://obrazki.elektroda.pl/1148630500_1... Zmierzysz tylko L1 albo L2 . Autor potrzebuje zmierzyc czas L (czas pomiędzy...
Witam. Mam problem z uruchomieniem sterownika z tej strony: http://mirley.firlej.org/prosty_sterowni... Bascom poprawnie programuje avr ale jest problem z ustawieniem fusebitów. ............ Jak poprawnie ustawić fusy w bascomie ? W czym konkretnie masz problem? Nie potrafisz poprawnie zidentyfikowac fusebitów, czy też ich wyeditowac wg potrzeby?...
hmm. mam lcd'ka podswietlanego folia EL. chciałem na jednym z pinów procesora 89C2051 (nieposiada on PWM) wygenerowac czestotliwosc 20-40kHz za pomoca prostego polecenia SOUND. W ten sposób wysterowac jeden tranzystor bipolarny. Ten z kolei minitransformator podnoszacy napiecie z 5V na 100V Jakie wartosci indukcyjnosci miał by on miec?? rdzen np taki...
Witam. Transformator zastosuj troszkę większy np.TS4/40, bo wiem że 2/14 będzie sę znacznie grzał przy wysterowaniu wszystkich przekaźników naraz, dodatkowo między reset a VCC wepnij opornik 4,7....10k tylko przy programowaniu go odłącz. Styki wykonawcze (obciążone) przekażników zabezpiecz warystorami., no i te diody jak kolega pisał wyżej koniecznie...
Ain0 w procku jest podłączone do masy? bo jak tak to raczej nigdy nie znieni się stan na wyjściu wewnętrznego komparatora, minimalne napięcie na wyjściu wzmacniacza operacyjnego (LM358N) wynosi około 0,7V. znam na to dwie rady: 1; na wejście Ain0 daj napięcie z dzielnika rezystancyjnego (może być potencjometr) 2; zwiększ wzmocnienie na wzmacniaczu i...
Oprogramowanie jest takie samo jak do 3210 i 3310. Różnica występuje w podłączeniu bo zamiast 8 wyprowadzeń 5110 ma 9. Polecam kurs z EP 5, 6, 7/2003. Programy w BASCOM'ie znajdziesz na forum. P.S. Wyświetlacze od NOKII to bardzo krucha materia. Łatwo je uszkodzić więc zapoznaj się z kursem i nie przesadzaj z kontrastem. (Zanim do tego doszedłem wykończyłem...
Szybciej byś kupił mową ATmega16 i po kłopocie....
Nie prościej generować przerwanie co np 1s od timera?
$crystal = 14745600 Czy oprócz podłączenia takiego kwarcu ustawiłeś odpowiednie fuse bity? Następna rzecz to nie musisz robić resetu 1wire. Największy błąd polega na tym że nie czytałeś helpa bo gdybyś to zrobił to dowiedziałbyś się że zmienna do której zapisujesz ilość urządzeń koniecznie musi być typu WORD lub INTEGER. Na koniec radzę ci skorzystać...
No cóż. Wprawa i rutyna (niestety). Zapraszam do nauki. Z uC można 1000000 razy więcej.
Automatykon - czy Ty przeczytałeś mój wcześniejszy post w tym wątku? Przecież problem masz tam rozwiązany. teedd
No to kawa na ławę. Instrukcja Getrc5 w czasie działania używa jest licznika TIMER0 i związanego z nim przerwania. Licznik ten jest służy do generacji wymaganych opóźnień podczas próbkowania sygnału. TIMER0 może być dalej używany przez program, lecz należy się liczyć z wynikłymi opóźnieniami, gdy wykonywana będzie funkcja GETRC5(). Jest tylko jeden...
Robisz prosty błąd w składni. Poczytaj w helpie o Load. Nie tak: [syntax=basic4gl]Load Timer1 = jakas_wartosc[/syntax] tylko tak: [syntax=basic4gl]Load Timer1 , jakas_wartosc[/syntax] Z tego co pamiętam można również tak. przykładowo: [syntax=basic4gl]Timer0 = 249[/syntax] co jest równoważne: [syntax=basic4gl]Load Timer0 , 6[/syntax] Ale to sobie musisz...
Zainteresuj się funkcja Printbin oraz podziel dane na osobne bajty.
No to zaczynamy po raz kolejny. Coś takiego jak stworzyłeś to niestety za szybko nie będzie działać. Mega z kwarcem rs 14 z groszami działa naprawdę szybko i można zrobić bardzo dużo w jedna sekundę. Do odbierania i wysyłania danych można sobie napisać własną procedurę - nawet w bascomie i jest ona sporo szybsza i działa rewelacyjnie. Deklarujemy przerwania...
Witam Ustaw 4 jedynki. Pozdrawiam
Można bazować też na tutorialu na atmega8... Jest nieco więcej chyba tutoriali na ten uC... Oczywiście trzeba się zapoznać z dokumentacją do mega16 bo konfiguracja portów jest inna... Pozatym drastycznych różnic niema... Co do języka to bascom faktycznie jest nienajlepszy i chyba nawet nie warto się w niego pchać... W miarę dobrze znam C a asembler...
A moze to nie jest kwestia Bascoma tylko tego ze Atmega nadal chodzi na wewn. oscylatorze 1MHz. Z objawow by tak wynikalo ze tak wlasnie jest. Przestawiales fusebity na prace z zewnetrznym kwarcem ?? Pozdro Dexter
Jak czytałeś lub nie :) karta ma sekwencje "startu" , nie pamiętam teraz jaki ma format, jest to jakiś 5bit znak, ja najpierw z czytuje cały bitstream od czytnika i potem funkcją szukam startu jak nie znajdę to "przekręcam" bufor (znaczy ostatni bit staje się pierwszym w strumieniu) i jeszcze raz szukam znaku startu, potem już tylko na podstawie tablicy...
[syntax=vbnet]Lst = Array(&B11111110,&B11111101,&B11111011,&... do for each V in Lst ; tu wpisujesz do portu wartość V Waitms 100 next V loop[/syntax]
Musisz wyzrować bity RS1 i RS2 w Control Register (0Eh) ,13 strona DS
No to kupiłem drugi mikrokontroler i ISP działa. Mam pełne porty A B D ale za to nie mam PC2-PC5. Znalazłem, że to porty od JTAG i chciałem ustawić JTAGEN na 1 w AVR8 Burn-O-Mat v2 ale niestety jest on na czerwono i nie mogę go przełączyć. Czy jest jakaś możliwość za pomocą programatora ISP dokładnie usbasp wyłączyć JTAG? Może zamiast programatora...
Instrukcje masz? Lub chociaż schemat tej płytki? Na pewno. Google : Kurs AVR BASCOM lub GCC.
Przede wszystkim. Zejdź z taktowaniem do jakiejś normalnej wartości dla ATmega16 i przetestuj czy wtedy komunikacja z DS-ką jest prawidłowa. Jeśli nie to najpierw musisz naprawić sprzęt/algorytm by wszystko działało prawidłowo. Jeśli na niskim taktowaniu komunikacja będzie w porządku to będzie to oznaczało tylko to, że specjalne makra opóźniające jakie...
Darmowy bascom AVR pozwala na 4kB kodu. Może się udać. ATmega8 lub ATmega16 posiadają przetworniki ADC o rozdzielczości 10-bitów Przy pomiarze ciśnień do 1500 barów realna dokładność odczytu będzie na poziomie ok 3 barów. Sam musisz zdecydować czy to wystarczy. Jeśli będziesz musiał zastosować zewnętrzny przetwornik dla większej dokładności to w4kB...
8 znakow SN da sie bez problemu zapisac w 4 bajtach + 1 bajt na dodatkowa dane, czyli 5 bajtow na kazdy "rekord". I teraz: 500 * 5 = 2500 bajtow. Pamiec 24c32 ma pojemnosc 4096 bajtow a 24c64 - 8192 bajty co pozwala w Twoim przypadku zapisac ~1638 "rekordow" czyli az nadto. Pamieci te sa tanie i latwo dostepne. Zatem karta SD jest w tym przypadku raczej...
Dzięki za pochwałę do wejscia RXD mam podłączoną diode i opornik jak w pierwszym poście tylko ze dioda to 1n4148 a opornik ten sam czyli 10k wpiołes sie dobrze w szyne ibus ale widze ze masz dużo błędów w programie np brak pętli itp osobiście robię projekt na atmega16 który będzie pracował w roli tempomatu i obecny kod mam bardzo rozkopany postaram...
Zmieniłem program na ATmega8 ( bo ATmega16 nie posiadam ) [syntax=basic4gl] '$regfile = "m16def.dat" $regfile = "m8def.DAT" $crystal = 8000000 Config Pind.7 = Input Config Pinc.0 = Output Set Portc.0 Set Portd.7 Do If Pind.7 = 0 Then Portc.0 = 0 Else Portc.0 = 1 End If Loop End [/syntax] wgrałem, program działa dobrze. Bascom DEMO 2.0.7.1
Proponuje zacząć od ćwiczeń na jakimś gotowym zestwie np. coś takiego: http://sklep.avt.pl/p/pl/49612/plytka+dr... Lub szukaj pod nazwą "Zestaw uruchomieniowy". Jeśli czujesz się na siłach to możesz kupić w częściach i zlutować samodzielnie. Jak nie, to szukaj gotowego uruchomionego. Na początek sugerowałbym coś z procesorów...
Zainteresuj się poleceniem FUSING. Przeczytaj helpa i zobaczysz, że da się zrobić.
Nie znam BASCOMA ale nei masz tu ani ustwionej szybkości transmisji ani nie piszesz nic o ustawoenieu fusebitów. Może ATmega16 pracuej Ci w dalszym ciągu na wewnętrznym rezonatorze 1MHz - na co by zresztą wskazywało: "... W dodatku odmiezane czasy przez procesor sa znacznie wydluzane..."
Witam. Wczoraj programowałem (STK500 + Bascom AVR) uP i ...... ............nie daje się zaprogramować ... Pierwsza rzecz: jeżeli faktycznie dysponujesz programatorem STK500 , to ten programator ma możliwość programowania wysokonapięciowego oraz równoległego z pominięciem ISP, więc problem przypadkowego wyłaczenia ISP lub zaprogramowania pinu 'Reset'...
No tak, to święta prawda. Do tego Bascom sam z siebie dodaje sporo zbędnych procedur. Najgorszym przykładem jest obsługa LCD - ok 1kb kodu. Ja teraz kończę obsługę I2C Slave bo Bascom oferuje to tylko za dopłatą. Bascom , jest jak ... klucz uniwersalny. Potrafi odkręcić wiele śrubek , ale jest jest duuuuużo większy od np. ósemki oczkowej ;) Tą z kolei...
Witam ,niedawno zakupiłem Atmege16A i okazuje się ,że programy w Bascomie pod nią napisane nie działają :( Jako regfile używam: "m16def.dat" ,bo tylko taki mam na liście do wyboru. Chciałbym dodać ,że wcześniej pisałem kilka programów dla Atmega16 i działały ,a teraz na wersji Atmega16A ,nie działają nawet te stare programiki :( W PDF wyczytałem ,że...
Zacząłem walkę z dwoma modułami RFM12b. Oba moduły podłączone do ATMega16 w sposób opisany w PDF: nIRQ -> INT0 (PD2) nSEL <- SS (PB4) SDI <- MOSI (PB5) SDO -> MISO (PB6) SCK -> SCK (PB7) Moduły są 868MHz, uP taktowany kwarcem 16MHz. Nie bardzo rozumiem konfigurację modułów a różne (niby działające) przykłady są przeważnie albo w C (nie...
Witam, Twój schemat przypomina trochę schematy z gazet - maksymalne upchanie elementów, co mocno utrudnia czytanie - tylko że tam jest to podyktowane ograniczonym miejscem. Ogólnie robi się tak - wejścia układu po lewej, wyjścia układu po prawej. Sygnały "płyną" z lewej na prawą. Punkty znajdujące się wyżej na schemacie mają zwykle wyższy potencjał...
Mam problem y programowaniem mikrokontrolera atmega 16. Raz się zaprogramował działał poprawnie, a przy drugim programowaniu BASCOM nie wykrył mojego mikrokontrolera. ale czytał jego numer (ID:21343F) Nie pamiętam tylko czy to był dokładnie ten numer. Kupiłem drugi mikrokontroler. Zaprogramował się kilka razy i znowu podobnie tylko że teraz wyświetla...
Witam, Zakupiłem sobie ATmege16 testowałem jej działanie. Mogę odczytać jej sygnaturę, mogę ustawić taktowanie, mogę wgrać program. Problem jestt w tym, że jakkolwiek bym nie ustawił stanu wyjść, procesor nie wystawia ani 1 ani 0. Dokładniej: Podłączyłem diodę anodą do PB.0 i katodę przez R 100Ω. Program: [syntax=bascom] $regfile = "m16adef.dat"...
Witam, uczę się pisać w Bascomie dopiero od niedawna, umiem już pisać podstawowe programy. Zainteresowałem się ostatnio interfejsem DMX512, chciałbym napisać program do odbioru sygnału w standardzie DMX512. Niestety moja wiedza nie wystarcza mi jeszcze na napisanie takiego programu samodzielnie. Znalazłem w internecie stronkę: http://www.gerold-online.de/cms/uc-proje...
Witam. Mam gorącą prośbę do kogoś z programatorem AVR: chciałbym, żeby ktoś zaprogramował mi układ mega16. Układ wyślę, pokryję wszelkie koszty. Proszę o pomoc!!! Aha, program w BASCOM-ie tez dostarczę.
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog . Teraz w newralgicznych punktach programu musi zostać...
Moje pytanie dotyczy takiej sprawy: Robie kurs "mikroprocesorowa ośla łączka" zrobiłem sobie płytkę testową ale na trochę innym układzie bo nie na 2313 a na etmega16 . I wszystko ładnie pięknie az do momentu w którym chciałem zrobić taki oto przykład: Config Portb = 255 Portb = 255 Config Portd = &B11111100 Portd = &B10111111 Eedr = 4 Do Debounce Pind.0...
Witam, jeśli nazwa tematu jest zła to prosiłbym moderatora aby nie usuwał całego tematu tylko ją poprawił ;) Niedawno nabyłem ATmega16, zbudowałem sobie prosty programator, 4 rezystory połączone z odpowiednimi pinami z LPT + zasilanie z USB. Mikro kontroler próbowałem zaprogramować w BASCOM-AVR owym programem: [syntax=c]$regfile = "m16def.dat" $crystal...
Nie rozumiem jak przerwanie od licznik 8 bitowe mialoby przeszkadzac w dzialaniu pozostalych przerwan czy calego programu.. Przerwanie np przy 16Mhz bedzie generowane 62500 /preskaler na sek od licznika 8 bitowego, a zajętość (stan CLI) procesora oceniam na ponizej 1 uS co chyba nie wplynie na pozostale zadania procesora.
Witam Mam problem z prawidłowym wygenerowaniem nośnej 36kHz dla diody IR. Otóż mam taki prościutki programik który powinien taką nośną generować: $regfile = "M16def.dat" Pwm1a = 55 Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 ale tego nie robi. Na wyjściu OC1A (portd.5) nie występuje żaden przebieg, dlaczego?
Redundancja. Dwa czujniki niezależne. Podtrzymanie z dużego akumulatora. Jak często wyłaczają prąd i na jak długo? W rurach glikol- nie zamarźnie. Gorzej jak się nie wyłączy i wybuchnie.
Witam Przekopałem całe forum manuala i mam kłopot bo nie znalazłem odpowiedzi na moje pytania. Może najpierw zacznę od tego co muszę zrobić. Potrzebuję generatora impulsów PWM, ma mieć kilka częstotliwości do wyboru z góry zdefiniowanych, po wybraniu jednej częstotliwości i naciśnięciu startu wypełnienie ma się zmieniać powiedzmy co 5 sekund o 5%. Nie...
http://obrazki.elektroda.pl/8074733100_1... Witam, Ostatnio wpadła mi w ręce karta VGA sterowana poprzez złącze szeregowe SPI. A a ponieważ w domu poniewiera się kilka starych monitorów VGA to postanowiłem zbudować zegar wyświetlający czas i datę na monitorze VGA (bez udziału PC) Takiego zegarka na elektrodzie chyba jeszcze nie było....
Właśnie cały problem w tym, że program główny ma co robić i nie jest pustą pętlą.. Temperatura musi być stale kontrolowana choćby dlatego aby włączać wentylatory (jest to wzmacniacz) lub reagować np wyłączaniem zasilania.. Dlatego zależy mi aby działało to poza programem głównym.. I pomijając estetykę programu... Czemu to nie chce działać? Co ma odczyt...
Czyli tak - dajesz Atmelka zależnie od potrzeb ATTiny2313, ATMega8 lub ATMega16 /8515/8535 itp...(portów hohohoho), do PC łączysz się przez: 1. SPI/USI<>LPT (wersja nie wymagająca dodatkowych elementów), PC pracuje jako MASTER, ATMEL jako SLAVE (ten układ składa się TYLKO z procesora, jakiegoś kondensatorka odsprzęgającego zasilanie) 2. UART<>RS232...
Większość gotowych systemów alarmowych posiada wejscia parametryczne tzn takie, które wymagają rezystorów . Budowa takich wejść opiera sie o tzw komparator okienkowy ,który dość łatwo zrealizować w oparciu o dwa komparatory analogowe np LM393 lup poczwórny LM339. M16 to właściwy wybór pamiętaj tylko że układ w czuwaniu pracuje wiele godzin więc należy...
Proponuje zamknac temat problem rozwiazalem z pomoca ksiązki Pana Wiązani. Wspomina on tam że dobór parametru reload zależy od podanego kwarcu. Szkoda ze tak cieżko taką infrmacje wyciągnąć od bardziej doświadczonych kolegów , o dziwo w głębi internetu też jej nie znalazłem. Pozdrawiam i prawidłowy reload to 6 .
Na wejściu (PortC.0) pojawia się stan 0 (na przykład z układu ULN2803) to na wyjściu (PortA.0) pojawia się stan 1 wysoki. Np. tak: If PINC.0 = 0 then PORTA.0 = 1 end if Jak robisz coś takiego: Config Portc = Input to lepiej zrób to tak: DDRC = 00000000 A potem jeszce to wszystko podciągnij do 1 tak: SET PORTC Już nie wspomnę o wyłączeniu JTAGA bo inaczej...
Witam zauważyłem dziwny objaw. Mianowicie odbieram dane przez sprzętowy uart z atmegi pochodzące z klawiatury. Klawiatura wysyła znak w momencie nacisnięcia i puszczenia przycisku. Zauważyłem że naciskając około 21 razy klawisz (wysłane 42 znaki w hexie) to resetuje mi się program i mikrokontroler... Teraz pytanie czym to jest spowodowane. Pomijam tutaj...
bascom atmega16 atmega16 bascom 1wire timer atmega16 bascom
rower przekładnia multiroom premium z16xe sterownik
5742z sterowniki samsung ue40f6400aw
Scania R440 – lokalizacja bezpiecznika lewego światła drogowego, CEU, F11/F13, F54/F55 Schemat połączenia stacyjki z rozrusznikiem Skoda Fabia 1.4 16V – przewody, kolory, zabezpieczenia