16f877 sağlıklı çalışmıyor....

BU pcb de kullandığım LCD tipi biraz faklı elimdeki LCD ye göre bağlantı ayarlarını yaptım !! önümüzdeki hafta uygulamayı gerçekleştireceğim daha önce 628 ile ilgili bir uygulama yaptım çalışmıştı gelişmelerden haberdar ederim !!
 
Elimde 3 adet 877 var. sadece 877 nin çalışması için bir devre yaptım. 4 Mhz Kristal 13-14 uçlarına, 22pF kondansator ile birlikte,
+ ile - arasına 100 nF, MCLR ucu 10K ile + ya çekildi. Devreyi 3 adet kalem pil ile besliyorum. 4,1 V ölçüyorum. Tüm portlar çıkış, ve hepsi High olarak portları ayarlıyorum. Program içerisinden toggle ile 500 ms de bir tüm portların durumunu değiştiriyorum. Yani tüm portlarda yarım saniyede bir ledi yakıp söndürecek.
Ancak;
Çalıştırdığımda tüm portların durumuru çıkış va high olarak görüyorum. Fakat lowa geçmiyorlar. Bu durmda 877 lerin bozuk olduğunu söyleyebilir miyiz.?

Ayrıca Portların ilk set değerlerini low yaptığımda da low olarak kalıyorlar.
3 adet 877 de böyle davranıyor. Sebebi konusunda yardımlarınızı bekliyorum.
 
Önceki mesajımda hatalarınızı belirtmiştim, aslında neredeyse tamamı hatalıydı.

Şimdi tekrar ele alırsak;
  • Tris registerlerine yazarak portları giriş-çıkış olarak yönlendirdiniz mi? geçen sefer bunu yapmamıştınız.
  • Hex dosyasını pic'e yüklerken programlayıcınızın konfigürasyon ayarları ne durumda? Hiç kontrol ettiniz mi?
 
Önceki mesajımda hatalarınızı belirtmiştim, aslında neredeyse tamamı hatalıydı.

Şimdi tekrar ele alırsak;
  • Tris registerlerine yazarak portları giriş-çıkış olarak yönlendirdiniz mi? geçen sefer bunu yapmamıştınız.
  • Hex dosyasını pic'e yüklerken programlayıcınızın konfigürasyon ayarları ne durumda? Hiç kontrol ettiniz mi?

:) Tris ile tüm portları çıkış olarak ayarladım.
PIC e yükleme yaparken osilatör olarak xt yi diger bütün seçenekleri off konumuna getirdim. Eğer çok vaktinizi almayacak ise portların tamamını yakıp söndüren hex dosyası yapabilir misiniz?

Benim yazdığım kod aşağıda.

Device 16F877A
@ CONFIG_REQ
@ __config CP_OFF & CPD_OFF & WDT_OFF & XT_OSC & PWRTE_OFF & BODEN_OFF & WRT_1FOURTH & LVP_OFF & DEBUG_OFF
Xtal = 4

'PortB_Pullups=FALSE 'portb deki pull up kapali
All_Digital = TRUE ' Set PORTA and PORTE to all digital

Output PORTA
Output PORTB
Output PORTC
Output PORTD
Output PORTE

High PORTA
High PORTB
High PORTC
High PORTD
High PORTE

basla:
Toggle PORTA.0
Toggle PORTA.1
Toggle PORTA.2
Toggle PORTA.3
Toggle PORTA.4
Toggle PORTA.5

Toggle PORTB.0
Toggle PORTB.1
Toggle PORTB.2
Toggle PORTB.3
Toggle PORTB.4
Toggle PORTB.5
Toggle PORTB.6
Toggle PORTB.7

Toggle PORTC.0
Toggle PORTC.1
Toggle PORTC.2
Toggle PORTC.3
Toggle PORTC.4
Toggle PORTC.5
Toggle PORTC.6
Toggle PORTC.7

Toggle PORTD.0
Toggle PORTD.1
Toggle PORTD.2
Toggle PORTD.3
Toggle PORTD.4
Toggle PORTD.5
Toggle PORTD.6
Toggle PORTD.7

Toggle PORTE.0
Toggle PORTE.1
Toggle PORTE.2

DelayUS 500
GoTo basla
 
Eğer pic tarafında bi problem kalmazsa ve sadece lcd konusunda sorunun olursa bana danışabilirsin. Daha önce çok LCD konusunda sorun yaşadım artık anlıyorum bu işlerden
 
Artık 877'im sağlıklı çalışıyor.
Baba23 nikli arkadaşın yardımları ile sorunu çözdük.
1. si beslemem yetersiz geliyormuş, Ben nokia şarj cihazının adaptörünü sonrada 3tane kalem pili kullanmıştım.
2. si de programa başlarken 877 ye ait bazı ayarları kapatmam gerekiyormuş.
T1CON = %00000000
TMR1L = %00000000
TMR1H = %00000000
PIE1 = %00000000
PIE2 = %00000000
CCP1CON = %00000000
CCP2CON = %00000000

bu ayarları kodun başına yerleştirdim ve sorun çözüldü. TEŞEKKÜRLER arkadaşlar.
Ayrıca Baba23'e de çok teşekkür ederim....
 
kardeş yazdığın programı pıc cihazına aktarırken konfigürasyon ayarlarını doğru yapman gerekiyor. Bence bunu bir kontrol et istersen
 

Forum istatistikleri

Konular
128,316
Mesajlar
916,652
Kullanıcılar
450,150
Son üye
Sqnax

Yeni konular

Geri
Üst