Program jest bez sensu. Napisałeś to tak jak by rejestr Tccr1a był od kanału A, a Tccr1b od kanału B, a tak nie jest. Zarówno rejestry Tccr1a jak i Tccr1b sterują kanałem A, jak również obydwa rejestry sterują kanałem B. Po prostu jeden jest od czego innego a drugi od czego innego (Tccr1a od sposobu sterowania pinami i o trybu pracy Timera a Tccr1b...
Może zaczniesz od czegoś łatwiejszego , będzie prościej i mniej stresująco . No, nie żartuj z faceta!. Co może byc łatwiesze (?) ? miganie diodą ?... Spójrz na jego ?credentials? w lewym oknie. Gośc jest tu około 10 lat, więc pewne rozeznanie w temacie posiada i ?kurs? z miganiem diodą z pewnością dawno ukończył. Może potrzebuje troche odmiennego spojrzenia...
Chciałbym jednak użyć CTC, ale kompletnie nie wiem jak się za to zabrać w Bascomie. Nie znalazłem na forum żadnych przykładów. Jak by ktoś poczęstował przykładem kodu dla z CTC w Bascom to byłbym niezmiernie wdzięczny :) Jakieś kilka dni temu, nie dłużej jednak niż tydzień, ‘gaskoin’ podal dokładną procedurę konfiguracji CTC. Jeżeli przeoczyłeś...
Witam, niestety ale chyba coś jest nie tak? Na wstępie należałoby wyjaśnić że nie ma czegoś takiego jak "automatyczne przeładowanie timera" (reload/load timer1 powiedzmy). Termin ten jest związany z procedurą konfiguracji timerów występującą tylko w trybie "Normal", gdzie każdorazowo początkowa wartość timera musi być wpisana przez processor. Taka...
Udało mi się! 'Przykład generowania fali prostokątnej niezależnie od CPU 'procesor AT Mega8 'zegar wewnętrzny 1 MHz 'piezo pomiędzy PB.1 a +5V 'UWAGA!!!, ATMEGA8 ma domyślnie załączonego Wachdoga!!!. Trzeba wyłączyć bezpiecznik!!! $regfile = "m8def.dat" $crystal = 1000000 Dim I As Byte Ddrb.1 = 1 'port b.1 wyjściowy '---------------------------------------...
Dzień dobry, Chciał bym zrobić sobie prosty oscyloskop tyle że z wykorzystaniem uC Atmega8. Czy mógł by mi ktoś przetłumaczyć poniższy kod na język Bascom, lub chociaż objaśnić jego działanie? Kompletnie nic z tego nie rozumiem... Za przetłumaczenie na język Bascom oferuję 500pkt
Wiadomości przyswaja się najlepiej jeśli trzeba włożyć trochę pracy w ich zdobycie. Przedstawiony "program" to sterownik mostka H ze zmienną częstotliwością i wypełnieniem impulsów. $regfile = "attiny26.dat" $crystal = 2000000 Config Portb.2 = Output Config Portb.3 = Output Tccr1a = &B00010001 Tccr1b = &B10000011 Ocr1c = 30 'wartość przykładowa...
O K Widzę,że sam muszę sobie odpowiedzieć. Po żmudnych próbach z konfigurowaniem PWM w Bascomie doszedłem do wniosku, że żadna z wersji tego kompilatora nie jest w stanie prawidłowo skonfigurować PWM na procesorze ATMEGA. Trzeba to zrobić przez bezpośrednie oddziaływanie na rejestry. Np.: $regfile = "m16def.dat" 'Deklaracja rodzaju procesora Ddrd =...
Hmm... tak już robiłem i to nie pomogło... ale już poradziłem sobie z problemem ;D Wina była zakłóceń, bo po dolutowaniu na wejście pomiarowe ADC8 kondensatora, diody przestały szaleć. Dodatkowo brakowało przesunięcia bitowego (bo na port podawało 8 bitów młodszych z 10). Miałem na celu zrealizowanie sterownie PWM za pomocą ADC (napięcie z potencjometru)....
Nie piszesz nic o pozostałych parametrach układu więc zakaładam, że uC chodzi na wewnętrznym RC=8MHz... Wygodnie jest wykorzystać timer1 (16-bit)... Mode 14 - fast pwm, wartość top (ICR1=10000), prescal=1... Przy takiej konfiguracji częstotliwość pwm wynosi ~800Hz, co dla żarówki jest aż nadto... Wyjście pwm PB1(OC1A)... Wypełnienie zwiększane o 1 co...
Witam! Stworzyłem kiedyś projekt na atmega32 w którym za pomocą dwóch timerów 8-bitowych regulowałem dwie częstotliwości wyjściowe ustawiając timery w tryb ctc Tccr2 = &B10011001 Ocr2 = Wartosc Tccr0 = &B10011001 Ocr0 = Wartosc1 wszystko idealnie działało jednak z czasem pojawiła się potrzeba aby regulować częstotliwość z większą dokładnością. Postanowiłem...
Witam. Pomóżcie mi proszę, przy kompilacji tego pliku. Mnie pokazują się błędy, z racji, że nie znam się jeszcze na języku Basic, nie potrafię tych błędów zlikwidować. Proszę pomóżcie. 'Bascom-AVR ver.1.11.7.4 $regfile = "AT26DEF.DAT" $crystal = 8000000 Ddrb = &B00001100 Portb = &B00001111 'Osccal = 238 'Osccal = 226 'Osccal = 210...
Ogólnie nie pisze w bascomie. Rozumiem jak coś jest napisane, ale samemu raczej nic nie wymodzę. Załączyłem schemat z podstawowymi elementami każdego układu z mikrokontrolerem (kondensatory filtrujące, pull-up na resecie) http://obrazki.elektroda.net/10_12568564... Jedna dioda podpięta do wyjścia OC1A - wyjście PWM. Atmega8 ma jeszcze 2 takie...
Po pierwsze, możesz jak najbardziej korzystać z timera (a właściwie to powinieneś, jeżeli chcesz pomniejszyć koszta o zakup zewnętrznego RTC). Po drugie - możesz kalibrować, możesz to robić długo i bezskutecznie. Po drugie i ćwierć - Wewnętrzny oscylator nie za bardzo nadaje się do tego celu. "Nieco" mu się zmienia częstotliwość wraz z temperaturą i...
O faktycznie coś skiełbasiłem... Chyba tak i to okropnie! Probowałem to przełozyć na timer 1 i bascom wali błędami... STR 88: Fpwm = Fcpu/2x preskaler - (1-OCRnA ) OCRA to rejestr ... wiec trzeba mu wpisać parametr.. Stosujesz błedny wzór na częstotliwośc Fast PWM dla Timera1 ; Poprawny wzór jest ze str 91: http://obrazki.elektroda.pl/1495204000_1...
Niestety ale opcja wait nie nadaje sie do moich celów gdyż wtedy nie widzę co się dzieje z temperaturami, ciśnieniem układu. Wszystkie pomiary stoją. Cóż będę musiał poszukać podobnych programów i coś może wykombinuje. Dzięki za odpowiedzi! Bedziesz wie musial uzyc jeden z wolnych timerow. Ponizej masz przyklad zastosowanie timera 1 w trybie CTC. (z...
Witam wszystkich Forumowiczow, do tej pory nigdy nie miałem potrzeby pisać postu bo wszystkie problemy rozwiązywałem opcja search ;-) az do tej chwili. buduje układ przetwornika AD 24 bitowego, ktory komunikuje sie z Atmega8 po SPI hardware a ta z kolei z moim PC po RS232. Docelowo maja byc 2/3 przetworniki, poki co jest jeden i walka trwa ;-) Całość...
Na tej płycie masz LED-y. Sprawdź na nich. Sprawdziłem Twoje ustawienia -ale w Bascomie. Na takiej samej płytce. Wszystko chodzi. Wygląda to na układ a nie program. Poniżej program-napisałem w sposób zrozumiały dla C. $regfile = "M8def.dat" $crystal = 8000000 'Config Lcd = 20 * 2 'Config Lcdpin = Pin , Db7 = Portc.0 , Db6 = Portc.1 , Db5 =...
Witam, Chciałbym sobie "ręcznie" ustawić do pracy w trybie CTC Timer1. Tak aby generować na 2 wyjściach stały przebieg PWM. próbuję to ustawiać tak: Ocr1ah = High(1562) 'ma być 10Hz Ocr1al = Low(1562) Ocr1bh = High(3124) 'ma być 5Hz Ocr1bl = Low(3124) ' zmiana stanu wyjścia OC1A na przeciwny, przy porównaniu ' zmiana...
Już działa, wybrałem tryb nr 5. Jedyny minus, przy pwm1a=0 są "szpilki". tccr1a=&B10000001 tccr1b=&B00001001
Zawsze możesz zwiększyć taktowanie do 16MHz - które ATMega8 bez L przyjmie. Możesz też zmniejszyć rozdzielczość do N bitów przez zmianę ustawień w TCCR1A, TCCR1B i CAPTURE1.
Oto ostateczna wersja programu, przebieg PWM ma częstotliwość ok 30kHz, przy taktowaniu układu z wewnętrznego generatora częstotliwością 8MHz (domyślnie jest 1MHz, theba przestawić FB): ' ########################################... ' # Control programm for Trolling Motor driver # ' # (C)2008 by Tomasz Orczyk # ' ########################################...
Potrzebuję pomocy przy zamianie kodu "RFID Reader", tzn. żeby zamiast wyświetlania kodu karty na LCD uzyskiwać odpowiedni poziom na wyjściu 1z10 i czy jest to możliwe do zrealizowania na atmega8? Chciałbym użyć 8 ostatnich cyfr kodu karty. Posłużyłem się gotowcem, który był już na elektrodzie (dopiero uczę się bascoma i nie wiem jak się do tego zabrać):...
No dobra kombinowałem kombinowałem i wykonbinowałem sprawdziłem sobie w symulatorze bascom jak ustawia TCCR1A=161 TCCR1B=3 :D i poprostu to soamo wpisałem analogicznie do TCCR0A i TCCR0B może nie umiałem skorzystać z noty katalogowej ale działa poprawnie :) aha i nie trzeba ustawiać OCR0A= i OCR0B= działają komendy PWM0A= i PWM0B= jak komuś to sprawi...
Jeśli nie masz na stanie generatora to może zainteresuje Cię, albo kogoś innego, taki najprostszy generator który operowany jest dwoma potencjometrami. Jeden ustawia częstotliwość a drugi wypełnienie 1%-99%. To pozwoli szybko znaleźć odpowiednie parametry dla przetwornicy i potem można ustawić Tiny13 na rejestrach . Kod będzie działał na Arduino Mega2560,...
DDRD.5 = 1 TCCR1A = &B10000010 TCCR1B = &B00011001 ICR1 = 222 OCR1A = 22 '0...222
Zacznę od zamieszczenia kodu źródłowego i schematu: ' ########################################... ' # Control Programm for Trolling Motor Driver # ' # (C)2008 by Tomasz Orczyk # ' ########################################... $regfile = "m8def.dat" $crystal = 8000000 'CKSEL3..0=0100 - 8MHz Internal (PWM ~30kHz) 'SUT1..0=01...
Kod poprawiłem, a z tym: Obroty1 255 Obroty2 120 Obroty3 100 Enter niekoniecznie tak musi być, może być Obroty1 200 Enter Obroty2 120 Enter Obroty3 200 Enter. Domyślam się, że dużo pisania by było, gdyż trzeba dopisać dużo zmiennych i je uwarunkować, mimo wszystko - jeszcze raz dziękuję za pomoc. P.S. Czy można prosić o sprawdzenie tego fragmentu kodu,...
[syntax=basic4gl] Config Pind.5 = 1 Tccr1a = Bits(com1a1 , Com1b1 , Wgm11) Tccr1b = Bits(wgm13 , Wgm12 , Cs11) Icr1 = 20000 Ocr1a = 8000 [/syntax]
z jakiegoś swojego starego projektu zerknąłem na ustawienia i mam tccr0a=a3, tccr0b=2 tccr1a=a1, tccr1b=2 tccr2a=a1, tccr2b=2 przy nich na 16MHz pwm'y chodzą 4kHz (możliwe ze jeden z nich na 8Khz)
Dziekuję Bede testował :) Dodano po 3 No nie do końca to chce działać tak jak napisaliśmy... bascom nie przyjmuje składni timer + clear_up ale problem okiełznałem na dwa sposoby... Bascomowy: [syntax=vbnet] 'puść timer z generacja comapre Config Timer1 = Timer , Prescale = 1 , Compare_A = Toggle ,Compare_B = Toggle , Clear_Timer = 1 'zapisz wartość...
Regulacja częstotliwości? Sprzętowo? Owszem. Ale kosztem rozdzielczości PWM. Trzeba włączyć tryb z wartością TOP ładowaną do Capture1. Potem w programie: zmiana Capture1 daje zmianę częstotliwości, ale wymaga też przeliczenia wartości Pwm1a/1b. Samo wypełnienie zmienia się w Pwm1a/1b, ale trzeba zawsze brać pod uwagę wartość z Capture1 by nie wpisać...
No to tradycyjnie , prawie gotowiec :D #include <avr/io.h> #include <avr/pgmspace.h> #include "delay.h" /* F_CPU=12MHz */ /*tablica z danymi potrzebnymi do ustawienia odpowiedniej czestotliwosci */ unsigned int dane_licznika[] PROGMEM = { 0xB71A,0x5B8C,0xF423,0xB71A,0x927B,0x7A1...
Ups : :) Jako wartość w terminalu podajemy np: red:125 Enter, lub gre:200 Enter [syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 12000000 $baud = 19200 Config Serialin = Buffered , Size = 25 Config Portb.2 = Output Config Portb.3 = Output Config Portb.4 = Output Set Tccr0a.0 Set Tccr0a.7 Set Tccr1a.0 Set Tccr1a.7 Set Tccr1a.7 Set Tccr1a.5 Set...
Niestety żadna z w/w opcji nie działa ale poradziłem sobie z tym. oto kod:[syntax=basic4gl]$regfile = "attiny2313.dat" $crystal = 12000000 $baud = 9600 Config Serialin = Buffered , Size = 20 $hwstack = 16 $swstack = 6 $framesize = 14 Config Portb.0 = Output Config Portb.1 = Output Config Portb.5 = Output Config Portb.6 = Output Config Portb.7 = Output...
Robię to w Bascom, oto program... [syntax=vbnet]$regfile = "m8def.dat" $crystal = 11059200 'kwarc $hwstack = 128 ' default use 32 for the hardware stack $swstack = 128 'default use 10 for the SW stack $framesize = 128 'default use 40 for the frame space ' $prog &HFC , &HAE , &HC9 , &H00 ' generated. Take care that the chip supports all fuse bytes. Ocr1a...
To co należy zrobić, aby skonfigurować Timer0? Przeciez ci 'dawid 512' napisal. Przyjzyj sie tym acronimom z twojego listingu: ...... Tccr1a Tccr1b .... Pwm1a Jak myslisz, co one maja wspolnego?; co oznacza ta 'magiczna' cyfra "1" ? Nie znaczy to ze masz dokladna analogie dla Timera0 (nie sa one jednakowe), ale musisz konfigurowac Register TCCR0 zamiast...
...Dziękuję za pierwszy konkretny post w sprawie ... No to ja dodam cos konkretnego od siebie. Dla niewierzącego mirekk36 cytat z NE6/2004 "W Bascom nie działa Config Timer1=TIMER, PRESCALE=8, Compare A =TOGGLE, działa natomiast TCCR1a=&B01000000 TCCR1b=&B00001010 Takich przykładów jest po kilka w publikowanych programach. Ten osobnik (może osobniczka)...
Witam! Mam kłopot z odbiorem danych z PC. Podłączam uC do PC + terminal i wpisuje ciąg danych r:122.g:144.b:125 i enter no i wszystko super bo diody przygasają, ale jest problem jak Podepnę pod linuxa i chcę wysłać w ten sposób echo "r:122.g:144.b:125" > /dev/ttyUSB1 i nic sie nie dzieje, wiec moje pytanie w jaki sposób wysyłać dane lub co zmienić...
Cześć ! Szukałem w internecie i na elektrodzie i pełno tego typu programów i gotowców, ale tylko pod BASCOM. Ja ostatnio zrezygnowałem z BASCOM'a i zacząłem z C. Zrobiłem odtwarzacz, ale strasznie charczy. Miałby ktoś pomysł jaka może być tego przyczyna? Kod: [syntax=c] #include <avr/io.h> #include <stdlib.h> #include <stdbool.h> #include...
Dla sterowania dwoma serwami konfiguruję PWM1 poprzez bezpośredni zapis rejestrów: Tccr1a = &B10100010 'mode14 - fast pwm, icr1, prescale64 Tccr1b = &B00011011 Icr1h = &B00010011 'wartość icr1=4999 Icr1l = &B10000111 Tcnt1h = 0 Tcnt1l = 0 i steruję serwami przez Ocr1ah = High(pozycja_serwa) Ocr1al = Low(pozycja_serwa) lub Ocr1bh = High(pozycja_serwa)...
Witam, jestem w trakcie tworzenia sterownika do quadrocoptera, do którego podłączyłem regulatory ESC firmy DYS zaprojektowane do Fast PWM Potrzebuję do ich sterowania precyzji 16 bitów PWM, aby mieć pełną kontrolę nad mocą silników całej machiny. W bascomie ustawiam to tak: [syntax=basic4gl]$regfile = "m162def.dat" $crystal = 16000000 (...) Enable Interrupts...
Witam Mam za zadanie zrobic pomiar czasu wtrysku w ms poprzez przerwanie ICP1 Niestety po wielu bojach z rejestrami Tccr1B Tccr1A oraz Timsk i innymi , program nie dziala jak potrzeba w Proteusie Czytalem w dataszicie ze licznik T1 musi byc ustawiony w trybie TOP i musie byc wlaczony Noise Canceler , wszelkie ustawienia WGM nie dzialaja :/ Bardzo prosze...
... dim funkcja_zegar as byte On Ovf1 zegar1 ' adres procedury timera Enable Ovf1 ... ... zegar1: if funkcja_zegar=1 then ' jeżeli skok zadany1 to wykonaj skok do labela rjmp skok1 ' skok1 end if ' if funkcja_zegar=2 then rjmp skok2 end if return Tcnt1h = 110 ' ustawienia zegara Tcnt1l = 0 ' Tccr1a = 0 ' Tccr1b = 3 ' funkcja_zegar=1 'twoja procedura...
Po długim analizowaniu problemu narodziło mi się coś takiego: 'pętla główna Dim I As Integer Dim Impulsy As Long Dim Sek As Integer Tccr1a = &H00 'ustawianie trybu pracy timera1 Tccr1b = &H0C Ocr1ah = &H7A 'załadowanie liczby 31250 do licznika Ocr1al = &H12 'przykładowa liczba do odmierzania (1s) Tcnt1h = &H00 ' zerowania rejestrów do zliczania...
Próbowałem na tej zasadzie. Ktoś wspominał jeszcze o watchdogu - można go w sumie wykorzystać, ale chyba timer będzie lepszy. Przepraszam za bałagan w kodzie, ale jak człowiek się wkurza, to i nie myśli dobrze;] Dlaczego czas odmierzasz w tak małych odcinkach (rzędu milisekund), gdy tymczasem obserwowane zdarzenia występują w odstępach sekundowych....
widzę, że temat przygasł wiec ponownie prośbę... proszę o wrzucenie przykładowego programu na procesor atmega, gdzie po naciśnięciu przycisku dioda zapala się na 5 sekund i gaśnie. Liczę ze taki program pomoże mi zrozumieć zasadę działania komendy odliczajacej czas. Książka ani inne posty jakoś mi nie pomagają i nie mogę tego przeskoczyć. Liczę, że...
Witam wszystkich, mam problem potrzebuję sterować stanem pinu lecz nie potrafię rozgryźć co jest nie tak w kodzie. Poniżej kod w BASCOMIE : [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Config Portb.1 = 1 Portb.1 = 0 Config Portd = &B11110000 Portd = &B11011111 Config Portc = &B11111110 Portc = &B11111001 Tccr1a = &B11110010 Tccr1b = &B00011011...
Ja uczyłem się na poniższym kodzie: [syntax=basic4gl]'1 second code $regfile = "m8def.dat" ' or "m88def.dat" or "m168def.dat" $crystal = 4000000 $baud = 9600 $hwstack = 32 $swstack = 16 $framesize = 40 Dim Seconds_count As Long ' ========================================... ' Timer1 initialization ' ' Mode: Clear Timer1 on Compare Match (CTC...
Witam :D Dobre wieści :D Czytając i analizując wszystkie Wasze sugestie i uwagi udało mi się zrobić działającą obsługę przetworników. Co prawda pozmieniałem trochę po swojemu ale działa. Najpierw kod później kilka słów wyjaśnienia. dondu później startujemy pojedynczą konwersje, czekamy aż się ona zakończy, wynik wczytujemy na odpowiednią pozycję w tablicy,...
bascom tccr1a tccr1a bascom atmega328 tccr1b
ariston wywalać bezpiecznik halotron silnik linksys pap2t dioda
termostat grzejnik żeliwny samsung wf70f5e0w2w
Amiko A11 Green – brak możliwości instalacji Netflix, certyfikacja, Widevine L3, Android 11 Dioda blokująca do paneli fotowoltaicznych – STMicro, Vishay, TE Connectivity, dobór i zakup