ADC mantığı ve 12f675 için uygulama geliştirme?

Başlatan futureng, 23 Eylül 2008, 09:49:11

futureng

Merhaba.
Şu ADC mantığını halen çözüp pic i verimli kullanabilmiş değilim. Bu açıdan bişey sormak istiyorum 12f675 de ADC ile ilgili uygulama yapmak istiyorum.
Mesela "GPIO1=2.7 V ise GPIO2=High olsun eğer 3 v ise LOW olsun" gibi... Basit bir örnek uygulama nasıl yapılabilir?
GimpTR.COM: Hayal Gücünüzün Gerçek Dünyadaki Görünüşü  http://www.gimptr.com

Tagli

ADC yaparken referans voltajları aralığı 1024 parçaya bölünür ve buna göre bir değer döner. Ayrıntıları ben de tam bilmiyorum ama referans voltajlarını dışardan almazsan (hatta kullandığın PIC'te böyle bir özellik olmayabilir) toprak ve besleme voltajını referans alır. Bu durumda 5V'a 1024, 0V'a 0 değerini verir. İstediğin voltaj değerlerini de oranlama yaparak bulabilirsin ve programı da ona göre yazarsın.

Bu arada, uzun süredir PicBasic Pro kullanmadım ama yanlış hatırlamıyorsam ADCIN komutunu kullanırken yanına doğrudan pin numarasını yazmak gerekiyordu (pin numarasının nasıl elde edildiğinden de emin değilim). Pin olarak PORTA.1 gibi yazınca olmuyordu doğrudan 1 yazmak gerekiyordu.
Gökçe Tağlıoğlu

hp8920

arkadaşım inşallah yardımcı olurum
---------------------------------------------------
Define   ADC_BITS      10   
Define   ADC_CLOCK      3   
Define   ADC_SAMPLEUS   50   
ADCON0 = %10000010
deger      var word

basla:
   TRISIO =  %00000011 '--------- GPIO.0 ve GPIO.1 portu input
   ADCIN 0, deger           '--------- GPIO.0 adc girişini oku ve degere yaz
   if deger<500  then high GPIO.4  '-----ölçulen deger 500 den küçükse
   if deger>=500 then low  GPIO.4  '-----ölçulen deger 500 den büyük ve eşitse
goto basla
---------------------------------------------------------------------------------
   IF  deger<500  THEN  '-----ölçulen deger 500 den küçükse
   high GPIO.4
   ELSE       '---------------ölçulen deger 500 den küçük deyilse
   low  GPIO.4
   ENDIF
-----------------------------------------------------------------------------------
arkadaşımızında bahsettigi gibi GPIO.0 a  0volt uygulandıgında deger 0 dır 5volt uygulandıgında deger 1023 tur maksimum degeri budur
yardımcı olabildiysem nemutlu

OG

8 ve 10 bit çalışma için örnek aşağıda. İstenen degere daha fazla yaklaşmak için 10 bit çalışmak daha faydalıdır.

http://rapidshare.com/files/150999239/8_ve_10_bit_ADC.zip
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

futureng

Cevap için teşekkür ederim. Ben de soruma cevabı tam da dün buldum ve deneyip test ettim. Başarılı oldu. AMA JAL dilinde :)

Link..

ilgili linkte yayınladım.

Herkese kolay gelsin.
GimpTR.COM: Hayal Gücünüzün Gerçek Dünyadaki Görünüşü  http://www.gimptr.com