Ana sayfa | Hakkımda | İletişim | Sosyal platform
PIC CCS C & ASM / Uygulamalar
2-8 sayacı
 Bu uygulama yeni başlayanlar için komutların kullanımlarını ve mantığını aktarmak için başlangıç uygulamalarından  biridir. Sürekli 2 ile 8 arasında saymaktadır.

Daha fazlası için bizi takip edin.

Uygulamayı buraya tıklayarak indirebilirsiniz. Arşiv şifresi isterse elektrocavus.com giriniz.  

  

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <16f877.h>
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, NOLVP, NOPUT, NOWRT, NODEBUG, NOCPD
#use delay(clock=4000000)
//şimdi 8 bitlik "i" değişkeni atayalım.

unsigned int8 i = 0;

//DISPLAYDA GÖSTERİLECEK DEĞERLERİ CASE DÖNGÜSÜ İLE TANITTIK
//Aslında bunu yapmadanda olur fakar bu şekilde yaptığımız işimizi
//kolaylaştırıyoruz

int display_deger (char d)
  {

    switch(d)
      {
        case 0:return(0b00000010);break;   // 2  //i=0 değerini göster diğerleri pasif
        case 1:return(0b00000011);break;   // 3  //i=1       "          "          "     
        case 2:return(0b00000100);break;   // 4  //i=2        "          "          "    
        case 3:return(0b00000101);break;   // 5  //i=3        "          "          "  
        case 4:return(0b00000110);break;   // 6  //i=4        "          "          "   
        case 5:return(0b00000111);break;   // 7  //i=5        "          "          "    
        case 6:return(0b00001000);break;   // 8  //i=6        "          "          "     
      }
  }


///___ i ___ değerini 1 arttırmak için gerekli alt program____///

Void buton()
{
  if(input(pin_a0))
  while(input(pin_a0));
  i++;
}

///___ display de değer göstermek için gereken alt program___//

void deger_goster()
 {
  output_b(display_deger(i));
  buton();
 }

///___ANA PORGRAM__///

void main ()
{
      setup_psp(PSP_DISABLED);
      setup_timer_1(T1_DISABLED);
      setup_timer_2(T2_DISABLED,0,1);
      setup_adc_ports(NO_ANALOGS);
      setup_adc(ADC_OFF);
      setup_CCP1(CCP_OFF);
      setup_CCP2(CCP_OFF);

set_tris_a(0x01);      //Ra0 pini giriş yapıldı

For(;;)                    //Sonsuz döngü   

 {
   if(input(pin_a0))           //Eğer Ra0 a bağlı butona basılırsa
    {
     deger_goster();            // değer_goster alt programını işler
    }

// işlemin sürekli tekrar edilmesi için gereken komutlar   __////

        if(i==7) {    i-=7;  }
// işlem tekrar döngü sonu

      }         //sonsuz döngü sonu
   }         //Ana program sonu



    // Alt programları kullanmazsak
    ///////////////////////////////////////
    //   For(;;)
    //     {
    //     if(input(pin_a0))
    //       {
    //         output_b(display_deger(i));
    //         if(input(pin_a0))
    //           while(input(pin_a0));
    //            i++;
    //         }
    //       }
    ////////////////////////////////////////
    //
    // yukarıdaki gibi olurdu.
    //
ELEKTRO ÇAVUŞ
Ana sayfa | Hakkımda | İletişim | Sosyal platform
ELEKTRO ÇAVUŞ2012 | elektrocavus.com