Programlama ve Elektronik

Programlama ve Elektronik (http://www.proelo.com/)
-   PIC16F877 Devreleri (http://www.proelo.com/pic16f877-devreleri-94/)
-   -   SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme (http://www.proelo.com/pic16f877-devreleri-94/switchviewer-projesi-pic-portlarinin-durumunu-bilgisayar-arayuzunde-gosterme-2235/)

ULAGA 8. March 2012 12:50 PM

SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
Bu proje PIC16F877A MCU'sunun port durumlarını okur ve RS232 üzerinden bilgisayara gönderir.
Bilgisayardaki arayüz yazılımı ise port durumlarını LED benzeri şekilde gösterir.
Proje çok basit olmasına rağmen;
Geliştirilmeye açık olduğundan dolayı paylaşılacağı zaman kaynak belirtilirse sevinirim.
Zira az çok emek harcadım... :o

[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]

RAR Şifresi : YARARMAN

[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]

[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]

Kod:

//**********************************************************
//*  Geliştirici : YARARMAN                                *
//*  Proje Adı  : SwitchViewer                            *
//*  Tarih      : 07.03.2012                              *
//*  Sürüm      : 1.0                                    *
//*  MCU        : PIC16F877A                              *
//*  Derleyici  : CCS PIC C Compiler                      *
//*  Uyarı      : Telifhakkı (c) 2012 YARARMAN Tasarım    *
//*                Tüm Hakları Saklıdır                    *
//*  URL        : http://www.yararman.com/                *
//*  Açıklama    : Portlardaki giriş durumunu RS232        *
//*                üzerinden bilgisayara gönderir.        *
//**********************************************************
#include <16f877a.h>
#fuses HS NOWDT NOPROTECT NOBROWNOUT NOLVP NOPUT NOWRT NODEBUG NOCPD
#use delay (clock=20000000)
#use RS232 (baud=9600 bits=8 parity=N xmit=PIN_C6 rcv=PIN_C7)
//#use fast_io(a)
//#use fast_io(b)

void main()
{
    char pState;
   
    setup_comparator(NC_NC_NC_NC);    // Karşılaştırıcılar devre dışı
    setup_adc_ports(NO_ANALOGS );        // Analog girişler devre dışı
    setup_adc(ADC_OFF);                    // A2D devredışı
   
    set_tris_a(0xFF);
    set_tris_b(0xFF);
    set_tris_c(0xBF);
    set_tris_d(0xFF);
    set_tris_e(0xFF);                      // Portların IO ayarı yapılıyor...                 
   
    while(1)
    {
        pState = input_a();                // PORTA'yı oku ve pState'e yaz                   
        pState&=0x3F;                        // PORTA'daki olmayan bitleri ele 
        printf("A%03u" pState);        // Okunan bilgiyi RS232'ye yolla
        delay_ms(1);                        // 1ms bekle
       
        pState = input_b();                // PORTB'yi oku ve pState'e yaz 
        printf("B%03u" pState);        // Okunan bilgiyi RS232'ye yolla
        delay_ms(1);                        // 1ms bekle
       
        pState = input_c();                // PORTC'yi oku ve pState'e yaz 
        pState&=0x3F;                        // PORTC'deki olmayan bitleri ele
        printf("C%03u" pState);        // Okunan bilgiyi RS232'ye yolla
        delay_ms(1);                        // 1ms bekle
       
        pState = input_d();                // PORTD'yi oku ve pState'e yaz 
        printf("D%03u" pState);        // Okunan bilgiyi RS232'ye yolla
        delay_ms(1);                        // 1ms bekle
       
        pState = input_e();                // PORTE'yi oku ve pState'e yaz 
        pState&=0x07;                        // PORTE'deki olmayan bitleri ele
        printf("E%03u" pState);        // Okunan bilgiyi RS232'ye yolla
        delay_ms(1);                        // 1ms bekle
       
        delay_ms(250);                    // 250ms bekle
    }
}


kdr042 27. June 2012 06:18 PM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
peki programda yanan led ısıkların isimlerini değişiremezmiyiz ve cihaz kontrol edemezmiyizz

ULAGA 27. June 2012 07:46 PM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
Elbette devre bir bilgisayar yazılımı ile denetlenebilir.
Ancak bu yazılım sadece PIC'in girişlerindeki durumu gösterir.

EFESU 1. July 2012 09:53 PM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
olay tamamda süper olmuş .. bu sadece bunu mu yapacak portu okuyup bilgisayara yollayacak bitti .. PIC başka iş yapmayacak mı _? açıkcası ne işe yaradığını anlamadım

ULAGA 2. July 2012 08:05 AM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
Alıntı:

EFESU´isimli üyeden Alıntı (Mesaj 25327)
olay tamamda süper olmuş .. bu sadece bunu mu yapacak portu okuyup bilgisayara yollayacak bitti .. PIC başka iş yapmayacak mı _? açıkcası ne işe yaradığını anlamadım

Zaten projenin amacının sadece o olduğu yazıyor.

xDoZeRx 2. July 2012 08:29 PM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
saol admin teşekkürler

mücü_34 3. May 2014 04:41 AM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
usb den aynı işlevi yapabilir mi! teşekkürler ayrıca cok güzel olmuş

xDoZeRx 4. May 2014 11:52 PM

Cevap: SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme
 
Alıntı:

mücü_34´isimli üyeden Alıntı (Mesaj 26570)
usb den aynı işlevi yapabilir mi! teşekkürler ayrıca cok güzel olmuş

Bildiğimiz üzere yeni Anakart Donanımlarında RS232 Giriş yerleri yok fakat ne yapılabilir
USB-RS232 Çeviriciler satın alınarak bu işlem gerçekleştirilebilir...
Laptop ve Masaüstü Bilgisayar Cihazlarında kullanılabilir...
RS232-USB Çevirici
[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]
Daha Çok Kayan Yazı Reklam Tabelalarında kullanılır ama istediğiniz sonuçları verecektir...
RS232-USB-İNTERNET
[Sadece Üyelere Linkler Açıktır.Üye Olun !!! Tıklayarak Üye Olun !!!]
Daha Çok Uzaktaki RS232 veya USB ile çalışan devreyi veya cihazı İnternet sayesinde tetikleme (çalıştırma) işlemi için kullanılır...
Tümünü Kullanıyoruz...
Umarım Gerekli açıklamayı yapmışımdır...


Bütün Zaman Ayarları WEZ +3.5 olarak düzenlenmiştir. şu Anki Saat: 11:22 AM .