Elektrik elektronik eğitimi ile ilgili bilgiler, kitap özetleri, kitap sınav soruları ve eğitime dair her şey
30 Ağustos 2019 Cuma
PIC16F84A Mikrodenetleyici ile Ortak Katotlu 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 katotlu 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 cathode type)
2 // Common cathode 7-segment display
3 // http://elektrikelektronikegitimi.blogspot.com
4
5 #include <16F84A.h>
6 #fuses HS,NOWDT,PUT,NOPROTECT
7 #use delay(crystal=8000000)
8
9 short s; // Used to know button position
10 unsigned int digit, digit1, digit10, digit100,digit1000;
11 unsigned long i;
12 unsigned int seg(unsigned int num) {
13 switch (num) {
14 case 0 : return 0x3F;
15 case 1 : return 0x06;
16 case 2 : return 0x5B;
17 case 3 : return 0x4F;
18 case 4 : return 0x66;
19 case 5 : return 0x6D;
20 case 6 : return 0x7D;
21 case 7 : return 0x07;
22 case 8 : return 0x7F;
23 case 9 : return 0x6F;
24 }
25 }
26 void main() {
27 while(TRUE) {
28 if(input(PIN_B7) == 1)
29 s = 1;
30 if(s == 1) {
31 if(input(PIN_B7) == 0) {
32 s = 0;
33 i++;
34 if(i > 9999)
35 i = 0;
36 }
37 }
38 digit = i % 10;
39 digit1 = seg(digit);
40 output_a(0); // Turn off all displays
41 output_b(digit1); // Send ones digit
42 output_a(8); // Turn on display for ones
43 delay_ms(5);
44 digit = (i / 10) % 10;
45 digit10 = seg(digit);
46 output_a(0); // Turn off all displays
47 output_b(digit10); // Send tens digit
48 output_a(4); // Turn on display for tens
49 delay_ms(5);
50 digit = (i / 100) % 10;
51 digit100 = seg(digit);
52 output_a(0); // Turn off all displays
53 output_b(digit100); // Send hundreds digit
54 output_a(2); // Turn on display for hundreds
55 delay_ms(5);
56 digit = (i / 1000) % 10;
57 digit1000 = seg(digit);
58 output_a(0); // Turn off all displays
59 output_b(digit1000); // Send thousands digit
60 output_a(1); // Turn on display for thousands
61 delay_ms(5);
62 }
63 }
Kaydol:
Kayıt Yorumları (Atom)
Cervantes, Kılıç Ali Paşa ve Mimar Sinan Aynı Camide Nasıl Buluşur?
Cervantes, Kılıç Ali Paşa ve Mimar Sinan Aynı Camide Nasıl Buluşur? 1500'lü yıllarda İtalyan bir aile henüz 11 yaşındaki oğullarını papa...
-
Kitabın Adı : Yazıyı Bulan Çocuk Kitabın Yazarı: Sinan Yaşar Kitap Hakkında Bilgi: "Ben Beyaz Bulut! Hiç alçak gönüllülük etmeyeceğim; ...
-
Kitabın Adı: Zerdali - Dedemle Bir Yıl Kitabın Yazarı: Yaşar Bayraktar Zerdali - Dedemle Bir Yıl Kitap Sınavı Soruları 1-) Yazarın dedes...

Hiç yorum yok:
Yorum Gönder