Skocz do zawartości

Turboasm

Users
  • Zawartość

    31
  • Rejestracja

  • Ostatnio

Reputacja

0 Neutralna

O Turboasm

  • Ranga
    3/10
  • Urodziny 06.11.1989

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kleczew
  1. A mógł byś dać jakis przykład ?
  2. 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 ?
  3. Turboasm

    attiny13

    Attiny13 pracuje na 9.6 MHz na 100%
  4. 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
  5. dzięki za pomoc ale pozostaje mi tylko problem który licznik zaprząc do zadania. Czy timer1 do zliczania impulsów czy timer2 ?
  6. Turboasm

    [bascom] Problem z kodem

    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.
  7. Czyli tą zmianną bym musiał zerować po każdym przejściu programu. Jakoś inaczej jeszcze da radę to zrobić ?
  8. 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
  9. 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
  10. Turboasm

    [bascom] Problem z kodem

    jednak drgania styków były przyczyną złego działania. Dzieki za pomoc.
  11. Turboasm

    [bascom] Problem z kodem

    który przycisk to już bez różnicy oba tak samo. między 1 a 15 ms jest różnica widoczna
  12. Turboasm

    [bascom] Problem z kodem

    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.
  13. Turboasm

    [bascom] Problem z kodem

    tylko że chodzi mi o zmiany od 1 do max 15 ms
  14. Turboasm

    [bascom] Problem z kodem

    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.
  15. 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 ?
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.