logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Brak reakcji na zbocze opadające

krawy1 07 Kwi 2011 19:27 2031 8
REKLAMA
  • #1 9372420
    krawy1
    Poziom 12  
    Witam
    Próbuje zrobić komputerek do auta i mam problem Timer0 ustawiony jest na zliczanie przy zboczu opadającym ale zllicza gdy impulsator ustawi sie że daje napięcie.
    To mój program

     $regfile = "2313def.dat"
      $crystal = 8000000
     Config Timer0 = Counter , Edge = Falling
     Config Portd.4 = Input
     Set Portd.4
     Dim I2 As Integer
     Dim Przep_tim0 As Word
     Dim I As Integer
     Dim I1 As Integer
     On Ovf0 Sekunda
     Enable Interrupts
     Enable Timer0
     Cursor Off
     Cls
      '------------------------------------------------------------------------------------------------------
    Do
    I2 = Tcnt0
    I = 256 * Przep_tim0
    I1 = I + Tcnt0
    Home
    Lcd I2
    Lowerline
    Lcd I1 ; "impulsy"
    Loop
    End
    '--------------------------------------------------------------------------------------------------------
    Sekunda:
    Incr Przep_tim0
    Return
  • REKLAMA
  • #2 9380070
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 9381932
    krawy1
    Poziom 12  
    Nie wiem jakiego rodzaju jest impulsator,to jest impulsator orginalny zamontowany w skrzyni biegów.
  • REKLAMA
  • #4 9383859
    Konto nie istnieje
    Poziom 1  
  • #5 9393362
    krawy1
    Poziom 12  
    Problem z zliczaniem impulsów rozwiązany ale mam nowy problem z wyświetlaniem wyniku zdjęcia w załączniku.
     $regfile = "2313def.dat"
      $crystal = 8000000
     Config Timer0 = Counter , Edge = Falling
     Config Timer1 = Timer , Prescale = 256
     Load Timer1 , 31256
     Config Portd.4 = Input
     Set Portd.4
    
     Dim Dr As Single
     Dim Licz As Byte
     Dim D1 As Single
     Dim Dr1 As Integer
     On Timer1 Sekunda
     Enable Interrupts
     Enable Timer0
     Enable Timer1
     Cursor Off
     Cls
     D1 = 0.41
    
      '------------------------------------------------------------------------------------------------------
    Do
    Dr1 = Fusing(dr , "##.0")
    Home
    Lcd Dr ; " km/h"
    Loop
    End
    '--------------------------------------------------------------------------------------------------------
    Sekunda:
    Load Timer1 , 31256
      Licz = Tcnt0
      Stop Timer0
      Dr = Licz * D1
      Dr1 = Dr1 * 3.6
      Timer0 = 0
      Start Timer0
  • REKLAMA
  • #6 9402480
    Konto nie istnieje
    Poziom 1  
  • #7 9407029
    krawy1
    Poziom 12  
    Pozmieniałem troche program ale nie działa prawidłowo prędkość strasznie skacze
    od 0 do 240 km/h
     $regfile = "2313def.dat"
      $crystal = 8000000
     Config Lcdbus = 4
     Config Lcd = 16 * 2
     Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E =   Pb.1 , Rs = Pb.2
     Config Timer0 = Counter , Edge = Falling
     Config Timer1 = Timer , Prescale = 256
     Load Timer1 , 31256
     Config Portd.4 = Input
     Set Portd.4
    
    
     Dim Flaga As Byte
     Dim Licz As Byte
     On Timer1 Sekunda
     Enable Interrupts
     Enable Timer0
     Enable Timer1
     Cursor Off
     Cls
     Flaga = 0
    
      '--------------------------------------------------------------
     Do
     If Flaga = 1 Then
    Licz = Tcnt0
    Licz = Licz * 1.44
    Home
    Lcd Licz ; " km/h"
    Flaga = 0
    End If
    Loop
    End
    '--------------------------------------------------------------------------------------------------------
    Sekunda:
    Load Timer1 , 31256
    Incr Flaga
    Return
  • Pomocny post
    #8 9413246
    Konto nie istnieje
    Poziom 1  
  • #9 14514774
    krawy1
    Poziom 12  
    Problem rozwiązany dziękuje
REKLAMA