display sorunu

Başlatan secretagent, 24 Ağustos 2011, 16:34:16

secretagent

arkadaşlar yazdığım kodları proteus da denediğimde sayıcı gayet güzel sayıyor ama devreyi kurduğumda daha butona basmadan displayde farklı farklı şeyler çıkıyor :S anlamadım gitti sorunun ne olduğunu...
acaba configrasyon ayarlarındamı sorun var osilatörde falan....(mesela ilk başta sıfır yazıo ama sıfırın bazı çizgileri eksik çıkıyor :S)


#include "C:\Documents and Settings\Administrator\Desktop\deneme\sayici.h"







const int digit[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x6f};
char birler=0,onlar=0,sayi=0;
#use fast_io(a)
#use fast_io(b)
void main()
{


   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
#use delay(clock=4000000)


set_tris_a(0x04);
set_tris_b(0x00);


output_low(pin_a0);
output_low(pin_a1);


while(1)
{
birler=sayi;
onlar=sayi/10;


output_high(pin_a0);
output_b(digit[birler]);
delay_ms(5);
output_low(pin_a0);


output_high(pin_a1);
output_b(digit[onlar]);
delay_ms(5);
output_low(pin_a1);


if(input(pin_a2))
{
delay_ms(10);
sayi++;
if(sayi==100)
sayi=0;
while(input(pin_A2));
}
}

JKramer

Ölçü aletiyle display'in bacaklarını (ve mikrodenetleyici bağlantılarını) kontrol edin. Simulasyondaki display'le gerçek display farklı olabilir.

secretagent

hayır farklı değil aynı ben osilatörle alakali bir sorun olacağını düşünüyorum 4mhz osilat kullanıyorum 22pf lık kondansatörler kullanıyoprum bu seçim doğrumu ?

JKramer

sayici.h dosyasını koymadığınız için hangi mikrodenetleyiciyi kullanıdığınızı bilmiyorum. İlgili katalogda kullanılan kristale karşılık kondansatör değerleri yazar.

Bir de #use ... gibi direktifleri yukarı yazın.

secretagent

16f877 i kullanıyorum sorunumu tekrar söylüyecek olursam rakamlar tAM ÇIKMIYOR :)

JKramer

sayici.h dosyasını koyun, sigorta ayarlarınız nasıl bilmiyoruz.

Programda değişiklik yapıp ekrana sabit bir rakam yazdırın, buna rağmen sürekli değişiyor mu yoksa sabit mi? Beklediğiniz görüntü (hangi segmentler) ne çıkan görüntü ne?

jackal183

devre şeması nerde?
display bağlantınızı nasıl yaptınız?
7 segment mi, tek digit mi daha fazla mı?
her bir segmenti denetleyici ile mi kontrol ediyorsunuz? şayet öyleyse yanmayan segmentlere giden bacakları kontrol edin, bir de jkramer'in dediği gibi sabit bir sayı gönderin

secretagent

sorun baglantının birini yanlış yapmışım ondamış şimdi düzeldi:bu seferde rakamlar pır pır yapıyor.transistörlerin iletime kesime girme süreleri ile oynuyorum ama yinede pır pır yapıyor 4Mhz kristal kullanıyorum.Yardımcı olurmusunuz...