Jeśli dalej używasz choćby jednej zmiennej typu Bit to nadal pomysł jest aktualny bo bitów zawsze jest osiem. Jeśli nie, to mozna wygospodarować jedną zmienną typu Byte, ale że Tiny13 to bardzo wymagający uC i mozesz już nie mieć więcej miejsca na Byte to możesz pojechac po bandzie i do przechowywania wartości wykorzystać jakiś nieużywany rejestr :D...
Chwile mnie nie było :D Napisałbym to inaczej, ale wracając do pytania z pierwszego postu . Jeśli chcesz by procesor zawsze był tak samo zajęty to każ mu w tych innych Case`ach także nadawać Pulseout tylko na pin Reset. Bascom to przełknie bo ten pin może pracować jako normalny I/O ale jak jest resetem to nic mu się nie stanie jak napiszesz Pulseout...
(A). Czy w Compare0a = 186 mogę wstawić liczbę w zakresie 0-255? (B). by uzyskać interwał =~100ms to 9 600 000Hz/ 1024 /37,5 (połówek pewnie nie można używać wiec zaokrąglę do 38 to będzie 247Hz (C). natomiast dla interwału 50ms to 9 600 000Hz/ 1024 /75 to będzie 125Hz czy dobrze to rozumiem? Nie dobrze , .. (at)A. -formalne/teoretycznie możesz w Compare0a...
OK później zaprogramuje ale wyszło to tak: $regfile = "attiny13.dat" Config Portb.4 = Output $hwstack = 32 $swstack = 16 $framesize = 8 Dim A As Byte Config Timer0 = Timer , Prescaler = 64 On Timer0 Przerwanie Enable Interrupts Enable Timer0 Start Timer0 Do Loop end Przerwanie: Timer0 = 106 Toggle Portb.4 Return
Witam, nie mogę sobie proradzić z obsługą timer0 w przerwaniu. Zamiast wł/wył port po początkowym opóźnieniu co 0,5s ustawia się w stan wysoki i tak sobie świeci w nieskończoność. Co jest nie tak? Kod poniżej: $prog &HFF , &H73 , &HFF , &H00 $regfile = "ATtiny13.DAT" $crystal = 128000 Wyj Alias Pinb.1 'wyjście Config Wyj = Output 'ustawienie...
I wykorzystać Timer- który ATtiny13 ma.
http://obrazki.elektroda.pl/8980517500_1... Witam. Dzisiaj po długiej przerwie chciałbym zaprezentować prosty układ który wykonałem już jakiś czas temu (w sumie w innym celu), ale postanowiłem go minimalnie zmodyfikować sprzętowo (dorobienie taśmy ze złączem) i w 100% programowo. Ale od początku... Od czasu przeprowadzenia się do własnego...
Witam Chciałbym napisac prosty program w Bascom-ie sciagnolem wersje demo ale nie ma w niej takie ukladu do wyboru. Co mam wybrac aby dyrektywy sie zgadzały?
Czyli zwykły prosty miernik częstotliwości z jej porównaniem przy pewnej wartości - bez problemu się to na jednym timerze realizuje... Zobacz tu: [youtube]http://www.youtube.com/watch?v=... Złapałem tym nawet 40tys. obr/min :) Co prawda to przykład na attiny44, bo obsługa wyświetlacza i takie tam duperele zabierają jednak piny i pamięć...
witam . Dlaczego nie mogę skompilować tj; zmienna = zmienna / 4 kod bascom $regfile = "attiny13.dat" 'typ proca $crystal = 800000 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Up Dim B As Iram Word Config Portb.0 = Output Portb.0 = 0 Config Portb.1 = Output Portb.1 = 0 Dim Zmienna...
mam pytanie dlaczego attiny13 timer nie lepszy był by attiny15 który ma dwa takowe z tego co wiem to jeden timer musi zajmować się generowaniem częstotliwość 36khz a drugi musi obliczać czas po jakim mają pojawić się kolejne zmiany stanu logicznego więc jak ma to zrobić jeden licznik w tiny13
Witam zainteresowanych tematem. Uplynelo juz wiele dni kiedy ostatni raz opisalem swoje dzialania z modulem RFM65W. Teraz zebralem wiele doswiadczen i doszedlem do wniosku, ze ustawienie rejestrow w RFM65W jedynie udalo mi sie za pomoca ARDUINO po wgraniu programu w /w tego opisu. https://forum.arduino.cc/index.php?topic... Ale to jest przejsciowe...
Witam wszystkich! mam zamiar zrealizować przetwornice http://www.elportal.pl/pdf/k04/37_05b.pd... na attiny13 tzn. końcówka mocy ma pozostać ale sterowanie na mikrokontrolerze. Według obliczeń wyszło, że generator na bramkach w tym układzie z kitu AVT ma ok 2,5kHz sprzężenie zwrotne nie wchodzi w grę. Napisałem taki kod w bascomie: [syntax=basic4gl]$regfile...
Clear Timer on Compare Match (CTC) Mode In Clear Timer on Compare or CTC mode (WGM02:0 = 2), the OCR0A Register is used to manipulate the counter resolution. In CTC mode the counter is cleared to zero when the counter value (TCNT0) matches the OCR0A. The OCR0A defines the top value for the counter, hence also its resolution. This mode allows greater...
Jeżeli jesteś pewien, że układ jest elektrycznie poprawny (w co ja osobiście wątpię i nie wierzę, że w tej konfiguracji będzie działał) to jeśli chodzi o uwagi do programu (pomijając jego nieczytelność ze względu na zastosowanie instrukcji skoków bezwarunkowych oraz etykiet, pierwszą która się nasuwa to brak instrukcji załączającej system przerwań [syntax=basic4gl]Enable...
Dzięki zbig_wwl. Pokombinuje z tym stosem. A co do PWM to faktycznie nie używam go bo i po co:) Pilot ma następujące zadanie: Po uruchomieniu włączone zostaje przerwanie int0. Po wciśnięciu przycisku zewnętrznego (dodane obwody eliminujące drgania styków) program wyłącza przerwanie int0, generuje zmienne na podstawie zawartości timera0. Następnie odblokowywane...
Tak ale impulsy mają być sygnalizowane i widoczne na diodzie LED , a w ten sposób chyba nie zobaczę . Może by to zrobić przez PULSEOUT tylko między nimi musi być WAIT ? Dodano po 3 Zrobiłem coś takiego ale proszę o sprawdzenie i poprawki , Nie wiem też jak zrobic podprogram Generator aby zrobił 3 razy taki impuls jak w programie Odmierz . Ma to sens...
Skopiowałem z postu 11 tego tematu A wygląda to tak Dodano po 4 Przy kompilacji wyskakuje mi Pass1 zamiast % zużycia pamięci (Flash used)
A niby dlaczego miałby nie funkcjonować? Gdyby zawartość SRAM była tracona to program musiałby się wykonywać od początku, co efektywnie byłoby równoznaczne z resetem procesora. Oczywiście w każdym trybie oszczędzania energii zawartość SRAM jest zachowana, co czyni twoje rozważania nieco pozbawionymi sensu. Jeśli chcesz wydłużyć czas to do wybudzania...
Witam, chciałbym skorzystać z projektu z linku http://diy.elektroda.eu/interaktywna-pod... na użytek mojego modelu samochodu RC do mierzenia temperatury silnika szczotkowego żeby go nie przegrzać powyżej 80 stopni i mam pytanie: 1) Co trzeba zmienić w programie jeśli mam ATtiny13 20Mhz (twórca projektu użył ATTiny13V 10MHz) żeby dobrze...
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
O eliminacji drgań pamiętam - na razie jest poprzez kondensator i opornik, lecz jak będę kończył program, to to dopiszę. Możesz mi wyjasnić dlaczego jest źle?: Sprawdzam sobie stan samego timera z częstotliwością 10hz w tym wypadku, a stanu przycisku nie sprawdzam, ponieważ jest wywoływany przerwaniem INT0 Edit: Już sobie poradziłem - pomyliłem PINB...
zapoznaj sie z fusebitami. Czy ty chcesz dokladnie odmierzyc 500 milisekund czy okolo? Jak chcesz dokladnie otrzymac to kwarc zew. i timery. A masz zew. ram podlaczony? nie wiem jak chcesz jakas zmienna zdeklarowac poza pamiecia sram chyba ze chodzi ci o pamiec stala eeprom
Nijak z żadnego kodu nie mogę się doczytać na chłopski rozum kiedy on mierzy czas od Rising do Rising. Nie używaj więc chłopskiego rozumu - użyj własny! Wyjaśnienie powinno być zbędne bo jest bardzo trywialne; - obracając wiatrakiem, w pewnym momencie wbudowany tam hall switch daje impuls na INT0, co wtedy robisz w programie? - odsyłasz go do etykiety...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
GETRC5 używa licznika TIMER0. Albo TIMER2 jeśli go układ posiada i tak go skonfigurujesz w CONFIG RC5. Aby ustrzec się dziwnych błędów (z adresami linii poza programem) nie zapomnij o wpisaniu nazwy pinu w CONFIG RC5. Sam kod bazuje na dokumentach ATMELa: http://www.atmel.com/dyn/resources/prod_... I tam można całą procedurę prześledzić....
Tę zmianę wartości PWM najlepiej zrobić w przerwaniu timera generującego PWM, a program główny powinien mieć pustą pętlę główną z uśpieniem procesora. Można i tak, a można rozdzielić tu te timery i mieć pełną niezależność czasową. I tak w tym projekcie wszystkie timery leżą odłogiem :D
Nie rozumiem co się tutaj dzieje. Zmienna Reference nie ma żadnej przypisanej wartości początkowej. Jak np uzyskać 50% świecenia diody? Nie chodzi mi o stopniowe przyciemnianie, po prostu chciałbym mieć możliwość w dowolnym miejscu programu ustalenia jakie napięcie ma być na danym wyjściu. Nie potrzeba żadnej wartości początkowej, jest to zmienna typu...
Odkomentuj, czyli zdejmij ten pierwszy apostrof z tej linii : 'Set Tccr0b.0 (W IDE Bascom linia 57) To włącza taktowanie Timera0 z preskalerem 1 czyli z prędkością CPU. Bez tego Timer po prostu stoi w miejscu. Nie wiem tylko czy Timer pozwoli wyłaczyć te LED`y tym poleceniem po "Stop Timer0" bo to tylko zdejmuje taktowanie a konfiguracja do PWM raczej...
Więc funkcja debounce i timera do odmierzania czasu wykorzystaj.
9600000Hz/70000Hz=137 takty 9600000Hz/150000Hz=64 takty Z takimi rozdzielczościami się tam musisz liczyć. Dla 37kHz i innych konfig uzyskasz klikając CTRL+SPACE. Bascom sam podpowiada jakie masz możliwe ustawienia. Nie pamiętam tylko czy jest to FastPWM czy PhaseCorrect który jeszcze spowolni sprawę o połowę. W Tiny85 masz Timer który może być taktowany...
Bo bascom nie obsługuje prawie żadnych nowości w AVRach, jak choćby tych nieszczęsnych PCINT, niektórych opcji timerów czy interfejsów, pozostaje tylko na piechotkę, dokumentacja w rękę i rejestr po rejestrze...
Ustawiam preskaler na 8 i mam częstotliwość prawie 300 Hz a potrzebuje 2 razy tyle jak to zrobić, bo przecież nie mogę ustawić preskalera na 4? Czyli przynajmniej jedno można stwierdzic, że taktujesz processor 1,2 MHz; a nie jak twierdziłeś i zakładałeś wczwśniej; 9600 000(!)_ Twoja konfiguracja timera0: Phase Correct PWM i otrzymany wynik częstotliwości...
No to jest to czego szukałem. Tylko teraz pytanie: Dlaczego zawartość rejestru R0 to zawiera,a nie można odczytać z MCUCSR jak jest opisane w DSie?? edit Aaa już wiem gdzie robiłem błąd. Można odczytać WDRF moim sposobem tylko przed Config Watchdog, bo ta instrukcja czyści rejestr MCU(C)SR. Wszystko pięknie jest wyjaśnione w Helpie od wersji 2.0.1.0...
Witaj. Nie ma znaczenia w jakim języku powinien być program. Istotny jest fakt, na co na co ma zareagować. Kliknięcie to pojęcie względne. Nikt z Nas nie ma pojęcia, co ono oznacza. Może na przykład być zdarzeniem na klask dłoni, klikniecie lewym przyciskiem myszki PC itp. Prosimy o więcej szczegółów. Attiny13 posiada przerwania zewnętrzne i oczywiście...
Zastosuj przerwanie od Timer'a. ps. Nie ma czegoś takiego jak ATTiny16. Chodzi Ci o 15 czy 26 ? Tak na szybko (sprawdź): $regfile = "attiny13.dat" $crystal = 1000000 'częstotliwość taktowania $hwstack = 20 $swstack = 10 $framesize = 10 Const Div_t0 = 125 '1 ms Config Timer0 = Timer , Prescale = 8 On Timer0 Int_t0 Enable Timer0 Enable Interrupts...
Sprawdziłem to dla sportu bo taki prosty kodzik od czasu do czasu to jak zjedzenie cukierka :D i to nawet działa. Oświetlone słońcem czy tam nawet żarówką LED`ową się nie wzbudza a przy zbliżeniu i owszem. Tiny85 ma juz wbudowany wzmacniacz dla ADC i tam mozna więcej nawet zadzaiałać, ale Tiny13 nie ma więc dla czułości użyłem wewnętrznego napięcia...
Zasada liniowego sterowania fazowego jest taka: 1. Przejście przez zero generuje przerwanie zewnętrzne INT (opadające zbocze), w którym: a) wyłączasz bramkę optotriaka b) przeładowujesz TIMER wartością, którą odczytujesz z tablicy w zależności od aktualnego poziomu mocy. TIMER ten będzie odliczał opóźnienie włączenia optotriaka c) uruchamiasz TIMER...
Tak seria Tiny25/45/85 ma dwa timery - ale czy jesteś pewien, że Bascom da sobie z nimi radę na 100% ? może popytaj kogoś z bascomiczów obecnych.
Kolego, zacznij pisać programy poprawnie, bo na głupie odczytanie przycisku zużywasz pełną moc procesora, o poborze prądu nie wspominając. Wykorzystaj Timery, przerwania zewnętrzne i usypianie procesora, i pochwal się jak program działa. Wszyscy skorzystają, Ty najbardziej.
1. jaki język programowania? 2. ja bym to zrobił tak: a) Timer ustawiasz, żeby łatwo zliczał impulsy do odmierzenia czasu 2s. b) pierwsze naciśnięcie przycisku (po eliminacji drgań styków) wubudza timer c) każde kolejne naciśnięcie przycisku przed upływem 2s zwiększa zmienną, jeśli dojdzie do 2 to wtedy ją zerujesz, zatrzymujesz timer i włączasz tą...
Witam Program nie ma być skomplikowany więc zamiast WAITa skonfiguruj sobie TIMER to masz w sumie kilka linijek programu więcej a dokładność nieprorównywalna. Program też się zmieści. Ja też jestem etuzjastą µC ale do tego zadania użyłbym albo NE555 albo CD4538. -- pozdrawiam
Jeśli wyświetlacz nie jest bardzo potrzebny, a dokładność wystarczyła by z podziałki potencjometru to w BASCOM ten program zajmie kilka linijek i zmieści się w ATTINY13. Daro_Elektronik już napisał co będzie potrzebne ale w najprostszej wersji wystarczy tylko jeden timer, adc no i podstawowe instrukcje programowania.
Flaga to zmienna bitowa. Ma ona za zadanie zasygnalizowanie jakiegoś zdarzenia. W Twoim przypadku chodzi o zasygnalizowanie wystąpienia przerwania. Wystarczy np. coś takiego: Up: Set flaga Return Oczywiście zmienna bitowa flaga musi być wcześniej zadeklarowana: Dim flaga as bit W pętli głównej sprawdzasz czy flaga jest ustawiona: If flaga = 1 then...
Jak pisze Mariusz wyżej, sprawdzałem. Wpisanie w watchdoga każdej innej liczby niż 2048 czyli 2 sekundy nie daje żadnego rezultatu. Watchdog timer, podobnie jak inne timery posiada prescaler, który konfiguruje się edytując bity WDP3:0 w WDTCR – Watchdog Timer Control Register, co pozwoli ustawic max 'time out' na 8sec. dla Attiny13. Inne m-processory...
Sprawdź miernikiem napięcie podawane z LM35 na ADC. Przepisałem ten kod tak by był przejrzystszy. Przy okazji zaoszczędziłem 8% pamięci. To nieistotne. Istotne natomiast jest to, że teraz widać, że układ wyłączy się jeśli odczyt na ADC będzie w zakresie 250-300. Powyżej lub poniżej tego zakresu krążek będzie świecił. [syntax=vbnet]'Program "elektronicznej...
A możesz napisać, co to za błędy. Prawdopodobnie dotyczą timera. Timer0 8515 i timer0 attiny13 to nie zupełnie to samo i stąd te błędy :cry: . Czasami też używam bascoma, ale w kwestii poleceń typu "config", to w ogóle mu nie wierzę i po prostu trzeba wziąć do ręki dokumentację procka i samemu odpowiednie rejestry poustawiać :D
Witam Ostatnio usiadłem trochę do Bascoma i coś naskrobałem, oto wynik mej pracy: $regfile = "attiny13.dat" $crystal = 9600000 Config Timer0 = Timer , Prescale = 8 Enable Timer0 : On Timer0 Prztimer0 Enable Interrupts dioda Alias Portb.3 Config Rc5 = Portb.4 Dim dioda As Byte Dim Licznik As Byte Do Dim .... Getrc5.... Command = Command ..... If Command...
TAK. To prawda... W helpie napisali, że na timerze0 nie ma opcji PWM Action Configure TIMER0. Syntax CONFIG TIMER0 = COUNTER , PRESCALE= 1|8|64|256|1024 , EDGE=RISING/FALLING , CLEAR TIMER = 1|0 CONFIG TIMER0 = TIMER , PRESCALE= 1|8|64|256|1024 Ale po podstawieniu zadziałało. Swoją drogą szkoda, że nie dopisali "wyjątków" do helpa Co do ryb, to nie...
https://obrazki.elektroda.pl/4901753200_... Witam, Prezentowana konstrukcja, to bardzo proste urządzonko, które cyklicznie co 24 godziny restartuje podłączone do niego urządzenie. W moim przypadku są to przepływomierze zainstalowane na sieci wodociągowej, które z racji swojego wieku średnio raz na 30 – 40 godzin się zawieszają...
Nie wykonasz tego na attiny13, nawet nie wiem czy to cos posiada timer. Wez attiny2313 ma sprzetowe i2c, kod sie w spokoju zmiesci do flasha i zew. eeprom i wszystko gra.
bascom timer attiny13 attiny13 timer bascom attiny13 timer
schemat panasonic wieża generator millera pioneer schemat płyta
bateria hilti piekarnik samsung
Używane matryce do Samsung UE39F5000AWXXH – dostępność, ceny, kompatybilność paneli JVC LT-43VA3000 Main Board: Vestel 17MB170, Part 23764889, Board Revision Details