A gdzie instrukcja CONFIG TIMER1 = COUNTER?
1 jest komenda załączenia ale nie ma komendy wyłączenia Jest. działą to tak: po odebraniu kodu KOD1 wykonywane jest [syntax=arduino] digitalWrite(11,LOW); //załączamy przekaźnik na wyjściu 11 timer1.start(); // uruchamiamy timer 1 [/syntax] timer1 zaczyna odliczać czas ustawiony w [syntax=arduino] Ticker timer1(futimer1, 1000,2); //(funkcja wywoływana,czas...
Trzeba mierzyć czas impulsu i jeśli wynik = ileśtam to wtedy dzieje sie cośtam Może : $regfile = "twój uP" $crystal = twój crystal Config Timer1 = Counter , Edge = Rising Config Portc = Input Do If Portc.1 = 1 Then Start Timer1 If Portc.1 = 0 Then Stop Timer1 End If End If For Timer1 = 100 To 200 Reset Porta.1 Next For Timer1 = 300 To 600...
ale z tego co się już dowiedziałem nie będzie działać na mojej płytce Nie prawda, będzie działał po zmianie kilku linijek kodu. [syntax=basic4gl]$regfile = "8515def.dat" $crystal = 10000000 [/syntax] To zmień na swojego procka i częstotliwość oscylatora, jaki Masz. Na przykład [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 [/syntax] Tą...
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
tak, przepraszam za literowke, oczywiscie mam w programie napisane tak: config timer1=counter reszta jak wyzej
Ewidentnie napisane jest, że counter0 jest licznikiem impulsów !!!! To w programie kol. manekinen . Natomiast ustawienia konfiguracyjne w mojej ostatniej wersji są inne: Config Timer1 = Counter , Edge = Falling : Enable Timer1 Config Timer0 = Timer , Prescale = 8 : Enable Timer0
Daj jakiś schemat. Bo już nic z tego nie rozumiem. Co ma wyzwolić opóźnienie? Bo Timer1= counter zlicza impulsy z PD.5. Czy na tę końcówkę podajesz impulsy jakieś?
Przydał by się jakiś przykład ale pokombinuje . To trochę komplikuje sprawę bo timer1 jest już zajęty ale zobaczymy czy działa lepiej. Docelowo muszę dokonywać pomiaru 2 sygnałów ( sygnałów serw rc). Tylko jeśli ustawię: Config Timer1 = Counter , Edge = Rising , Capture Edge = Rising i po pojawieniu się zbocza zmienię na: Config Timer1 = Counter , Edge...
Zerżnięte z helpa : CONFIG TIMER1 = COUNTER , EDGE = RISING, CAPTURE EDGE = RISING , COMPARE A = DISCONNECT , COMPARE B = DISCONNECT -- Pozdrawiam, Daniel
Zdefiniuj zmienną Temp jako Word. Jak ci ma wyświetlić 600 jesli zmiena Byte może przyjąc max wartość 255. Właśnie powyżej tej wartości będą ci sie wyświetlać dziwne rzeczy. No to może wytłumaczę jak to zrobić na zmiennej typu Byte według wyżej wspomnianej ideii. $crystal = 4000000 $regfile "attiny2313.dat" Dim Pomiar As Single Dim Temp As...
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ę...
no raczej działa nawet w następnych cyklach. sprawdz jeszcze to $regfile = "m8def.dat" Config Pinb.1 = Output $crystal = 1000000 Config Timer1 = Timer , Prescale = 64 Config Timer0 = Counter , Edge = Rising On Timer1 Odmierz_1s Dim Licz As Byte , I As Byte Enable Interrupts Enable Timer1 Start Timer1 Timer1 = 65535 - 15625 Do Loop End Odmierz_1s:...
Raz są zgodne raz są w przeciwfazie. A nie zależy to przypadkiem od stanu początkowego pinu? Config Timer1 = Counter , Prescale = 1 , Compare_A = Toggle , Compare_B = Toggle , Clear_Timer = 1 Nie znam baskoma ale toggle o tym mówi.
(at)excray On timer1 impulsuj znaczy: wywołaj przerwanie przy przepełnieniu Wpisując do rejestru timera określone wartości SKUTECZNIE steruję przebiegiem wyjściowym. Więc wybór rodzaju przerwania jest OK. Recz w tym że OPRÓCZ oczekiwanych przerwań wskakują mi jakieś obce (at)nowyARM Czytałem, a po Twojej wskazówce przeczytałem jeszcze raz. Pomijając...
No właśnie Atmega8 ma dwa timery, na nóżce 6 i 11mozna zliczac impulsy, a w dokumentacji czytamy: Two 8bit counters One 16bit counter Czyli ten trzeci na której nóżce moze zliczać? Normalnie sie go używa jak innych? Config Timer0 = Counter , Edge = Rising Config Timer1 = Counter , Edge = Falling Wystarczy wpisac? Config Timer2 = Counter , Edge = Rising...
... to chyba najprostrze rozwiązanie (program pod BASCOM) Config Timer1 = Counter , Edge = Falling Enable Timer1 Do Timer1 = 0 Waitms 100 Print Timer1 ; "0 Hz " ; Chr(13); Loop sygnał TTL podaje sie na 9 noge 90s2313, a z 3 nogi przez tranzystor odwracajacy - na COM do kompa (pin2). moze to urzadzenie nie jest bardzo dokladne ale w przyblizeniu potrafi...
int0 i int1 a może jakiś kawałek programu bo sam się raczej nie połapie. coś mam ale oczywiście złe ;/ $regfile = "m8def.dat" $crystal = 1000000 Dim W As Word Config Timer0 = Timer , Prescale = 1 Config Timer1 = Timer , Prescale = 1 W = Timer1 Timer1 = W W = Timer0 Timer0 = W Config Timer1 = Counter , Edge = Falling Config Timer0 = Counter...
Przerobiłem troche kod i teraz powinno być dobrze. Ale do jakiej częstotliwości mierzy dobrze to nie sprawdzałem. Sygnał podpinasz pod PD.5 $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Dim Licz_8ms As Byte Config Timer0 = Timer , Prescale = 256 Config Timer1 = Counter , Edge = Falling Config Lcd = 16 * 2 Config...
] 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...
Niestety ja tu nic nie poradzę bo nie bawiłem sie w bascomie w capture. 1) Sygnał do licznika może pochodzić z nóżki albo z wewnętrznego komparatora. Więc trzeba jakoś wybrać nóżkę i ustawić ja na input. 2) Najpierw skonfiguruj swój timer tak jak niżej, bo to musi być COUNTER a nie TIMER: Config Timer1 = Counter , Edge = Falling , Capture Edge = Falling...
A gdyby tak zrobić miernik częstotliwości ?? $crystal = 4000000 $regfile "attiny2313.dat" Dim Wynik As Long Config Timer1 = Counter , Edge = Rising Cls : Lcd "Freq. Meter" : Wait 1 Do Timer1 = 0 Start Timer1 Wait 1 Stop Timer1 Wynik = Timer1 * 1 Cls Lcd "+Freq. Meter+" Lowerline Lcd "Freq. " ; Wynik ; " Hz " Cursor Off Loop End Chyba ujdzie nie ?? Jak...
Może napisz 2 częstościomierze oc1a ,octb - oczywiście liczysz ilość impulsów -tak jak napisałeś. ilość imp. odpowiadać musi stopniom 'C skrypt na hertz'miarke : 'Częstościomierz nieco dokładniejszy Config Timer1 = Counter , Edge = Rising Do : Timer1 = 0 : Start Timer1 Waitms 999 'tu można skorygować wynik Stop Timer1 : Cls : Lcd "F="...
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...
Mam takie wydaje mi sie proste pytanie. Jesli ustawie timer1 jako counter liczy on stany wysokie (5V). Czy da sie go ustawic tak zeby liczyl stany niskie (0V)?
Masz rację ,kod wyglądał tak : Dim Wynik As Long Dim Wynik1 As Long Config Timer0 = Counter , Edge = Rising Config Timer1 = Counter , Edge = Rising Config Portb.1 = Input Config Portb.0 = Input Portb.0 = 1 Portb.1 = 1 Cursor Off Cls Do Timer0 = 0 Timer1 = 0 Start Timer0 Start Timer1 Waitms 500 Stop Timer0 Stop Timer1 Wynik = Timer0 * 30 Wynik1 = Timer1...
Na AT90S8535 zrobiłem sobie licznik impulsów i elegancko zlicza. Zrbiłem to na dwa sposoby (poniższy kod) z wykorzystaniem jednego timera i bardziej dokładny z wykorzystaniem 2 Timerów. Najgorsze jest to że gdy wsadziłem ATmega8535 na lcd pojawia mi się zero tak jakby counter w ogóle nie zliczał impulsów. Zegar procków (7.372.800 Hz) ten sam. Co jest...
........ chce wykorzystać wewnętrzny kwarc 8Mhz po trzecie czytając helpa jesli dobrze rozumiem to timer1 jest 16bitowy a timer0 jest 8 bitowy emarcus - gdybym chciał wykorzystać twój pomysł to gdybym zostawil timer1 jako counter a jako timer wykorzystał timer0 ktory by zliczał czas w jakim sa zbierane impulsy - jeśli o to ci chodziło i jeśli jest...
Witam Mój problem wygląda następująco: -układ na jakim pracuje to atmega 8 a srodowisko programowania Bascom Po zalaczeniu i skonfigurowaniu countera w sposob następujący Config Timer1 = Counter , Edge = Rising , Noise_cancel = 1 Enable Interrupts Enable Timer1 Podczas odczytu wartości countera licznik szaleje (sam nalicza jakies nie stałe wartości)...
Nie bardzo wiem dlaczego wogóle to nie chce wykonać podprogramu po otrzymaniu na noge ICP1 czyli portb.0 opadajacego zbocza. Nic się nie dzieje, co robię nie tak? Mój program: $regfile = "m8def.DAT" $crystal = 8000000 $baud = 9600 Config Portc = Output Set Portc.2 Reset Portc.1 Reset Portc.0 Config Pinb.0 = Input Config Timer1 = Counter ,...
Ale litości. Wstaw ATTiny2313. Po co aż ATMega32? ATMega8 to by było przegięcie a co dopiero 32. $crystal = 4000000 Config Lcd = 16 * 1a Cursor Off Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Counter Dim Temp As Byte Dim R As Byte Dim Freq_compare As Word Dim Metal_type As Bit Dim Freq As Word Dim Dif As Word Dim Temp2 As Byte Dim Prescale...
Mam takie coś: $crystal = 4000000 $regfile "attiny2313.dat" Config Lcd = 16 * 2 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 LCD Db5 = Portb.5 , Db6 = Portb.6 Db7 = Portb.7 , E = Portb.3 Rs = Portb.2 Dim Wynik As Long Config Timer1 = Counter , Edge = Rising Cls : Lcd "Licznik" : Wait 1 Start Timer1 If Pind.1 Then Waitms 25 Timer1 = 0 Do Timer1...
chciałbym zliczać impulsy generowane przez transoptor szczelinowy mam taki kod $regfile = "m8def.dat" $crystal = 1000000 Dim Wynik As Long Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.2 Config Timer1 = Counter , Edge = Rising Do Timer1 = 0 Start Timer1 Wait...
Zrobiłem poniekąd tak jak panowie napisali, z wyjątkiem pomiaru oscyloskopem, bo po prostu nie mam. Dodałem do kodu linijkę: Config Timer1 = Counter , Edge = Rising , Noise Cancel = 1 , Capture Edge = Rising , Compare A = Disconnect , Compare B = Disconnect , Clear Timer = 0 Właściwie to powiększyłem o kilka szczegółów i teraz działa, ale... obroty...
Wy edytowałem takie coś. [syntax=basic4gl]'************* Konfiguracja uC ***************** '***************************************... $regfile = "m8def.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Dim Wynik As Long Dim Wynik1 As Long...
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...
Kolego bykham w ten sposób nie uda Ci się osiągnąć stałej czasowej np. te 100ms. W zależności ile uP wykona przerwań ten czas raz będzie krótszy, raz dłuższy. Raczej spróbuj to wykonać według poniższego programu. Kod: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 1000000 Dim F As Word , Pomocnicza As Byte Config Portd.5 = Input 'T1 (Counter1)...
WItam kolegów jest taki problem podaję na wejśie T1 atmega8 przy kwarcu 16Mhz impulsy o okresie 11us co daje około 90kHz i procek zlicza jak należy bo porównuję z oscyloskopem, ale problem rozpoczyna się gdy włączę INT0 na którym też są te same impulsy ,gdzie sprawdzany jest kierunek obrotu enkodera , wtedy licznik zlicza głupoty w zasadzie około dwa...
Naucz się przerwań. Wykorzystaj Timer0 do generowania przerwania co np. 1s- jeśli ten czas Ci wystarczy. Czyli ustaw Timer0 jako timer. Ustaw Timer1 jako counter i zliczaj impulsy co 1s. W przerwaniu co 1s od Timer0 niech Timer1 zaczyna zliczać impulsy. I co 1s wyświetl liczbę impulsów i wyzeruj Timer1. I od początku. Całą koncepcję powinieneś zmienić.
Witam. Chciałbym sobie zrobić elektroniczny licznik (prędkościomierz) do motoru. Zamysł jest taki: Procesor Attiny2313 zlicza impulsy podawane przez czujnik optyczny z myszy komputerowej. Znając czas, obwód koła itd. możemy wyliczyć prędkość. Jest jednak problem. Mianowicie po włączeniu silnika licznik zaczyna wariować... pokazuje jakiś liczby, często...
Znalazłem taki kod w sieci: [syntax=basic4gl] $crystal = 4000000 $regfile = "m8def.dat" Dim Wynik As Long Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 Config Timer1 = Counter , Edge = Rising Cls : Lcd "Obrotomierz" : Wait 1 Do Timer1 = 0 Start Timer1 Wait 1 Stop...
Witam Potrzebuję zbudować licznik który po zliczeniu określonej liczby impulsów wykona jakąs czynność. Jako generator impulsów wykorzystałem kontaktron magnes i filtr RC Początkowo napisałem program obrotościomierza i wszystko działa ok. A Teraz po małych zmianach nic nie zlicza. Wykorzystuję Timer1 $regfile = "m16def.dat" $crystal = 1000000...
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...
W programie masz bałagan, ale pewnie większym problemem są tu schemat i założenia. PWM 8Bit przy 16Mhz to wyjdzie 62,5kHz. Nawet małe silniczki mają bezwładność na poziomie 10ms więc to chyba niepotrzebne. Przy Twojej prędkości musiałbyś duży nacisk położyć na ten układ ze sterowaniem tranzystora. Dla tego PWM proponuję użyć jakiegoś preskalera. Potem...
Właśnie mam już cały program gotowy w bascomie , nie umiem w tej chwili na tyle dobrze C żeby napisać obsługę PCF, dwóch DS18B20 plus MPX4115. Także chodzi właśnie mi tylko o rozwiązanie pomiaru ciśnienia co 5-10 minut. Ok doszedłem wkońcu jak to zrobić . Skoro program spełnia oczekiwania programisty, to musi byc dobry! Niemniej jednak te 3 przedstawione...
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1...
$regfile = "M16def.DAT" $crystal = 8000000 $baud = 57600 Dim Czestotliwosc As Long Config Timer1 = Counter , Edge = Rising Print "Licznik" Enable Interrupts Enable Timer1 Do Start Timer1 Wait 1 Stop Timer1 Czestotliwosc = Counter1 Print "Freq: " ; Czestotliwosc Counter1 = 0 Loop Sygnał podaję na portb.1 i wszystko śmiga. Nie wiem tylko dlaczego nie...
Jak kompiluje ten kod to wyskakuje błąd. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 Config Pind.5 = Input Cursor Off Cls Lcd "Szerokiej Drogi!" ; Lowerline Lcd " .... " Wait 5 Cls Dim Wynik...
Witam Potrzebuję oprogramować w najprostrzy sposób Attiny2313 i z [url=http://www.cyfronika.com.pl/kityavt... kodu zostawiłem tylko sam licznik impulsów bo nie potrzebuję wyświetlacza, ale nie wiem co dalej bo potrzebuję wiedzieć ile impulsów na sekundę będzie odpowiadało np prędkości 5km/h. Zliczanie nie musi być dokładne gdyż nie...
Uruchomiłem wszystko zgodnie z tym ale nie wskazuje wyniku gdzie jest błąd Sygnał z generatora na razie podaje na pin D7 $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Dim Wynik As Long Config Timer1 = Counter , Edge...
czesc mam taki projekcik obrotomierza. program wyglada tak: $crystal = 4000000 $regfile "m8def.dat" Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Pb.2 , Db5 = Pb.3 , Db6 = Pb.4 , Db7 = Pb.5 , E = Pb.1 , Rs = Pb.0 Set Portd.2 ' Miernik prędkości obrotowej 'licznikiem 0...65535 jest Timer1 Dim Wynik As Long Config Timer1 = Counter...
Temat enkoderów (w wydaniu praktycznym) jest mi niestety jeszcze mało znany więc licze na krytyczne uwagi i nie boje sie sformułowań, "że to nie będzie działać". Ale zrobiłem coś takiego:patrz plik(pominąłem rysowanie części rzeczy przy mikroklocku, jakiś kwarc itp). Co do kodu w Bascomie, to nie wiem czy o to Ci chodzi (na razie nie ma żadnych przeliczników...
Czy mógłbyś jeszcze napisać czym jest ta zmienna D_v i rzuć okiem na te moje wypociny[syntax=basic4gl][/syntax] $regfile = "m32def.dat" $crystal = 16000000 Config Portc.0 = Output Config Portc.1 = Output Config Portb.1 = Input Set Portb.1 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.2...
Na wewnętrznym to się nie ma co dziwić że źle chodzi a do kalibracji i tak potrzebny jest kwarc nawet wystarczy zegarkowy na Timer2 A to procedura kalibracji dla ATmega169 /***************************************... * * Function name : OSCCAL_calibration * * Returns : None * * Parameters : None * * Purpose...
Drogi kolego jest coś takiego jak "Help" w bascom i jest on bardzo przejrzysty. Tak na logikę. Deklarujesz Timer1 jako timer a wpisujesz wartość do countera? Nie dziw się że wywala błąd. Spróbuj "Timer1 = 120".
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...
Witam Procesor jak w temacie. Podłączyłem sygnał zmienny (fala prostokątna) do obu nóżek PortB0 (T0) i PortB1 (T1). Napisałem program w celu sprawdzenia czy oba liczniki działają: $regfile = "M16def.dat" 'Wybór kontrolera ATMega16 $crystal = 8000000 'Kwarc 16MHz Config Lcd = 20 * 2 'Rodzaj wyświetlacza Config Lcdpin = Pin , Db4 = Portc.1 ,...
Ja nie widzę problemu. :D Timer1: CONFIG TIMER1 = COUNTER | TIMER | PWM , EDGE=RISING | FALLING , PRESCALE= 1|8|64|256|1024 , NOISE CANCEL=0 |1, CAPTURE EDGE = RISING | FALLING , CLEAR TIMER = 1|0, COMPARE A = CLEAR | SET | TOGGLE I DISCONNECT , COMPARE B = CLEAR | SET | TOGGLE I DISCONNECT , PWM = 8 | 9 10 , COMPARE A PWM = CLEAR UP| CLEAR DOWN | DISCONNECT...
Witam! Zbudowałem sobie obrotomierz. Jest on poskładany z kilku części. http://www.elektroda.pl/rtvforum/topic61... Z tego schematu trochę korzystałem ale zrobiłem to trochę inaczej, zenerkę mam zamiast 8v2 to 7v5, opornik 10K mam w obwodzie emitera tak samo kondensator 220nF, dodatkowo do bazy mam podpięty jeszcze jeden rezystor 100K który z...
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....
Czy może ktoś pomóc?? (przepraszam za post pod postem) Zmodyfikowałem kod tak jak niżej podam, układ działa i mierzy mi dobrze obroty, ale tylko na pinie 11, na pinie nr 6 również mierzy ale pomiar jest niedokładny waha sie często w zakresie (1400-1900rpm) podczas gdy na pinie 11 jest około 1800rpm stałe. Dlaczego tak sie dzieje? Mozna cos na to poradzić?...
Nie przeczytales mojego postu :| Do kierunku uzywam kontaktronow bo tutaj jest w miare statyczna pozycja. Do predkosci zastosuje transoptor i czujink szczelinowy (takie cos jak w myszce). Ale moja wyobraznia szwankuje, jesli mam kolko z dziurkami kotre przcina promien w czujniku to jest prosto. Ale do niego mam wal i na gorze lopatki - i jak tu liczyc...
Witam, Po szybkim zdeassemblowaniu programu, wygląda, że z peryferiów wykorzystywany jest tylko WatchDog i Timer1 w trybie Counter. Więc przejście na ATTiny będzie polegać głównie na odpowiednim zaprogramowaniu Fusebitów oraz modyfikacji ustawień WatchDoga. A można wiedzieć do czego służy ten interfejs. Pozdrawiam JarekC
Witam, wie ktoś jak łączyć programy chciałbym połączyć dwa takie zeby wszystko dzałał prawidłowo: Dim Wynik As Long Dim Wynik2 As Long Dim Czas As Long Config Timer1 = Counter , Edge = Rising Cls : Lcd "Obrotomierz" : Wait 1 Cls Do Timer1 = 0 Start Timer1 Wait 1 Stop Timer1 Czas = Czas + 1 Wynik = Timer1 * 6 If Wynik > Wynik2 Then...
Jestem początkującym w programowaniu mikrokontrolerów , próbuje zrobic licznik obrotów/min wynik ma być wyświetlany na dwóch wyświetlaczach led7 seg. wyjście z portów steruje cd4543 a ten układ na darlingtony uln2003 z nich lcd. Dlaczego tak ? Ponieważ docelowo maja być duże wyświetlacze led. Problem polega na tym że w Bascomie nie wiem jak wyswietlić...
$regfile = "attiny2313.dat" $crystal = 10000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2 'konfiguracja podłączenia LCD,na płytce testowej Config Lcd = 16 * 2 Config Timer1 = Counter , Edge = Falling , Noise Cancel = 1 , Prescale = 1 Config...
Kod programu jest wyżej, ale podam jeszcze raz (tak jaki jest u mnie): $regfile = "attiny2313def.dat" 'attiny2313 $crystal = 1000000 ' 1MHz Config Portb = Output Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.0 , Rs = Portb.2 Config Lcd = 16 * 2 'wyświetlacz 2 linie po 16 znaków Cursor Off 'wyłączenie...
programik należy doszlifować, pisałem go 5 minut działa w przerwaniach od transoptorów jak będę miał więcej czasu to pomyślę i jak elektroda będzie lepiej działała to jest druga moja "ta" odpowiedź bo pierwsza bardziej obszerna( działanie programu) wywaliła mi się po napisaniu pół A4, można się zniechęcić.....do ponoiwnego pisania. Wtajemniczeni napewno...
Dlaczego w funkcji 'ISR_timerone()' odłączasz, a następnie podpinasz właśnie tę funkcję do przerwania z Timer1? Zmienne 'counterStan' oraz 'counter' powinny być zadeklarowane jako volatile. Używanie zmiennych typu float i operacje na nich w obsłudze przerwania jest złym pomysłem w wypadku użycia AVR.
W jaki celu za każdym przebiegiem pętli loop() inicjujesz SoftDMD i DMD_TextBox? DMD2 używa Timer1. Do jakiego celu służy poniższy kod w setup()? Dodano po 8 Czy procedura obsługi przerwania ma się zajmować tylko liczeniem czasu pomiędzy kolejnymi wystąpieniami przerwań, czy też planujesz coś więcej tam dodać? Jaka jest częstotliwość (zakres) tych impulsów?
Witam, buduje obrotomierz oparty o czujnik hala, Proszę o sprawdzenie programu do tego schematu. I o wszelkie wskazówki co można by było zmienić. Mam jeszcze pytanie jak w programie bascom ustawić up żeby chodził na zewnętrznym kwarcu 8Mhz? [syntax=basic4gl] $crystal = 4000000 $regfile "attiny2313.dat" Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2...
Ojojoj ... myślę sobie ... :) Tu masz pełne sterowanie silnikiem DC za pomocą timerów i pwm : http://obrazki.elektroda.pl/8799299900_1... Oraz kod : #include <avr/io.h> #include <delay.h> /* quartz crystal frequency [Hz] */ #define xtal 1000000L #define increaseButton_PRESSED !(PIND & 0x40) #define increaseButton_OPEN...
Prosze o pomoc co moze byc zlego w tym "prostym" kodzie na zegarek nie wiem ale nie chce dzialac na mojej Atmedze 8. mam Atmege ktora chodiz na zegarze wewnetrznym Dim G As Byte Dim M As Byte Dim S As Byte Dim X As Byte Dim W As Word Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6 , E = Porta.2...
Witam, robię obrotomierz na atmega8. Przy niskich obrotach układ działa raczej dobrze, ale kiedy dodaję gazu to na wyświetlaczu pojawiają się krzaczki. Kiedy obroty znowu spadają układ działa poprawnie. Mam kondensator 100n i 2200uf przy procku. Kabel owinięty wokół przewodu WN idzie do timer1 procesora, podłączony bezpośrednio. Czego mi brakuje w układzie?...
witam! Chcialem prosic o pomoc osoby bardziej doswiadczone, mianowicie mam problem w tym, ze nie chce mi uklad wejsc w obsluge przerwania od timera1, ktory ma liczyc. Projekt ma dzilac tak, by po pojawieniu sie zbocza opadajacego ma wejsc w obsluge przerwania, a nei chce tego mi zrobic :( oto wycinki programu...: $lib "glcdks108.lbx" $crystal...
Witam Procesor przechodzi w stan Powerdown po ustalonym czasie kiedy zmienna L=1. Ustawiłem wybudzanie z przycisku (podanie 0 na int0) no i nie działa . Przepatrzyłem już chyba wszystkie tematy na forum i robiłem z milion kombinacji. Już nie mam pojęcia co robić czy to może być wina BASCOM, procesora , prosilbym o konkretne wskazówki jak ustawić aby...
'freq miernik do 5MHz '2010.08.12 $regfile = "m8def.dat" '$crystal = 11059200 '$crystal = 14745600 $crystal = 16000000 Config Lcdpin = Pin , Db7 = Portb.2 , Db6 = Portb.3 , Db5 = Portb.4 , Db4 = Portb.5 , E = Portc.2 , Rs = Portc.4 Config Lcd = 16 * 2 Dim Ccount As Byte Dim Maincounter As Long Dim C_counter As Word Config Timer0 = Timer ,...
1. Pierwsza moja płytka. W eaglu nie mogłem się odnaleźć (elementy). Załączam schemat. Pijopic, jak możesz, to zrób mi wzór płytki. Jakbyś się już bawił, to dorzuć jeszcze kwarc, ok? 2. Jabel J-91 wygląda dość ciekawie. Ten układ dostosowujący myślę, że będzie dobry. Dobrze myślę? Znalazłem taki kod: $crystal = 4000000 $regfile "m8def.dat"...
Witam . Chciałem zrobic tester pomp opryskiwaczy . Chodzi o mierzenie wydajności pompy w litrach na minute a moje pytanie czy nie bedzie gubił impulsów podczas wykonywania przerwania . Pomiar co 1 sekundę a wydajność pomp od 40l do 260l / min [syntax=basic4gl] $crystal = 16000000 $regfile = "m32def.DAT" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4...
Pozmieniałem troche program ale nie działa prawidłowo prędkość strasznie skacze od 0 do 240 km/h -bo nie zerujesz co 1 sec. licznika impulsów (Timer0), ponadto ,masz zbyt duży błąd zaniżając zakrses zmienmnej "Licz" - as byte Porównaj: $regfile = "2313def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin ,...
Siemka, ostatnio chciałem sobie podłączyć obrotomierz do skutera ale zobaczywszy ceny na allegro postanowiłem zmontować taki obrotomierz sam. Jako ze bawiłem sie juz w arduino itp i miałem pare czesci to zamowilem tylko uC atmega8 bo reszte komponentów miałem. Złożyłem jakoś ten procesor podłączyłem do Timera1 kabel owiniety w okół kabla WN ok 10-12...
odnosnie zegarka to ja bym to zrobil na timer1 - 16 bitowy licznik, i uzaleznil to od przepelnienia tylko nalezy ustawic preskaler na 256 wpisac poczatkowa counter=conter+34286 oczywiscie przy rezonatorze 8 MHz 8000000/256/(65536-34286) = 1 sekunda pozniej tylko zliczanie a i jeszcze jedna sprawa nalezalo by zmienic wartosc dwojkowa na kod BCD :)
Dobrze kalkulujesz. Co do kodu to jest zonk w tym, ze do zliczania impulsow i odmietrzania czasu uzywasz tego samego Timera0. Byc moze jeszcze gdzies jest blad lecz na chwile obecna dysponuje tylko tel. komorkowym. Funkcja Timer0_MicroSeconds musi dzialac na innym timerze niz Timer0 ! Dodatkowo lepszym rozwiazaniem byloby przepisanie stanu licznika...
Witam, Nic nie przeszkadza w tym, że to bascom. Prescaler jest ustawiony na 64 więc zanim licznik zdąży zwiększyć swoją wartość to uC już załaduje do niego odpowiednią wartość. W Twoim programie jest pare błędzików, które może nie wpływają na dokładność pomiaru, ale są głupie :) konfigurując porty, dla pewności możesz napisać: set ddrb.2 set ddrb.3...
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
Witam! Tworzę kontroler swojej deski elektrycznej. Wszystko idzie po mojej myśli poza... Mnożeniem zmiennych przez liczby zmiennoprzecinkowe. Otóż stworzyłem taki kod: Dodano po 19 Więc tak.. Typ zmiennych A i B zamieniłem na Single, ale dalej mnie to nie satysfakcjonuje, bo miała być to zmienna "pojedynczej precyzji" czyli jak zakłądam tylko jedna...
portc.1 to wyjscie , wejsciem w programie oprócz timera jest pinc.1 poprawilem , ale niemam pojecia czy o to chodzilo Proszę o poprawienie swoich postów - 3.1.13. Zabronione jest publikowanie wpisów naruszających zasady pisowni języka polskiego, niedbałych i niezrozumiałych.
/* Timer/Counter1 Overflow */ #define TIMER1_OVF_vect _VECTOR(6) #define SIG_OVERFLOW1 _VECTOR(6) cytat wyciety bezposrednio z pliku "io8515.h" z biblioteki "avr-libc-bin-1.4.4", wiec wydaje mi sie ok. ciagle sie restartuje.. pomocy! ok juz dziala!!!:) pomieszalem biblioteki jak zamienialem starsze na nowsze. Dzieki za pomoc!
zobacz sobie temat: http://www.elektroda.pl/rtvforum/topic81... program będzie bardzo podobnie wyglądał. Chodzi mi o Timery. Dodano po 2 ale czy te diody mają się świecić cały czas to znaczy, że jeśli będzie więcej impulsów niż 200, to mają się świecić wszystkie 3 diody czy tylko 3 dioda?? Tak na szybko napisałem( nie testowałem ale powinno działać):...
KaJakKrzysztof: W katalogu Bascoma w program files masz katalog Samples. Jest tam o ile się nie mylę zegarek, jakiś bardziej skomplikowany zegarek i mnóstwo innych przykładów zastosowań timerów, przerwań itd. Na pytanie - czy coś takiego będzie działać odpowiedz sobie sam, załaduj program do AVR-ka. Timer od countera różni się tym, że służy do ODLICZANIA...
Odłączyłem RC z triaka wylutowałem LEDy i wstawiłem zamiast 390R to 200R. Jeżeli nie ma podłączonego jednego triaka to drugi działa dobrze natomiast gdy są 2 to oba dwa działają naraz Dodano po 2 Problem rozwiązany wyprowadzenie (5) od moc było podłączone do GND (aby nie wisiało) wystarczyło odłączyć je od GND tylko od jednego Moca i układ śmiga w pierwotnej...
Widzę,że nie ma zainteresowania tematem. A mnie na razie udało się stworzyć układ na Attiny2313. Config Portb.0 = 1 ' ustawienie całego Portu B0 jako wyjścia Portb.0 = 1 ' stan spoczynkowy Portu B0 ustawiony na 1 Config Portb.1 = 1 ' ustawienie całego Portu B1 jako wyjścia Portb.1 = 1 ' stan spoczynkowy Portu B1 ustawiony na 1 Config Timer0 = Counter...
dokładnie to o to mi chodzi żeby ten kod zadziałał, analogiczny w asm też nie działa, a właściwie działa tak samo i nie wiem bardzo dlaczego?? 'Timer1 dzia OK, ale timer0 zamiast zliczać p3.4 tylko się tym portem bramkuje??? $sim Config Timer1 = Timer , Gate = Internal , Mode = 0 Config Timer0 = Counter , Gate = Internal , Mode = 1 ' wstawilem też external...
Witam Chciałem ostatnio się pobawić timerem w funkcji licznika zewnętrznych zdarzeń. Ustawiłem TMOD w ten sposób: #01000010B (czyli Timer1 w funkcji countera, tryb 0, a Timer0 normalnie w trybie 2(potrzebny do obsługi wyświetlacza)). Umożliwiłem przerwania i włączyłem timery i wartość TL1 i TH1 wyświetlam sobie. I teraz problem: kiedy zwieram nóżkę...
Witam. Na forum jestem nowy, ale Atmege8 gryzę już od roku:). Zakładam że czytałeś datasheet'a od Atmega8 i niestety nie udało Ci się zrozumieć.Jeżeli tak to Ci pomogę. Po pierwsze w Atmega8 masz trzy timery/countery: -Timer0 8bit -Timer1 16bit -Timer2 8bit Timer1 i Timer2 możesz wykorzystać jako PWM,gdyż mają wbudowaną taką funkcje. Wiadomo że 16bitowy...
$crystal = 10000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2 Dim Ccount As Byte Dim Maincounter As Long Dim C_counter As Word Dim Tuning As Word Config Pind.2 = Input Config Pind.5 = Input Config Pind.6 = Output Config Pinb.0 = Output Load Timer0 20 Set Portd.6...
hmm ultradźwiękowych nie da się poznaczyć dodatnich i ujemnych połówek fali ultradźwiękowych troszeczke nie rozumiem po co okreslac to czy to jest dodatnia czy ujemna mozna to zrobic przez rozroznienie czy to jest narastajaca zbocze czy opadajace czyli tak jakbysmy brali wszystko co sie znajduje nad osia OX i sprawdzali zbocza jesli wybierzemy naraztajace...
Witam, Napisałem prosty program w bascomie jako komputerek pokładowy do motoru $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 Config Pind.5 = Input Cursor Off Cls Lcd "Szerokiej Drogi!"...
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...
Musze zaprogramować w Bascomie AT89C2051 Jak to zrobic ? i czy da rade pod XP tego dokonac ? Config Timer1 = Timer, Gate = Interial, Mode = 1 Config Timer0 = Counter, Gate = External, Mode = 1 On Timer0 Frequency Enable Interrupts Enable Timer0 Enable Timer1 Start Timer0 Start Timer1 pzdr. A.
config timer1 counter atmega32 timer1 counter timer1 winavr
przekażnik stacyjki klawiatura zalać spirytus bizhub hasło
zasilacz laboratoryjny zasilacz laboratoryjny
Jak wymontować cewkę zaworu załączenia przedniego napędu w John Deere 2850? Kod błędu "_ F _" w suszarce Miele T8861WP