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

Prosze o drobna pomoc Bascom/c 89s52 Mowiacy samochod !

solar1 08 Lis 2005 20:31 1296 3
REKLAMA
  • #1 1966031
    solar1
    Poziom 15  
    Posty: 185
    Pomógł: 2
    Ocena: 11
    Czy ktos mi moze pomoc ( w programowaniu mocny nie jestem ) mianowicie mam procesor 89s52 i che do niego podpiac prosta klawiaturke 10 przyciskowa pod wyprowadzenia <0.0 do 1.1> i np nacisniecie klaiwsza 0.0 spowoduje ze pin 1.7 zmieni stan do czasu az na pinie 1.8 nie pojawi sie impuls a w miedzy czasie (tak 0,3sekundy po zmianie stanu pinu 1.7 pinu) na pinach od 2.0 do 3.1 pojawi sie jakas sekwencja bitowa np 0100000100 i potrwa ze 1sekunde a na chfwilke zmieni sie jeszcze stan pinu 1.6

    a to wszystko takie skomplikowane bo dopiero zaczynam a che zbudowac "informator samochodwy" tj mam kostke isd2590 na ktorej sa nagrane komunikaty np bagaznik otwarty , swiatla wlaczone itd itd :) one sa zadresowane w pamieci tej kostki kostke mozna adresowac tak jak port drokarkowy tj wysylajac jakas tam sekwencje bitow no i do tego che uzych piny 2.0 do 3.1 ... pin 1.7 to ma byc mute (calosc ma byc podlaczona do zestawu naglosnieniowego samochodu ) pin 1.8 che podpiac pod EOM kostki ( tam sie zmienia stan jak sie konczy komunikat ), pin 1.6 to play ukladu :) a piny 0.0 do 1.1 to maja byc piny podlaczone pod siwatla , i inne takie czujniki w samochodzie ! :) (schematu jeszcze nie mam ale pracuje nad nim....przynajmniej nad zarysem) ... na porgramowaniue nie znam sie wogole nie jestem wstanie sklecic zadnego listingu ;/ Prosze o pomoc


    mam taki przykladowy listing

    K1 Alias P0.0
    K2 Alias P0.1
    K3 Alias P0.2
    K4 Alias P0.3
    K5 Alias P0.4
    K6 Alias P0.5
    K7 Alias P0.6
    K8 Alias P0.7
    K9 Alias P1.0
    K10 Alias P1.1
    PKEOM Alias P1.6
    PKMU Alias P1.7
    PKPL Alias 1.5

    DO
    if K1=1 then
    P1.7 =1 ( do czasu az na P1.6 cos mrygnie a to se mrygnie tak po wykonaniu tego calego czegos co jest ponizej )
    P2 = &B01010101 ' ustwainie
    P3.0 = 1 ' adresu
    P3.1 = 0 ' Komunikatu
    waitms 250 ' odczekanie
    waitms 250 ' czekanie...
    waitms 250 ' nadal czekanie
    P1.5 = 1 ' nacisakm play w koste
    ' tu mija 5-10 sekund zaleznie od komunikatu glosowego
    ' tu sie zmienia na chfile p1.6 i p1.7 powinien se zresetowac
    endif

    LOOP

    end


    nie wiem jak zrobic to z p1.6 i p1.7 tak aby p1.7 zmienil sie jak sie pojawi na p1.6 impuls
  • REKLAMA
  • #2 1968936
    solar1
    Poziom 15  
    Posty: 185
    Pomógł: 2
    Ocena: 11
    ok to co juz mam (mogl by ktos wytknac bledy w schemacie i w programie ? )

    program

    
    K1 Alias P0.0
    K2 Alias P0.1
    K3 Alias P0.2
    K4 Alias P0.3
    K5 Alias P0.4
    K6 Alias P0.5
    K7 Alias P0.6
    K8 Alias P0.7
    K9 Alias P1.0
    K10 Alias P1.1
    PKEOM Alias P1.6
    PKMU Alias P1.7
    PKPL Alias 1.5
    
    DO
    
     if K1=1 then
       P1.7 = 1 '     mute ONe
       P2 = &B01010101     '  ustwainie
       P3.0 = 1                   '  adresu
       P3.1 = 0                    ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      if PKEOM = 1 Then reset PKMU ' zakonczenie operacji wylacznie muta
    
     Elseif K2 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01011100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      if PKEOM = 1 Then reset PKMU ' zakonczenie operacji wylacznie muta
    
      Elseif K3 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01011100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      If Pkeom = 1 Then Reset Pkmu                                ' zakonczenie operacji wylacznie muta
    
      Elseif K4 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01011100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      If Pkeom = 1 Then Reset Pkmu                                ' zakonczenie operacji wylacznie muta
    
      Elseif K5 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01011100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      if PKEOM = 1 Then reset PKMU ' zakonczenie operacji wylacznie muta
    
      Elseif K6 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01011100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      if PKEOM = 1 Then reset PKMU ' zakonczenie operacji wylacznie muta
    
     Elseif K7 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01010000                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      If Pkeom = 1 Then Reset Pkmu                                ' zakonczenie operacji wylacznie muta
    
      Elseif K8 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01000100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      If Pkeom = 1 Then Reset Pkmu                                ' zakonczenie operacji wylacznie muta
    
      Elseif K9 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B01010100                                            '  ustwainie
       P3.0 = 0                                                   '  adresu
       P3.1 = 0                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      If Pkeom = 1 Then Reset Pkmu                                ' zakonczenie operacji wylacznie muta
    
      Elseif K10 = 1 Then
     P1.7 = 1 '     mute ONe
       P2 = &B00011100                                            '  ustwainie
       P3.0 = 1                                                   '  adresu
       P3.1 = 1                                                   ' Komunikatu
          waitms 250              ' odczekanie
          waitms 250              ' czekanie...
          waitms 250              ' nadal czekanie
       P1.5 = 1                 ' nacisakm play w koste
       waitms 200
       waitms 200
       P1.6 = 0                  ' odciskanie playa
         '  tu mija 5-10 sekund zaleznie od komunikatu glosowego
      if PKEOM = 1 Then reset PKMU ' zakonczenie operacji wylacznie muta
    
    
    
      LOOP
    
    
    End
    
    end
    
    Załączniki:
    • sch1.rar (14.39 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #3 1970069
    sivex
    Poziom 27  
    Posty: 815
    Pomógł: 113
    Ocena: 25
    A pojawiaja sie jakies bledy w bascomie?
    Czy moze nie dziala jakas funkcja?
  • #4 1970919
    solar1
    Poziom 15  
    Posty: 185
    Pomógł: 2
    Ocena: 11
    no bascom nic nie wyplul ..zadnych syntax erorow ale to moj 1 program wiec nie wiem czy to wogule bedzie trybic ..,.,.,
REKLAMA