Sadece kullanılacak pinin analog seçilmesi

Başlatan mcn, 11 Temmuz 2012, 15:29:51

mcn

Herkese hayırlı günler,

Bir devremde ds1302 ile saati okuyorum. DS1302 yi pic in a0,a1 ve a2 pinlerine bağladım. Şimdi bir de E0/AN5 pininden analog olarak voltaj okuma yapmam gerek.

Devreyi bastım çıkarttım,pic olarak 18f4620 kullanıyorum. Daha önce kullandığım bir kaç işlemcide analog pinin ayarlamasını yaparken tek bir kanalı seçebiliyordum.
Ancak bu işlemcinin header dosyasında analog pin seçimini şu şekilde göstermiş:


// Constants used in SETUP_ADC_PORTS() are:
#define NO_ANALOGS   0x0F   // None
#define ALL_ANALOG   0x00   // A0 A1 A2 A3 A5 E0 E1 E2 B2 B3 B1 B4 B0     
#define AN0_TO_AN11  0x03   // A0 A1 A2 A3 A5 E0 E1 E2 B2 B3 B1 B4       
#define AN0_TO_AN10  0x04   // A0 A1 A2 A3 A5 E0 E1 E2 B2 B3 B1          
#define AN0_TO_AN9   0x05   // A0 A1 A2 A3 A5 E0 E1 E2 B2 B3             
#define AN0_TO_AN8   0x06   // A0 A1 A2 A3 A5 E0 E1 E2 B2                
#define AN0_TO_AN7   0x07   // A0 A1 A2 A3 A5 E0 E1 E2                   
#define AN0_TO_AN6   0x08   // A0 A1 A2 A3 A5 E0 E1                      
#define AN0_TO_AN5   0x09   // A0 A1 A2 A3 A5 E0                         
#define AN0_TO_AN4   0x0A   // A0 A1 A2 A3 A5
#define AN0_TO_AN3   0x0B   // A0 A1 A2 A3
#define AN0_TO_AN2   0x0C   // A0 A1 A2
#define AN0_TO_AN1   0x0D   // A0 A1
#define AN0          0x0E   // A0


E0 pinini analog pin olarak ayarlayabilmem için

setup_adc_ports(AN0_TO_AN5);

şeklinde yapmam gerek o zaman da A0 A1 ve A2 pinleri de analog olarak ayarlandığı için bu seferde DS1302 den saat verisini alamıyorum doğal olarak.

Yani amacım sadece E0 pinini analog giriş olarak ayarlayabilmek.Bunu yapmanın bir yöntemi var mıdır? 
www.teknikyazi.com --üşenme,erteleme,vazgeçme...

LukeSkywalker

Registerlara baktınız mı? Sadece istediğiniz pini analog olarak seçmek registerlarda mümkün mü?

mesaj birleştirme:: 11 Temmuz 2012, 16:06:30

Eğer mümkün değil ise her analog okuma yapacağınız sırada registerlarla oynayarak pinleri analoğa çevirip , okumanız bitince de tekrar dijitale çevirmelisiniz.

JKramer

Donanımsal olarak mümkün değil, maytere'nin önerisini deneyebilirsiniz.