Pic'e Bağlanan Direnç Değerleri

Başlatan Serk@n, 25 Haziran 2013, 17:32:46

Serk@n

Pic'e bir buton bağlayacağım zaman önce 10K ile şaseliyorum. Sonra 1K direnci ile butona seri bağlayarak 5V'a bağlıyorum. Şimdiye kadar bu şekilde kullanarak bir sorun yaşamadım.

Şimdi karşılaştığım durum:

Pic16f877a kulanıyorum.
A Portunu analog giriş için,
B Portunu LCD panel için,
C portu butonlar için dijital giriş,
D portunu role ve LED'ler için çıkış olarak kullandım.

C Portunu yine 10K ile şaseledim. Fakat 1K ile +5V 'a bağladığım butonlardan 'Lojik 1' bilgisini alamadım. 470R, 330R, 220R, 100R derken en son 27R ile 'Lojik 1' bilgisini alabildim. Program ve devre şu an sorunsuz çalışıyor.

Merak ettiğim husus eskiden 1K ile yapabildiğimi şimdi neden 27R ile yapabiliyorum. Bunun sebebi analog girişi kullanmam mıdır? (İlk defa kullanıyorum) Bu durumun devre için bir tehlikesi var mıdır? Pic'e zarar verir miyim? 
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

est32

Buton girişi için en iyisi B portunu kullanmak. Datasheet ten alıntı;

"PORTB is a bidirectional I/O port. PORTB can be software programmed for internal weak pull-ups on all inputs."

B portu dahili pull-up dirençleri barındırır. Bu nedenle pull-up direnci eklemeden buton üzerinden pine doğrudan GND verilebilir.
Hem daha az malzeme kullanılır, hem de PCB küçülür.

Pull-up dirençlerini etkin hale getirebilmek için;
OPTION_REG REGISTER'ın 7. bitini 0 yapmak yeterlidir. Yani,

OPTION_REG.7=0'DAHİLİ PULL UP DİRENÇLERİ DEVREDE

diğerleriyle boşuna uğraşmaya şimdilik gerek yok

Serk@n

Teşekkür ederim.

Aksine bir komut verilmezse OPTION_REG.7=1'dir değil mi?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

est32

bunu söyleyebilmek için option registeri iyi incelemek gerekir.
Belki de hiçbir komut verilmezse işlemci bu registerla hiç ilgilenmiyor da olabilir.
İyice incelemeden birşey söylemem zor.

Serk@n

Yani bazı komutlar işlemciye göre değişiyor mu?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Serk@n

Yoksa komutla ilgili incelenecek bir durum mudur bu?
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

est32

Alıntı yapılan: serkanzey - 27 Haziran 2013, 00:09:32
Yani bazı komutlar işlemciye göre değişiyor mu?
evet aynen öyle.
Bir işlemci ile proje yapmadan önce mutlaka datasheet incelenmeli, işlemcinin default değerlerinin ne olduğuna bakılmalı.
Analog giriş çıkışı olan piclerde analog görev yapabilen picler programa doğrudan analog olarak başlar. BBu nedenle eğer ihtiyaç yoksa program yazarken tanımlamalarda yukarıdakine benzer komutla analog kanalları kapatıp bunları düjitale çeviririz.
Bir projeye başlarken önce en uygun işlemci düşünülür, ne lazımsa,analog kanal mı, pwm mi, timer mı, usart mı... ve buna göre işlemci seçilir ve kodlar buna göre oluşur.

Serk@n

Çok teşekkür ederim. Benim için çok kıymetli bilgiler...
Bildiklerimize göre hareket edersek bilmediklerimizi de öğrenebiliriz.

Powered by EzPortal