Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

PIC başlangıç

Başlatan ferit06, 28 Şubat 2013, 13:05:27

ferit06

pıc12f675, pıc12f683 kullanıyorum.


CMCON= 7
GPIO=0

TRISIO=%00001000

şeklinde kullanım ile

CMCON= 7
TRISIO=%00001000
GPIO=0
şeklinde kullanım arasında çok önemli bir fark var

şöyleki;
http://img477.yukle.tc/images/406312f675_baslangic.JPG

[/URL][/img]

başlangıçta
GPIO=%11100001 şeklinde gelmekte TRIS yazmacını aktif ettiğimiz andan itibaren GPIO çıkışı başlangıç değerini işlemekte.


diğer PIC ler için de durum böyle  çıkış portlarının başlangıç değerleri sıfırdan farklı....


Maxim

birşey anlaşılmıyor

ferit06

#2
Başlagıçta;

1-CMCON= 7
2-TRISIO=%00001000
3- GPIO=0
yazarsanız,

GPIO=%11100001 olarak çalışmaya başlıyor ve 3. satırdan itibaren PIC çıkışında GPIO.0=1 oluyor. Eğer bu çıkış ile işlem yapıyor ve siz daha bazı şeyleri tamamlamadan GPIO.0=1 ile bir şeyi tetikleyecek olursanız sizin programınız devreye girmeden istemediniğiz sonuçlar ile karşılaşabilirsiniz.

bunun için önce GPIO=0 ( veya sizin devrenizin çalışma başlangıcına uygun bir değer) ataması sonra TRIS yazmacının tanımlanmasını öneriyorum....

Bunun aksine tanımlama ile başlayan ( Önce TRIS, sonra port değeri olan)tutorialler var dikkat ...

diğer pIC ler içinde incelemek gerekir...
PIC16F628 de;

PORTA=%01110000
PORTB=%00011010

PIC16F1827 de;
PORTA=%10101110
PORTB=%01100101


Maxim

config satırından sonra GPIO=%00000000 yazın bakalım birde

ferit06

#4
benim de önerdiğim o şekilde ,
configden sonra ama mutlaka TRIS den önce ( TRIS=%11111111 yani giriş olarak tanımlı) GPIO veya PORT ların tanımlanması.

Ekleme:

Pratikte 5 ayrı PIC ile yapılan testte;

TRISIO dan sonra konulan uzun süreli gecikme, ve GPIO dan sonra konulan uzun süreli gecikmeler ile her PIC te  GPIO ayarlanmadan önce ayrı ayrı çıkışların "1" olduğu gözlendi. Proteusta kafasına göre bir değer alıyor demekki....