Ana Sayfa PIC Assembly - PIC C PIC 16F877A İle LED Küp Uygulaması

PIC 16F877A İle LED Küp Uygulaması

6 min read
20
0
10,188

Merhaba arkadaşlar,bu yazımızla led küp yapımı hakkında bilgiler vereceğiz..

DEVRE ŞEMASI

DEVRE ŞEMASI

YAPIMI

Arkadaşlar bu çalışmada önemli olan nokta ledlerin düzgün şekilde şekillendirilmesidir.Devre şemasında da görüldüğü üzere ledlerin katot uçları birbirleriyle kısa devre yapılacaktır.Devreyi 4 düzlem olarak düşünürsek 4 adet katot ucu çıkartılacaktır.Bu katot uçları PNP transistörün emiterine girilicektir .  16F877 nin PORTC çıkışlarını Lojik 0 yaptığımız zaman iletime geçme mantığıyla çalışmaktadır.Yani Emiter ve Kollektör kısa devre olacaktır.Ledlerin anot uçları ise 4 düzlem üst üste yerleştirildiğinde ayn hizaya gelen anot uçları kısa devre edilecektir.Bu şekilde 16 adet uç çıkacaktır. Bu uçları PORTB VE PORTD ye bağlayınız.

Düzlemler ve Ledlerin son hali

Düzlem ve ledler

ALTTAN GÖRÜNÜŞÜ

Alttan görünüş

C Programı aşağıda gösterilmektedir….

#include <pic.h>
#include <stdlib.h>

// Konfigurasyon ayarlari (4MHz rezonator)
__CONFIG(XT&WDTDIS&PWRTEN&LVPDIS);

//============================================================
void bekle(int b)
{for(int i=0;i<b;i++)
for(int j=0;j<100;j++);
}
// ANA PROGRAM
//============================================================
main (void)
{

unsigned const char secme[4]={0xFE,0xFD,0xFB,0xF7};
unsigned const char yaziB[9]={0XF3,0XF9,0XFB,0XF9,0X1F,0XF8,0XF3,0XF6,0XF5};
unsigned const char yaziD[9]={0XD0,0XF0,0XF0,0XF0,0X10,0XF0,0XD0,0X90,0XF0};
unsigned const char led[4]={0xF1,0XF2,0XF4,0XF8};
unsigned const char led1[4]={0xFE,0xFD,0xFB,0xF7};
unsigned char a,i,c,k,t,x,y,m;

//--------------------------------------------------------
// Port konfigurasyonu
//--------------------------------------------------------
TRISB=0x00; // Hepsi cikis (8 adet LED icin)
TRISD=0x00; // Hepsi cikis (8 adet LED icin)
TRISC=0x00; // Hepsi cikis (4 adet transistoru secmek icin)
//--------------------------------------------------------

//--------------------------------------------------------
// Baslangic durumu ayarlari
//--------------------------------------------------------
PORTC=0xFF; // hicbir transistor secili degil
PORTB=0x00; // Data lojik 0
PORTD=0x00; // LED'ler sonuk
//--------------------------------------------------------
//-------------------------------------

for(a=0;a<4;a++){

PORTC=secme[a]; // duzlemi sec

for(i=0;i<8;i++){ // RD0'dan RD7'ye
PORTD=1<<i;
bekle(50);
}

PORTD=0;

for(i=0;i<8;i++){ // RB0'dan RB7'ye
PORTB=1<<i;
bekle(50);
}

PORTB=0;
}
// (2) 64 adet LED'i S seklinde yakmak icin
//-------------------------------------
c=40;
for(a=0;a<4;a++){

PORTC=secme[a]; // duzlemi sec

for(i=0;i<4;i++){ // RD0'dan RD3'e
PORTD=0x01<<i;
bekle(c);
}
for(i=0;i<4;i++){ // RD7'dan RD4'e
PORTD=0x80>>i;
bekle(c);
}

PORTD=0;

for(i=0;i<4;i++){ // RB0'dan RB3'e
PORTB=0x01<<i;
bekle(c);
}
for(i=0;i<4;i++){ // RB7'dan RB4'e
PORTB=0x80>>i;
bekle(c);
}

PORTB=0;
}
//-------------------------------------
//YAZIIII : R O B O T U R K A
for(k=0;k<9;k++){
for(a=0;a<4;a++){

PORTC=secme[a]; // duzlemleri sirayla sec
PORTD=yaziD[k];
PORTB=yaziB[k];
bekle(200);
}
}
// (5) yukari-asagi led düzlemleri
//-------------------------------------

for(k=0;k<5;k++){
for(a=0;a<4;a++){

PORTC=led[a]; // duzlemleri sirayla sec
PORTD=0xFF;
PORTB=0xFF;
bekle(100);
}
// sonra asagi dogru
for(a=4;a>0;a--){

PORTC=led[a-1]; // duzlemleri sirayla sec
PORTD=0xFF;
PORTB=0xFF;
bekle(100);
}

}
}

KODUN HEX DOSYASINA BURADAN ULAŞABİLİRSİNİZ…

DEVRENİN VİDEOSUNA BURADAN ULAŞABİLİRSİNİZ..

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Burak Ablay
Daha Fazla Göster -  PIC Assembly - PIC C

20 Yorumlar

  1. Gökay

    11 Şubat 2015 at 16:56

    çok yardımcı oldu tesekkürler..

    Reply

  2. comeng

    21 Aralık 2015 at 12:03

    resimlerdeki devreyle videodaki devre aynı değil,

    Reply

  3. Burak Ablay

    Burak Ablay

    22 Aralık 2015 at 11:18

    Devre şeması güncellenmiştir. Devre şeması ile videodaki uygulama birebir aynıdır.

    Reply

  4. FIRAT

    28 Nisan 2016 at 16:12

    Arkadaşlar bunu PIC BASİC dilinde yazarmısınız.Lütfen

    Reply

  5. FIRAT

    4 Mayıs 2016 at 13:03

    arkdaşlar yardımcı olurmusunuz

    Reply

    • Bilal Kaya

      4 Mayıs 2016 at 17:51

      Malesef PIC BASİC ile yapılmış bir örnek elimizde mevcut değil.

      Reply

      • FIRAT

        5 Mayıs 2016 at 12:00

        Peki yapma imkanınız varmı.Ben yeni başladım pıc basıc diline.Yaparsanız sevinirim.

        Reply

        • Bilal Kaya

          6 Mayıs 2016 at 05:34

          Daha önce basic dilind çalışmadığım için malesef

          Reply

          • FIRAT

            6 Mayıs 2016 at 12:13

            Peki sizden bir şey istesem daha çok animasyon ekleyebilirmisiniz birde isim yazma şansımız varmı.birde .HEX dosyası şeklinde atarsanız sevinirim.

          • Burak Ablay

            Burak Ablay

            6 Mayıs 2016 at 14:50

            Fırat bey,
            Öncelikle bu yazı pic ile ilgilenen ve görsel olarak güzel çalışmaların önünü açması için yazılmıştır. Burada amaç insanları şevklendirmek ve öğretmektir. Buradaki amaç sipariş amaçlı yazı yazmak değildir. Çalışmayı beğendiğinizi varsayıyorum. O yüzden en yakın zamanda çalışmanın hex dosyasını paylaşacağım.
            İyi günler, iyi çalışmalar dilerim..

  6. Meltem Tekeli

    14 Mayıs 2016 at 14:31

    Uygulamasından kodlamasına kadar her konuda bu siteden yararlandık ve çok güzel bir sonuç elde ettik. Teşekkürler bu ‘şevklendirici ve öğretici’ yazı için 🙂

    Reply

    • Burak Ablay

      Burak Ablay

      14 Mayıs 2016 at 15:00

      Yardımcı olabildiysek ne mutlu bize..
      Roboturka’ yı tercih ettiğiniz için biz teşekkür ederiz..
      Takipte kalın..

      Reply

  7. Ercan

    28 Mayıs 2016 at 11:04

    Bord uzerine kurdum fakat enerji vermeme rağmen çalışmadı ne yapmalıyım teşekkürler

    Reply

    • Bilal Kaya

      28 Mayıs 2016 at 19:41

      Bağlantıları tekrar kontrol etmenizi rica ediyoruz.Ayrıca programı doğru attığınızdan emin olmanızı da.

      Reply

  8. enes

    4 Şubat 2017 at 21:04

    kolay gelsin regulatör devresini nasıl bbağladınz

    Reply

  9. Burak Ablay

    Burak Ablay

    21 Şubat 2017 at 23:29

    Devrede ki regülatör devresinden kastınız nedir anlayamadım ? Herhangi bi regülatör işlemine gerek duyulmamıştır. Devredeki +5v voltaj değeri direkt olarak güç kaynağından alınmıştır. Herhangi bir regüle işlemine tabi tutulmamıştır.

    Reply

  10. VEDAT KILINC

    12 Mayıs 2017 at 00:27

    bicim bu kod hANGİ PROGRAMLA YAZILIYOR MİCRO C VE CCS DE HATA VERİYOR BUNU NASIL DÜZÜNLERİZ KENDİMİZ BUNU OKUYAN PROGRAM HANGİSİ

    Reply

    • Burak Ablay

      Burak Ablay

      13 Mayıs 2017 at 11:26

      Bu program MPLAB IDE V8.91 programıyla yazılmıştır. Bu programdan müdahale edebilirsiniz. İyi günler iyi çalışmalar ..

      Reply

  11. FIRAT

    20 Mayıs 2017 at 17:45

    İYİ GÜNLER DİLERİM.BU DEVRENİN MPLAB IDE PROGRAMINI YAZISINI ATRMISINIZ

    Reply

    • FIRAT

      26 Mayıs 2017 at 14:21

      ŞUNU DEMEK İSTİYORUM MPLAB IDE DOSYASINI İSTİYORUM BU DEVRENİN

      Reply

Bir cevap yazın

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

Bak Bakalım ?

Modbus POLL ile Allen Bradley Motor Sürücüsünün Haberleşmesi

Merhabalar arkadaşlar , Bu yazımızda RS485 yada Modbus haberleşmesi ile ilgilenen arkadaşl…