Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

ADC

Başlatan mahmer, 09 Haziran 2013, 18:08:12

mahmer

slm hocam konunun yeri burası değil daha yeni üye oldum sitenize ancak yorumum kaldırılcaksa bile özelden yönlendirme yapın yada yardımcı olun buradaki konuyla alakalı değil ancak en güncel yorum buradaki konuya ileti atıyorum


şöle basit bir kod yazdım bende pıcde yeniyim end.elektronik okudum ancak çok geliştirmek istiyorum kendimi bir adc çevirisiciyle proje yapmak istiyordum ancak bu adc  beni fıtık etti  ya bu pıcı yapanlar ya çok zeki yada bende kıtlık var birtürlü mantığın çözemiyorum yardımcı olurmusnuz en azından led yakayım dedim işte kodu :


TRISA=%00000001
TRISC=%11111110

SYMBOL TUS=PORTA.0
SYMBOL LED=PORTC.0

BASLA:
IF PORTA.0=1 THEN
PORTC.0=0
PAUSE 500
PORTC.0=1
ENDIF
GOTO BASLA
END

bunu bile yapamadım lütfen yol gösterin tıkandım resmen kendimden nefret ediyorum artık

teşekkürler.

wishbone

portc.0=1 in altına bir pause 500 yakışır...o kadar kolay strese girme sabret bir zaman sonra otobanda gider gibi kod yazarsın...

Pyrodigy

#2
Kullandığım işlemci nedir? Gömüşü Adc si varmı? Varsa adc setup nerde? Sadece AN0 ı in yapmışsın okadar!
Kullandığın işlemcinin adc bölümünü tekrar oku, orda hazır kaynak kod vardır.
Sevgilerle
Not: ete hoca aşağıda detaylı anlatmış, oradan başlamanı bende tavsiye ediyorum.
Persistance is the name of the game in this business....

ete

#3
Kestirmeden gitmeye çalışan pek çok kişi gibi eksik kodlar yüzünden hüsrana uğramış gözüküyorsun.
Öncelikle asıl sorunu açıklamakta yarar var. Bir ledin yandığını görebilmen için onun en az 100 ms dolayında aktif olması gerekir. Elbette bir ledin yandıktan sonra söndüğünüde görmek için en az 100 ms sönük konumda kalması gerekir. Senin programda ledin söndüğü gecikmeye bağllı olarak görülebiliyor. Ancak ledin yandığı yine bir gecikmeye bağlı olarak görülebilmelidir.

Yine bir programda tuş kontrolü çok hızlı yapılır. Gerekli kontrolü yada kısıtlamayı koymaz isen sen tuşu bırakıncaya kadar program yeniden tuş kontrolüne gelir ve senin basılı kalan tuşunu yeniden görür. Bu sorunu halledebilmek için komut ile tuşun bırakıldığınıda programa yakalatman gerekir. Nasıl dersen aşağıya bak;

If tus=0 then.   'Tusa basıldığını yakaladık
  Led=1
   While tus=0:wend. Tusun bırakılmasını burada yakalayacağız. Tus bırakılıncaya kadar program burada dönecek.
Pause 50.  Biraz gecikme koyup tuş titremesini önlüyoruz.
Endif

Asıl konu şu; bir programda olması gerekenler vardır. Bunları sıralamak gerekir ise;
- en başta sigorta ayarlarını koymalıyız
- altında port pinlerini giriş ve çıkış olarak ayarlayacak tris komutları yer almalıdır
- devamında işlemciye ait ayarlanması gereken register ayarları olmalıdır. Cmcon , adcon1, option_reg gibi tegisterler
- devamında varsa lcd define komutları
- devamında değişken tanımlamaları
- devamında açılış gecikmeleri veya varsa kesme ayarları
- en sonunda basla etiketi ile programa başlanmalıdır.
Sitede ders notları yayınlanmıştı onları okumanı tavsiye ederim.
Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com