Usart kullanımıyla ilgili bi soru

Başlatan faust, 04 Şubat 2008, 20:35:58

faust

Merhabalar arkadaşlar benim şöyle bir sorum olacak:

Öncellikle amacım bilgisayar klavyesinden girdiğim bir değeri pic işleyip o anki değerine göre istediğim koşulu gerçekleştirmesidir. Bunun için isis'de virtual terminali açıp oradan değeri gireceğim ve örneğin 3 girdiğimde 3.pini 2ye bastığımda 2. pini on etcek gibi düşünebiliriz. Ben programı şu şakilde yazıyorum fakat sonuç alamıyorum yardımcı olursanız sevinirim:

   Device 16F628A
       CMCON=7
       Dim datam as Byte
       
       Dim bekle as byte      
       bekle=13      
       Delayms 500                        
     
     
       While 1 = 1                           
           
HSERIN [WAIT(bekle) , DEC datam]
          

      If datam=0x31 Then PORTA.0=1              ' 0x31 ascii tablosu 1'in karşılığı
      If datam=0x32 Then PORTA.1=1              '0x32   "          "      2'in    "  
      If datam=0x33 Then PORTA.2=1               '0x33    "         "       3       "
      If datam=0x34 Then PORTA.3=1               '0x34    "         "       4      "
     
Wend

End
Yardımcı olursanız çok sevinirim İyi çalışmalar

mustafa_cmbz

symbol bekle=13  

protondan dan anlamam ama burası normal mi ? bilmiyorum

basic'te  

symbol bekle=porta.0 vs gib oluyor ama burada direkt aktarmışsın bana kalırsa oraya

bekle var byte yazman gerek herhalde

ve daha sonra bekle=13 dersin ancak böle olur kanımca ....kolay gelsin

yani kısaca şöyle :

BEKLE VAR BYTE
BEKLE =13
[/color]

faust

cevap için sağol ama öyle olmuyor ben zaten öyle yazmıştımda buraya yazarken eksik yazmışım. Üstteki kod Edit edilmiştir.

sailorman

beş satırı şu şekilde denersen olacağını sanıyorum

HSERIN [WAIT(bekle) ,  datam]


If datam= "1" Then PORTA.0=1
If datam= "2" Then PORTA.1=1  
If datam= "3" Then PORTA.2=1
If datam= "4" Then PORTA.3=1

faust

Alıntı yapılan: "sailorman"beş satırı şu şekilde denersen olacağını sanıyorum

HSERIN [WAIT(bekle) ,  datam]


If datam= "1" Then PORTA.0=1
If datam= "2" Then PORTA.1=1  
If datam= "3" Then PORTA.2=1
If datam= "4" Then PORTA.3=1
yok denedim böylede olmadı ne yazıkki

sailorman

yalnız denerken "13" sayısını bekletiyorsun. bu sayıdan sonra gelecek sayılar değişkene aktarılacak; istediğin değer gelirse port 1 olacak şekilde yazılmış. seri porta sırasıyla "131" değerini yollarsan porta.0 ın 1 oduğunu görebilirsin.

faust

o şekildede olmadı muhtemelen başka bir noktayı kaçırıyorum yorumların için teşekkürler