pic datasheet okuma

Başlatan hsaglam, 20 Mayıs 2008, 01:26:35

hsaglam

Merhabalar
Eminim ki her pic tasarımcısı kullandığı pic'i konfigüre etmede zamanla sorunlar yaşamıştır. Bunun aşmanın tek yolu datasheet kurcamlamayı bilmektir.

Ben de yeni bir pic programlayıcısı olarak datasheet kullanmayı henüz tam ayrıntısıyla bilemiyorum ancak forumda bulabildiğim kadarıyla sorunlarımı çözmeye çalışıyorum (kazara bulabilirsem :) )

Elinde datasheet okuma ile ilgili açıklayıcı dökümanı olan arkadaşlar varsa paylaşabilirmi?

Ben şu an 16F628 ile ilgili bir deneme yapıyorum. pic üzerindeki pinleri sadece digital i/o olarak kullanmaya çalışıyorum bazılarını hallettim ancak bazılarında sorun yaşıyorum şöyleki

Reset bacağını inputa çevirmeyi başardım
komparatör bacaklarını i/o olarak konfigüre edebildim (cmcon=7)
ancak Rb0 ve Rb2 bacaklarını henüz digital i/o yapamadım
trisb=0 dediğim zaman hata almıyorum ancak bu bacaklara 1 gönderdiğim zaman 0 olarak kalmaya devam ediyor

bu konuda ve datasheet okuma konusunda (en azından genel hatlarıyla)yardımcı olabilirseniz teşekkür ederim

Maxim

ama olması lazımdı ,
birde şöyle yapın TRISB = %00000000

forsa1975

Kullandığın pic bozuktur. Bu kodu başka picde denemelisin.

hsaglam

düzeltme yapıyorum
B portundaki giriş ve çıkış olacak pinleri trisB=%xxxxxxxx
olarak ayarlıyorum
ancak olmadı (simulatörde de deniyorum)

Ancak benim burada öğrenmek istediğim şu:
Bir pic'de (şu an için 18f628a) pinlerin tamamının dijital i/o olarak konfigüre edilmesi için (timer yok, kesme yok, reset yok..vb)
hangi yazmaçları nasıl konfigüre etmem lazım kısaca bunu belirtebilirmisiniz?

elmaalma

Datasheet içerisinde arama yaparken acrobat readerin bookmark bölümünü kullanmanızı öneririm.

Örnek olarak PORTB ilgili olarak I/O PORTS bölümünü seçip baktığımızda

PORTB Hakkındaki bilgilere ulaşırız.  Bu bilgilerin en sonunda da PORTB ile ilgili "SUMMARY OF REGISTERS ASSOCIATED WITH PORTB" yazmaçları ve ilgili bitleri görürüz.

Bunlar ise ;
TRISB, PORTB ve OPTION_REG dir.

hsaglam

sorunu aslında buldum    gibi ancak yapamadığım için deneyemedin
sorun bence şu (çok basit ah kafam) b portunda o pinleri çıkış olarak kullandım sonra datasheet'ten farkettim ki b portunun aksi söylenmedikçe default olarak pull up dirençleri 16f628 için pasifmiş
dolayısı ile çıkış alamıyorum
Sorunun çözümü Option registerdeki 7 nolu bitin sıfırlanması ile çözülecek
yardımlarınız için teşekkürler benim için iyi bir alıştırma oldu