
Turboasm
Users-
Zawartość
31 -
Rejestracja
-
Ostatnio
Wszystko napisane przez Turboasm
-
[Bascom] Mierzenie czasu pomiedzy impulsami
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
A mógł byś dać jakis przykład ? -
Jak zrealizować pomiar czasu pomiedzy impulsami ? Dodam że impulsy są zbierane z czujnika indukcyjnego zamocowanego nad kołem zembatym z około 100 zębami. Zależy mi na bardzo dynamicznym pomiarze gdyż zliczanie impulsów w czasie nie zdaje egzaminu gdyż silnik zmienia prędkość obrotową bardzo dynamicznie od 500 - 7000 obrotów na minutę. Nie musi być to dokładne nie co 1 obr/m a np 100 200. Czy w bascomie intrukcja PULSEIN dała by radę czy moze znajdzie sie jakies inne rozwiązanie ?
-
Attiny13 pracuje na 9.6 MHz na 100%
-
Jak zrobic żeby program dzialał szybciej ? Zliczam impulsy włącznikiem hallotronowym. Program działa z opóźnieniem. $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portd.3 , Db6 = Portd.2 , Db7 = Portd.1 , E = Portb.7 , Rs = Portd.7 Config Lcd = 16 * 2 Dim Wynik As Long Config Timer0 = Counter , Edge = Rising Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Start Timer1 Cls Do Timer0 = 0 Start Timer0 Waitms 500 Stop Timer0 Wynik = Timer0 * 120 Cls Lcd Wynik ; " obr/min" Cursor Off
-
dzięki za pomoc ale pozostaje mi tylko problem który licznik zaprząc do zadania. Czy timer1 do zliczania impulsów czy timer2 ?
-
Aby nie zakładać nowego tematu odgrzewam ten. Jak rozwiązać problem aby po wciśnięciu przycisku zmienna X została zapamiętana w eeprom ( P ). $regfile = "attiny13.dat" $crystal = 1200000 Config Pinb.0 = Output Config Pinb.3 = Input Portb.3 = 1 Config Pinb.4 = Input Portb.4 = 1 Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down Start Timer0 Dim X As Byte Dim P As Eram Byte X = 50 Do If Pinb.4 = 0 Then Waitms 10 X = X + 10 End If If Pinb.3 = 0 Then Waitms 10 P = X End If Pwm0a = X Loop End Aby program po włączeniu zasilania nie wracał do ustawienia X = 50.
-
Czyli tą zmianną bym musiał zerować po każdym przejściu programu. Jakoś inaczej jeszcze da radę to zrobić ?
-
Może zapytam inaczej. Czy poniższy kod jest poprawny ? Chodzi o to żeby było zapętlone select case żeby na bieżąco zmieniało wypełnienie pwm w zależności od obrotów. $crystal = 4000000 $regfile = "m8def.dat" Dim Wynik As Long Config Timer2 = Counter , Edge = Rising Config Pinb.1 = Output Config Timer1 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down Cls : Lcd "Obrotomierz" : Wait 1 Do Start Timer1 Timer2 = 0 Start Timer2 Wait 1 Stop Timer2 Wynik = Timer2 * 60 Cls Lcd "P: " ; Wynik ; " obr/min" Cursor Off Select Case Wynik Case 0 To 1000: Do Pwm1a = 250
-
Mam kod obrotomierza: $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
-
jednak drgania styków były przyczyną złego działania. Dzieki za pomoc.
-
który przycisk to już bez różnicy oba tak samo. między 1 a 15 ms jest różnica widoczna
-
wpisywałem program do procesora. i mam do PC5 podłączoną diodę przez rezystor 100ohm a do pc3-4 przyciski zwierające do masy. Program powoduje albo stałe świecenie diody lub po naciśnięciu przycisku ( pare razy ) zaskakuje po pewnym czasie.
-
tylko że chodzi mi o zmiany od 1 do max 15 ms
-
tylko program i tak nie działa jak powinien. Chodziło mi o to żeby regulować częstotliwości mrugania diody za pomocą przycisków.
-
mam kod: $regfile = "m8def.dat" $crystal = 8000000 Config Pinc.5 = Output Portc.5 = 0 Config Pinc.4 = Input Portc.4 = 1 Config Pinc.3 = Input Portc.3 = 1 Do Dim X As Byte X = 1 If Pinc.4 = 0 Then X = X + 1 End If If Pinc.3 = 0 Then X = X - 1 End If Waitms X Toggle Portc.5 Loop End jak zmodyfikować ten kod aby reagował zaraz po naciśnięciu przycisku i aby zmienna X była zapamiętywana w eeprom ?
-
Jak za pomocą mikrokontrolerów sterować silnikami prądu stałego?? Chodzi głównie o to żeby dało się regulować jego prędkość. Jeśli ktoś by posiadał jakieś kody źródłowe w C z tym zwiazane prosiłbym o udostępnienie.
-
Linux, avr, kwarc, zewnętrzna pamięć
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
jeżeli w dokumentacji ATMega8 jest: chodzi o ustawienia fuse bit dla kwarcu 3-8 MHz. W tym programie dla win w 2 kolumnie Fuse Low bits jeżeli dla 3-8 MHz sa ustawienia 111 dla CKSEL3..1 to w programie musze ustawic CKSEL1:zaznaczyć CKSEL2:zaznaczyć i CKSEL3:zaznaczyć ??? PS. abxyz mógłbyś przesłać mi Makefile na meila ?? -
Linux, avr, kwarc, zewnętrzna pamięć
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
Czy dla każdego kwarcy będą takie same ustawienia fuse bit ( jeżeli nie to gdzie je znaleźć ?)?? Jak zaprogramować fuse bit w linuksie ?? -
Linux, avr, kwarc, zewnętrzna pamięć
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
ATMega8 z kwarcem zegarkowym 32 768 Hz -
Linux, avr, kwarc, zewnętrzna pamięć
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
ale jak mam przeprogramować fuse bity kożystając z najprostrzego z możliwych programatorów ?? -
Linux, avr, kwarc, zewnętrzna pamięć
Turboasm odpisał w temacie użytkownika Turboasm • Mikrokontrolery
co do pytania 3 to chodziło mi o to czy coś jeszcze oprócz tego zapisu potrzeba żeby kożystać z dołączonego kwarcu ( z jego częstotliwości ) -
Mam kilka pytań na które nie znalazłem jeszcze odpowiedzi a dokładnie: ( język C ) 1. Co muszę zainstalowac aby móc kompilować programy dla avr pod linuksem ?? 2. Pod które piny muszę podłączyć kwarc i czemu akurat pod te. 3. Czy w programie muszę coś więcej podawać oprócz #define F_CPU <częstotliwość>L ?? 4. Czy zewnętrzną pamięć EEPROM mogę podłączyć pod obojętnie które piny czy są jakieś specjalne i jak zapisać dane do tej pamięci ??
-
Hmm a jaką książkę polecasz ?? Bo ja dla mnie to najlepsza pytania i odpowiedzi no i jeszcze przykłady. PS. Byłbym bardzo wdzięczny za odp. na powyższe pytania.
-
chodzi o to czy na mikroprocesor mogę na np. PC4 podać + czy nie ?? Jak zrobić aby dana instrukcja była wykonywana przez jakiś czas np. sbi(DDRB,PB1) przez 10s ???? Co zrobić aby w/w programie dioda świeciła tylko gdy przycisk będzie trzymany, jak puszcze to gaśnie ?? Gdzie mogę znaleźć programy dla uC w C wraz z opisami ??
-
zabawki, odtwarzacze video, magnetofony itp.