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 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 // http://elektrikelektronikegitimi.blogspot.com
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 }
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