Podciągnij wejście do plusa wewnętrznym rezystorem. Wejście T1 to PD5. [syntax=basic4gl]PORTD.5 = 1[/syntax]
Po przepełnieniu licznika on się zeruje automatycznie? W większości trybów licznik zeruje się podczas przepełnienia. Wyjątkiem są niektóre tryby PWM, np. Phase Correct PWM Mode: The phase correct PWM mode is based on a dual-slope operation. The counter counts repeatedly from BOTTOM to MAX and then from MAX to BOTTOM.
Nie,ma liczyć litry tak jak dystrybutor . Dodano po 2 Nie wiem w jaki sposób dodawac litry do zmiennej po przekroczeniu okreslonej liczby impulsów z przepływomierza to co znalazłem to liczone wszystkie w czasie a tu chyba chodzi o przepełnienie licznika Czas tu nie ma znaczenia! Użyj dowolny timer w charakterze licznika (Counter), i tak jak sugerowano...
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ś...
] Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dlatego napisałem..."Nie znaczy to jednak..." w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość taktowania 8MHz i prescaler 256. Przecież czas (1 sec.) odmierzasz timerem0, który jest 8-bitowy...
OPIS FUNKCJI LOAD Action Load specified TIMER with a reload value. . . . It will do the calculation. (256-value) So LOAD TIMER0, 10 will load the TIMER0 with a value of 246 so that it will overflow after 10 ticks. TIMER1 is a 16 bit counter so it will be loaded with the value of 65536-value. Czyli u ciebie ładuje 65536 - 65436 = 100 Przepełnienie właśnie...
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...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Wydaje mi się, że najpierw powinno być „uruchomione” odliczanie tych 0,1 sek, wyzwalane pierwszym pikiem z „paczki”. Potem trzeba odczekać te 0,1 sekundy na zanik „szumów” i zacząć zliczanie w czasie 0,9 sek. Ilość zliczonych pików podzielona przez czas da mi częstotliwość. Wynik ma się utrzymywać na wyświetlaczu...
łatwiej się już chyba nie da. Sorki, ale ja bym raczej powiedział, że: "JUŻ GORZEJ SIĘ NIE DA :(" Co to za rozwiązanie gdzie w środku siedzi jeszcze obrzydliwy Wait !!! brrr ale żeby nie być gołosłownym, który tylko krytykuje.... Ok, panowie - widzę, że wasze zmagania spełzają na niczym, pokażę wam więc jak się powinno podchodzić do programowania....
No dobra, udalo ci sie polechtac moja proznosc wiec moze zrobimy tak. Opisze tutaj przykladowego mekafile-a z nastawieniem na WinAVR, Atmega8 i STK200 tak aby inni tez cos z tego mieli. W zasadzie wszystko jest opisane w angielszczyznie no ale jakby kto nie umial to daje po polsku. # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
https://obrazki.elektroda.pl/9317464400_... Witam Przedstawiam stację meteo nad którą pracuję już kawałek czasu. Początek prac to też mój początek zabawy z Arduino. Zaczęło się od gotowego projektu malutkiej stacji z wyświetlaczem OLED. https://obrazki.elektroda.pl/5611267500_... Wtedy już samo wgranie programu do...
Uruchom przerwanie od Countera (najlepiej od porównania wartości zliczonej z ustawioną) i zmień stan portu w podprogramie obsługi przerwania lub prościej, ale mało elegancko zmień [syntax=basic4gl]If Counter1 = 100 Then ...[/syntax] na [syntax=basic4gl]If Counter1 >= 100 Then ...[/syntax] Nie tak jest to, że w chwili zliczenia setki nasz if może się...
A gdzie instrukcja CONFIG TIMER1 = COUNTER?
Witam . Od dłuższego czasu walczę z obsłużeniem licznika impulsów w ww procesorze . Otóż sprawa wygląda następująco . Mam sobie układ taktowany częstotliwością 4 Mhz z kwarcu zewnętrznego . Na pind.5 (t1) przychodzi sobie sygnał prostokątny o częstotliwości 1 Mhz . Jest on podawany przez pewien okres czasu a ja mam zliczyć jego ile było okresów tego...
A kolega rozumie różnice pomiędzy pracą w trybie timer i counter ??? ;)
Podejrzewam że jak dałeś "Start Timer0" to Bascom "olał" ustawienie "Config Timer0 = Counter , Edge = Rising " i zaczął liczyć. Ale nie sprawdzałem-sprawdź sam.
W pseudokodzie: 1. Ustaw timer na częstotliwość powiedzmy ok. 100 kHz, przypisz do niego przerwanie i aktywuj przerwania 2. Stwórz dla każdego kanału zmienną typu PWM_CHn W przerwaniu od timera 1. Zmienna COUNTER = COUNTER + 1 2. dla każdego kanału 0...n: Jeśli COUNTER < PWM_CHn to zapal diodę, w przeciwnym razie zgaś 3. Ewentualnie jeśli chcesz...
Jeżeli sprawdzasz przycisk podłączony do masy, to czemu przerwanie Timer ma być wyzwalane zboczem rosnącym ? Config Timer0 = Counter , Edge = Rising
Na pojedynczym uC robil bym tak: przez sekunde liczyl impulsy - bez przerwan, na wejsciu timer/countera. Po sekundzie prepisywal wynik do zmiennej, wylaczal licznik i wyswietlal zmienna na LCD. Potem wlaczal i resetowal counter i znow mierzyl przez sekunde i tak w kolko...
nie no to jasne ... jak coś komuś nie wychodzi to na bank wina Bascoma ... tylko ze jak ma liczyć impulsy to ma być skonfigurowany jako licznik COUNTER a nie jako czasomierz TIMER czyli nie CONFIG TIMER0 = TIMER , PRESCALE= 1 | 8 | 64 | 256 | 1024 tylko CONFIG TIMER0 = COUNTER , EDGE= RISING | FALLING
Czemu korzystasz z timer2 jako counter ? Zrób to na CTC na timer 2 a kwarc podłączyć jako zwykły. W takim układzie Wszystko działa na wewnętrznym oscylatorze a do zegara dochodza impulsy z kwarcu zegarkowego. Pozbadz się instrukcji Config timer2 = counter a kwarc podłącz pod xtal Pozdrawiam
Cześć Mam pewien problem do rozwiązania potrzebuje zrobić licznik który będzie mi zliczał do 10000 co 1 sek zrobiłem sobie liczniki T0 i T1 zliczają do 255 bo mają 8bit ale T2 ma 16bit nie mogę tego przeskoczyć[syntax=basic4gl] $regfile = "m32def.dat" $crystal = 16000000 Config Porta = &B11111111 : Porta = &B11111111 Config Portb = &B00000000 : Portb...
Witam czy ktos moze mnie oswiecic w jaki sposob zapisac wartosc do rejestru Counter1 pod bascomem ? Mam taki prosty program i za nic w siecie bascom nie che go lyknac ............. I taki oto blad ASSIGNMENT ERROR line 8 Procesor ma ten timer w sobie. Jezli to wina bascoma to w jaki sposob zapisac ta wartosc z poziomu jakiejs wstawki assemblerowj ?...
Sprawdziłem w symulacji i tak jak pisał kolega zumek działa. (Bascom 1.11.8.7): Dim Bajt As Byte Dim Mbit As Bit Config Portb = Output Do Mbit = Not Mbit Bajt.3 = Mbit Portb = Bajt Loop A w rzeczywistości? Bo jak się okazuje to nie to samo :-( U mnie w symulacji w innym przypadku dziwnie zachowuje się Timer0 jako Counter a w rzeczywistości OK. Jak...
Po co podłączasz rezonator kwarcowy, skoro działasz na wewnętrznym RC? Proszę skojarzyć z Real Time Counter with Separate Oscillator
Config Timer1 = Counter , Edge = Rising ,Noise Cancel = 1, Prescale = 1 , Compare A = Disconnect,Compare B = Disconnect Nie działa Config Timer1 = Counter , Edge = Rising , Noise Cancel = 1 , Capture Edge = Rising , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 0 Działa THX
Mam prostokąt (PWM) na timer1. Czy zliczać Timer1 czy Timer0? Timer ma być ustawiony na time czy counter. Wydaje mi się że najlepiej byłoby ustawić na zliczanie impulsów czyli counter i po odliczeniu 59 zatrzymać Timer1 na czas 1 lub 2 impulsów. Wszystko OK ale nie udaje mi się to w praktyce. Albo nie generuje nic, albo nie zatrzymuje po odliczeniu....
Witam Problem następujący... Program ma liczyć imulsy, a dokładnie mierzy częstotliwość. Wszystko chodzi jeśli wybiorę zamiast TIMERA2 - TIMER1, ale ja musze to zrobić na TIMER2. Pozniżej kod: [syntax=basic4gl] $regfile = "m328pdef.dat" $crystal = 11059200 $hwstack = 256 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu $framesize = 128 Dim...
witam ze specyfikacji wyczytalem ze ten procesor ma dwa wyjscia pwm, jedno pod wyjsciami pd4 (oc1b) i pd5 (oc1a) (timer1), a drugie pod wyjsciem pd7 (oc2) (timer2) .... pierwsze wyjscie dziala bez problemu natomiat drugiego nie moge skonfigurowac (pod bascom-em), wyskakuje mi error86 przy lini w ktorej konfiguruje timer2 ... nawet kiedy wpisuje: config...
Witam Mam pewien problem.Potrzebuję podczas odliczania Timera0 wykorzystać przerwanie Int0. Sprawa wygląda tak, rozpoczynam odliczanie timera0 do momentu pojawienia się sygnału narastającego na wejściu Int0 i w tym momencie muszę przerwać Timer0 i odczytać jego wartość. No i właśnie tu pojawia się problem. Zamieszczę moje wypociny: Config Timer0 = Timer...
Może coś takiego $crystal = 11059200 Dim Czestotliwosc As Long 'w twoim przypadku może być Byte Const Licznik = 22336 ' aby Timer1 przepelniał sie co sekundę Config Timer1 = Timer , Prescale = 256 Config Timer0 = Counter , Edge = Falling On Timer1 Czas 'On Timer0 Zlicz Enable Interrupts Enable Timer1 'Enable Timer0 'Pomiar czasu Counter1 = Licznik Cls...
W czym problem? Dim counter as byte dim I_1_sum as single dim I_2_sum as single w pętli głównej: incr counter i_1_sum=i1_sum+biezaca_wartosc_z_adc i_2_sum=i2_sum+biezaca_wartosc_z_adc if counter=10 then counter=0 i_1_sum=i_1_sum/10 i_2_sum=i_2_sum/10 wyswietl_sobie i1_sum=0 i2_sum=0 end if P.S. Radzę używać więcej niż 10 - np 16 lub 32 *ew 8* -...
Witam Jak odczytac dokładną wartośc z Timer0 (liczbę wszystkich impulsów), teraz zmienna A zbiera tylko same przepełnienia. [syntax=vbnet] $crystal = 8000000 config pind.4=input ' Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.4 Config Lcd = 20 * 2 Cls Cursor Off Noblink Dim A As Single...
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 = Input Set Portb.0 Config Timer0 = Counter , Edge = Falling...
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...
jak ustawisz na counter to liczy z wejscia p3.4. a teraz gate=internal/external to jest tylko ustawienie czy timer bedzie wlaczeny programowo czy sprzetowo. jak dasz external to timer liczy gdy na p3.2 jest stan 0
Config Timer0 = Timer , Gate = Internal , Mod = 2 GATE ??? 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 Jednosci = Licznik Mod 10 Jednosci - byte Licznik - word ........ = nie da rady
Hej Czas powinien byc liczony timerami po to one sa. EDIT Oki czyli widzę to tak: Timer 1 mode=1 'liczy swoje Timer0 mode=3 'dwa liczniki 8-bitowe TL0-impulsy,TH0-zegar No dobra i co teraz? Przejrzałem helpa i forum i o mode=3 zbyt wiele nie znalazłem ;) Na mode=1 nie ma problemów. Jak startuje counter, a jak timer pod T0? Jak odczytuje ich wartości?...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 W 8051 nie ma prescale, a przynajmniej kompilator zgłasza w tym miejscu błąd... i zapomniał kolega dodać Start Timer1 po enable... :) Dalej sobie poradzę ... Dzięki!
Tu jest zarys, jak wysłać dane, niestety z prescalerem zewnętrznym ' ****************************************... ' ** Program name: Testboard - Version : 1.3 21.03.2004 ** ' ** Compiler : BASCOM AVR, ( V1.11.7.4) ** ' ** ATMEGA16 LCD-Board 2x16 ** ' ** PMB2306 & 2312 Prescaler ** ' ** Referenz HF = 12.8...
Dobra. Wziąłem pierwszego lepszego pdf-a ze strony producenta. Są tam dwie końcówki ( T0,T1) . To są timery??? Dodano po 5 Doczytałem się też, że są tam dwa timery - jeden 16 bit ( counter 1) i jeden 8 bit ( counter 2). Czyli, że do 16-bitowego mam odwoływać się timer1 ??? do ilu zlicza 16-bitowy a do ilu 8-bitowy??? czy wiedząc,że jeden ma 8 bitów...
Na poczatek daj sobie stała wartość counter i jako podprogram obsługi przerwania tomera daj cały mój soft od p1.1 = słowo.15 rotate słowo , left , 1 return a w petli głównej daj Do nop loop i zobacz jak bedzie śmigac mysle że bedzie dobrze
Znam Turbo Pascala a Bascom jest do niego bardzo podobny prawie to samo to przerobiłem sobie ten kod pochodzący z tej strony $crystal = 4000000 $regfile "attiny2313.dat" Dim Wynik As Long Config Timer1 = Counter , Edge = Rising Cls : Lcd "Dosimeter" : Wait 1 Do Cls Timer1 = 0 Start Timer1 Wait 40 Stop Timer1 Cls Lcd ; Wynik...
Witam. Mam problem z timerem, który będzie liczył impulsy na wejściu T1 Wgrywam taki kod: [syntax=basic4gl]$regfile = "m8def.DAT" $crystal = 8000000 $baud = 9600 Config Timer1 = Counter , Edge = Rising Timer1 = 0 Do Start Timer1 Stop Timer1 Waitms 500 Print Timer1 Loop End[/syntax] Problem jest w tym, że jak daje zasilanie na t1 to cały czas uzyskuję...
Ja wyłączam wszystkie tranzystory na czas wpisania danych. Dam koledze kod przerwania w C. [code][syntax=c] ISR(TIMER0_COMP_vect) { LEDMUXPORT =0x00; //off all rows SCT2024_OutputOff(); //off all SCT2024 out's RowMux = RowMux>>1; //enable next row RowIndex++; //incr row bytes counter if(RowMux == 0x00) //check for loop cycle { RowIndex = 0x00;...
A proszę bardzo wersję: Compiler version: 2.0.2.1 Compiler build: 2.0.2.1.0 IDE version: 2.0.2.0 Windows OS: Windows 7 Proffesional SP1 Oryginał legalny nie ma się czego wstydzić. Timera używam tylko jednego z odmierzaniem około 5 sekund. 'konfigurujemy timer wywoływany co jakiś czas (patrz procedura) Config Timer0 = Counter , Prescale = 1024...
Witam. W pewnie działającym u kolegi kodzie, podczas kompilacji wyrzucane są błędy. Oto fragment kodu i błędów:[syntax=vbnet]$regfile = 89c4051.dat $large $crystal = 11059200 'Konfigurujemy Timery: Timer0 jako liczący impulsy WEG a Timer1 jako odmierzający czas 1s Config Timer0 = Counter , Gate = Internal , Mode = 1 Config Timer1 = Timer , Gate = Internal...
counter bascom atmega bascom counter atmega8 bascom counter
grzalka lodówka diora wieża sprzedam selector wejść
spalanie oleju przepracowanego spalanie oleju przepracowanego
Jak odświeżyć Smart TV: Samsung, LG, Sony Scania EMS 135 – zbyt niskie ciśnienie paliwa, objawy i diagnostyka kodu usterki