PDA

Orijinalini görmek için tıklayınız : SwitchViewer Projesi - PIC Portlarının Durumunu Bilgisayar Arayüzünde Gösterme


ULAGA
8. March 2012, 12:50 PM
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

[Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!] ([Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!])

RAR Şifresi : YARARMAN

[Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!]

[Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!]

//************************************************** ********
//* 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 : [Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!] *
//* 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
peki programda yanan led ısıkların isimlerini değişiremezmiyiz ve cihaz kontrol edemezmiyizz

ULAGA
27. June 2012, 07:46 PM
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
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
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
saol admin teşekkürler

mücü_34
3. May 2014, 04:41 AM
usb den aynı işlevi yapabilir mi! teşekkürler ayrıca cok güzel olmuş

xDoZeRx
4. May 2014, 11:52 PM
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
[Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!]
Daha Çok Kayan Yazı Reklam Tabelalarında kullanılır ama istediğiniz sonuçları verecektir...
RS232-USB-İNTERNET
[Yanlızca Üyeler Görebilir.Üye Olmanız Gerekli !!!]
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...