7 segment displayda 0-99 arası sayaç yapımı sayılar butona bastıkça artıp azalacak

Katılım
19 Haz 2019
Mesajlar
9
Puanları
1
Yaş
23
Herkese sağlıklı mutlu günler. Ccs c compiler de yeniyim. Seven segment ortak katotta pic16f877 yardımıyla 0-99 arası ileri geri sayaç yapmam lazım. Sayılar ra0 pinine bağlı pull down resistör ile 0-99 arası ra1 pinine bağlı pull up resistör ile 99-0 arası saymasını istiyorum. Butona basınca bir bir azalmasını yada bir bir artmasını istiyorum. Seven segment ortak katot un bağlı olduğu portlar c portudur. Bana yardımcı olabilir misiniz? Şimdiden teşekkür ederim.
 
Son düzenleme:
Display için çıkış belirtmemişin fakat ben b portunu tercih ettim.Çıkış alacağın döngü "void segment_display" döngüsü fakat oraya herhangi bir algoritma aklıma gelmedi.Bit bit işlem yaparım fakat gereksiz ve uzun bir kod olur ona bulmaya çalışıyorum.Ayrıca Sigorta ayarlarını yapmadım ve buton girişlerinin hepsi "Pull Up" bağlantısına göre tanımladım.Çıkışları kendin ufak ufak dene istersen metin belgesinden yazdım ufak tefek yanlışlıklar olmuş olabilir yardımcı olabildiysem ne mutlu bana Bkz: segment döngüsünü doldurursam eklerim.

Kod:
#include <stdio.h>
#use delay(clock=4M)
int i=0;
void artir_sayi(){
    if(input(pin_a0)==1){

        i=i+1;if(i>99{i=0;output_b(0b11111010);}}
}

void azalt_sayi(){
    if(input(pin_a1){
        i=i-1;
        if(i<0){i=0;output_b(0b11111010);}}
  
}

void segment_display(){
        
}

void main(){
set_tris_a(0xFF);
set_tris_b(0x00);
output_b(0x00);

        while(TRUE){if(input(pin_a0)==1 || input(pin_a0)==1)
            delay_ms(50);
            if(input(pin_a0)==1){artir_sayi();}
            if(input(pin_a1)==1){azalt_sayi();} 
                              segment_display();} }
 
Hocam dediklerinizi yaptım denedim ama bi sonuca varamadım yinede çok teşekkür ederim.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…