PİC16F88 fuse ve analog giriş ayarları

Başlatan frederic, 24 Ocak 2011, 21:11:23

frederic

Arkadaşlar bu pic ile alakalı gerekli config ve analog giriş ayarlarına ihtiyacım var,şu an analog girişleri okuyabiliyorum düzgün bir şekilde fakat ne ilginçtirki ANSEL=0 yapmama rağmen analog girişler kapanmıyor.

PARSIC

********************************************************************HI-TECH*******************************************************************

frederic

#2
Device = 16F88
Xtal 4                           '4 MHz  lik kristal kullanılacak
OSCCON = %01100000                '4 MHz  lik kristal için osccon ayarı
OSCTUNE = 0x00                          '????????
CMCON = 0x07                             'comparatörleri kapat
ADCON1 = %10000000                '7. biti 1 yap
ANSEL = 0                                    'Tüm analog girişler pasif
'*********************************
Declare LCD_DTPin PORTB.4       'DATA girişi PORTB'nin 4. ucundan başlayacak
Declare LCD_ENPin PORTB.3       'LCD'nin ENable ucu
Declare LCD_RSPin PORTB.2       'LCD'nin Register Select ucu
Declare LCD_Interface 4       'LCD veri yolu 4 bit olacak
Declare LCD_Lines 2                    'LCD 2 satırdan oluşuyor                 
'*********************************
Declare Adin_Res 10        '10 bit çözünürlükte okuma yapilmaktadir
Declare Adin_Tad  FRC                 'Osilatör seçimi yapilmaktadir.
Declare ADIN_DELAY 50               'Okuma hizi 50msn olarak belirlenmistir.

Şekilnde yazıyorum fakat analog girişler halen aktif,sebebini bulamadım.

PARSIC

adcon1 satırlarını kaldır tekrar dene
********************************************************************HI-TECH*******************************************************************

frederic

Dediğinizi daha önceden denemiştim fakat bu satır silindiğinde derleme gerçekleşmiyor.

PARSIC

arkadaşım adcon1=0x07 yap...şimdi dikkatimi çekti de port tanımlamalarını  da yapmamışsınız... TRISB=0x00 PORTB=0x00 gibi bunlarıda ekleyin isterseniz
********************************************************************HI-TECH*******************************************************************

frederic

Dediklerinizi önceden denemiştim fakat sonuç alamadım malesef,ansel bu picte analog girişlerin sayısını belirler fakat ben 0 yapsam dahi adin komutu ile tüm değerleri okuyabiliyorum,enteresan doğrusu.

muhittin_kaplan

tüm girişleri digital mi yapacaksınız ?

frederic

Hayır Muhittin hocam analog girişlerden istediğimi pasif istediğimi aktif etmek istiyorum ben ama pic ansel 'e yazdığım 1-0 gurubunu kale almıyor,tüm girişleri sürekli aktif durumda tutuyor.

PARSIC

ben hi-tech kullanıyorum bu ayarları yapıyorum hiç bir sıkıntı yaşamdım tuhaf yani..
********************************************************************HI-TECH*******************************************************************

muhittin_kaplan

datashit :) de portu giriş olarak ayarlamak gerek diyor. ayrıca adcon1 de kanal seçimi de etkiler diyor. ansel den önce giriş olarak ayarladınız mı ?

frederic

Muhittin Hocam portu giriş olarak ayarladım fakat sonuç değişmedi,bu arada dediğiniz gibi adcon da etkiliyor mesela adcon'un 7. bitini 0 yaptığınızda değer 1023 değilde 65000 küsürlere yükseliyor.Yaşadığım sanırım proteus gazabı,reelde denemek lazım bu olayı.

Vakit ayırdığınız için size ve parsice tekrar teşekkürlerimi sunuyorum,hoşçakalın...

muhittin_kaplan

adcon un o biti adc çıkışının bitleri ter çeviriyor. yani LSB MSB, MSB de LSB oluyor

Tagli

Aslında ters çevirmiyor, 10 bitlik verinin 16 bitlik alana nasıl yerleşeceğini belirliyor, sağa veya sola dayalı olarak. Ben genelde sola dayayıp büyük byte'ı kullanıyorum, böylece kullanımı biraz daha kolay oluyor ama çözünürlük 8 bitte kalıyor.

frederic belki de her şeyi doğru yapıyorsun ama Proton ADCIN komutunu görünce o kanalı kendisi analog giriş olarak ayarlıyordur? Sen bahsettiğin komutları yazdıktan sonra test için ADCIN kullanmak yerine o pinlerden LED yakmayı veya dijital giriş almayı dene.
Gökçe Tağlıoğlu

frederic

Sayin tagli dediğiniz gib ADIn satırını kaldırınca pinler dijital olarak işlev görüyor evet.