Forumda yapılan arama sonucu, bulunan 1 adet konudan, sayfa olarak 1 ile 1 arasındakiler gösterilmiştir

Konu: PIC16F84A Mikrodenetleyici ile Ortak Anotlu 7 Segment Display Sayıcı Uygulama Devresi

  1. #1

    PIC16F84A Mikrodenetleyici ile Ortak Anotlu 7 Segment Display Sayıcı Uygulama Devresi

    PIC16F84A Mikrodenetleyici ile Ortak Anotlu 7 Segment Display Sayıcı Uygulama Devresi ve Program Kodu



    Yukarıdaki devrede PIC16F84A Mikrodenetleyici ile yapılmış 4 haneli 7 Segment Display Sayıcı Uygulama Devresi görülmektedir.

    Devrede ortak anotlu 7 segment display kullanılmıştır.

    Rb7'ye bağlı olan butona basıldığında görüntülenen sayı değeri 1 artar.

    PIC16F84A Mikrodenetleyici devresi +5V gerilim ile çalışmaktadır.

    4 basamaklı 7 Segment Display Sayıcı PIC16F84A Mikrodenetleyici CCS C kodu

    1 // 4-Digit digital counter using PIC16F84A (common anode type)
    2 // İçeriğe ulaşabilmek veya forumu aktif kullanabilmek için öncelikle GİRİŞ yapmalısınız, Üye değilseniz KAYIT olmalısınız
    veya aradığınız konu hakkında ElektroBLOG sayfalarımızdan arama yapabilirsiniz
    3
    4 #include <16F84A.h>
    5 #fuses HS,NOWDT,PUT,NOPROTECT
    6 #use delay(crystal=8000000)
    7
    8 short s; // Used to know button position
    9 unsigned int digit, digit1, digit10, digit100,digit1000;
    10 unsigned long i;
    11 unsigned int seg(unsigned int num) {
    12 switch (num) {
    13 case 0 : return 0xC0;
    14 case 1 : return 0xF9;
    15 case 2 : return 0xA4;
    16 case 3 : return 0xB0;
    17 case 4 : return 0x99;
    18 case 5 : return 0x92;
    19 case 6 : return 0x82;
    20 case 7 : return 0xF8;
    21 case 8 : return 0x80;
    22 case 9 : return 0x90;
    23 }
    24 }
    25 void main() {
    26 while(TRUE) {
    27 if(input(PIN_B7) == 1)
    28 s = 1;
    29 if(s == 1) {
    30 if(input(PIN_B7) == 0) {
    31 s = 0;
    32 i++;
    33 if(i > 9999)
    34 i = 0;
    35 }
    36 }
    37 digit = i % 10;
    38 digit1 = seg(digit);
    39 output_a(0x0F); // Turn off all displays
    40 output_b(digit1); // Send ones digit
    41 output_a(0x07); // Turn on display for ones
    42 delay_ms(5);
    43 digit = (i / 10) % 10;
    44 digit10 = seg(digit);
    45 output_a(0x0F); // Turn off all displays
    46 output_b(digit10); // Send tens digit
    47 output_a(0x0B); // Turn on display for tens
    48 delay_ms(5);
    49 digit = (i / 100) % 10;
    50 digit100 = seg(digit);
    51 output_a(0x0F); // Turn off all displays
    52 output_b(digit100); // Send hundreds digit
    53 output_a(0x0D); //
    Turn on display for hundreds
    54 delay_ms(5);
    55 digit = (i / 1000) % 10;
    56 digit1000 = seg(digit);
    57 output_a(0x0F); // Turn off all displays
    58 output_b(digit1000); // Send thousands digit
    59 output_a(0x0E); // Turn on display for thousands
    60 delay_ms(5);
    61 }
    62 }
    Konu adı: PIC16F84A Mikrodenetleyici ile Ortak Anotlu 7 Segment Display Sayıcı Uygulama Devresi
    Yazan: zorbey
    Konu zorbey tarafından (07.Eylül.2023 Saat 21:09 ) değiştirilmiştir.

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •