CCS C ile sayıcı devresi

CCS C ile sayıcı devresi artırma ve azaltma yapılıyor.

hex kodunu buradan indirebilirsiniz.

sayıcı videosunu buradan izleye bilirsiniz

Facebooktwittergoogle_plusredditpinterestlinkedinmail

You may also like

7 yorum

  1. selam çok güzel olmuş elinize emeğinize sağlık
    bu devrenin açık kaynak kodunu paylaşmanız mümkünmüdür

    1. #include <16f628a.h>
      #define LCD_ENABLE_PIN PIN_B0
      #define LCD_RS_PIN PIN_B1
      #define LCD_RW_PIN PIN_B2
      #define LCD_DATA4 PIN_B4
      #define LCD_DATA5 PIN_B5
      #define LCD_DATA6 PIN_B6
      #define LCD_DATA7 PIN_B7

      #include

      int16 sayi=0;

      void main()
      {
      set_tris_a(0xff);
      set_tris_b(0x00);

      output_a(0x00);
      output_b(0x00);
      lcd_init();

      while(TRUE)
      {
      if (input(pin_a0))
      {
      delay_ms(20);
      sayi++;
      while (input(pin_a0));
      }

      if (input(pin_a1))
      {
      delay_ms(20);
      sayi–-;
      while (input(pin_a1));
      }

      printf(lcd_putc,”\fsayici %lu\n”,sayi);
      delay_ms(200);

      }

      }

  2. Selamlar sicaklik kontrol devreme sayici devrenizden ornekle ekledim ancak butona bastigimda gec tepki veriyor atiyorum 3-5 sn sonra ileri sayiyor; oneriniz var mi? devre ornegini paylasiyorum.
    //LCD module connections
    #define LCD_RS_PIN PIN_B1
    #define LCD_RW_PIN PIN_B2
    #define LCD_ENABLE_PIN PIN_B0
    #define LCD_DATA4 PIN_B4
    #define LCD_DATA5 PIN_B5
    #define LCD_DATA6 PIN_B6
    #define LCD_DATA7 PIN_B7
    //End LCD module connections

    #define LED1 PIN_A0
    #define LED2 PIN_A1
    #define ASAGI PIN_E0
    #define YUKARI PIN_E2

    #include
    #fuses HS,NOWDT,NOPROTECT,NOLVP
    #use delay(clock = 4M)
    #include
    #define DHT11 PIN_C3 // Connection pin between DHT11 and mcu
    #include “dht11.c”

    int sicaklik,nem,eskinem,eskisicaklik; //kullanilan degiskenleri tanimladik float olarak tanimlasaydik 10dalik olarak deger alirdik int bize kusurat vermiyor

    int16 sayi=0;

    void main()
    {
    lcd_init();
    lcd_putc(“\f”);
    delay_ms(400);

    while(TRUE) // while(1) olarak da tanimlayabilirdik

    {

    read_DHT(); // DHT11 in okunmasi icin gereken fonksiyon
    delay_ms(50);

    sicaklik = dht_dat[2]; // dht_dat[2] degiskeni bize sicaklik bilgisini verir bu bilgiyi sicaklik olarak tanimladigimiz degiskene atiyoruz
    nem = dht_dat[0]; // dht_dat[0] degiskeni bize nem bilgisini verir bu bilgiyi nem olarak tanimladigimiz degiskene atiyoruz

    if (eskisicaklik!=sicaklik) // ekranin sadece sicaklik degistiginde yenilenmesi icin 2. degisken ile karsilastiril”masi. eger degisim var ise ekranin yenilenmesi
    {
    lcd_gotoxy(1,1);
    printf(lcd_putc,”Sicaklik : %i C “,sicaklik); // ekrana sicaklik degiskeninin yazdirilmasi float kullansaydik “sicaklik: %3.1f derece”
    eskisicaklik=sicaklik; //ekranin sadece sicaklik degistiginde yenilenmesi icin 2. bir degisken atiyoruz
    }
    if (eskinem!=nem) // ekranin sadece nem degistiginde yenilenmesi icin 2.degisken ile karsilastirilmasi. eger degisim var ise yenilenmesi
    {
    lcd_gotoxy(1,2);
    printf(lcd_putc, “Nem : %% %i”, nem); //ekrana nem degiskeninin yazdirilmasi
    eskinem=nem; // ekranin sadece nem degistiginde yenilenmesi icin 2.bir degisken atiyoruz
    }
    if (input(YUKARI))
    {
    sayi=sayi+1;
    while (input(YUKARI));
    output_high (LED1);
    output_low (LED2);
    }
    if (input(ASAGI))
    {
    sayi=sayi-1;
    while (input(ASAGI));
    output_high (LED2);
    output_LOW (LED1);
    }
    lcd_gotoxy(1,3);
    printf(lcd_putc,”SICAKLIK SET: %ld\n”,sayi);
    }

    1. Aleykumselam siz denemissinizdir ama yinede soyleyim. Sureleri kısaltarak veya 4m olan yeri 20m yapabilirsiniz. Takilirsaniz tekrar sorunuz.

      1. hocam devre bu haliyle proteusta saymiyor.. yardimci olabilir misin?
        #define LCD_ENABLE_PIN PIN_B0
        #define LCD_RS_PIN PIN_B1
        #define LCD_RW_PIN PIN_B2
        #define LCD_DATA4 PIN_B4
        #define LCD_DATA5 PIN_B5
        #define LCD_DATA6 PIN_B6
        #define LCD_DATA7 PIN_B7

        #include
        #fuses XT,NOWDT,NOBROWNOUT,NOLVP
        #use delay(clock = 20M)
        #include

        int16 sayi=0;

        void main()
        {
        set_tris_a(0xff);

        output_a(0x00);
        lcd_init();

        while(TRUE)
        {
        if (input(pin_a0))
        {
        delay_ms(20);
        sayi++;
        while (input(pin_a0));
        }

        if (input(pin_a1))
        {
        delay_ms(20);
        sayi–;
        while (input(pin_a1));
        }

        printf(lcd_putc,”\fsayici %lu\n”,sayi);
        delay_ms(200);

        }

        }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir