"Enter"a basıp içeriğe geçin

Seri İletişim -1

Seri iletişime giriş niteliği taşıyan bu yazımda en basit şekliyle veri yollayacağız. 16F628A mikrodenetleyicisi ile CCS C derleyicisini kullanarak bu uygulamayı gerçekleştireceğiz. Simülasyon için ise Proteus programından yaralanacağız. ilerleyen yazılarımda c# programıyla pic’i haberleştirip verileri grafik üzerinde nasıl göstereceğimizi anlatacağım.

16F628A mikrodenetleyicisi küçük uygulamalar için çok güzel bir denetleyici. Tek sorunu üzerinde analog giriş bulunmaması. İçerisinde Timer0, Timer1 ve Timer2 olmak üzere 3 adet timer bulunmakta. Projemizde Timer0’ı açacağız ve Timer0 bizim kontrol işlemlerimizi gerçekleştirmek için 256 us’de bir kontrol işlemi yapacak.

İlk örneğimiz Seriporttan bir kaç kelime gönderme programı olacak. Bu kelimeler her zamanki gibi klasik “Merhaba Dünya” olacak 🙂

tISIS Professional - C:programlarpiccsite_orneklerornek1simu

[php]
///////////////////////////////////////////////////////
// //
// Seri İletişim uygulaması V1.0 //
// //
// 27/01/2013 *Emrah BUDAK //
// //
///////////////////////////////////////////////////////

#include <16F628A.h>

#FUSES NOWDT //No Watch Dog Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B2,rcv=PIN_B1,bits=8,stream=PORT1)

#use fast_io(a)
#use fast_io(b)

#define Buton input(pin_a0)
char Metin1[15]={"emrahbudak.com"};

#int_RDA
void RDA_isr(void)
{

}

#int_TIMER0
void TIMER0_isr(void)
{

}

void main()
{
set_tris_a(0b11111111);
set_tris_b(0b11111011);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1|RTCC_8_bit); //256 us overflow

enable_interrupts(INT_RDA);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);

while(TRUE)
{
if(Buton)
{
while(Buton); //Butonu bırakmasını bekle
fprintf(PORT1,"Merhaba Dunya\n\r");
fprintf(PORT1,"%s\n\r",Metin1);
}
}
}
[/php]

Kaynak dosyalarını ve isis dosyasını indir

Tek Yorum

  1. Gökhan Gökhan Nisan 2, 2013

    Merhaba Emrah öncelilk ile bilgi paylsiminda bulundugun icin tesekkur ederim. Benim bir sorum olucakti. Bir Program yazdim bluetooth modül ile Pic 18f2550 yi kullanip led yakip söndürmek istiyorum. Aslinda amacim mobil bir Robotu yönlendirebilmek ama #int_RDA kesmesi ile ilk asama olarak LED yakip söndürmek istiyorum. Telefon kisminda java ile bir yazilim yazdim ve calistirdim ama Pic kesmesini bir Türlü ayarliyamiyorum. Acaba yardimci olabilir misin? Dosyayi yolliyabilirim e_mail adresini verebilirsen yardimci olabilirsen sevinirim tesekkur ederim.

Bir Cevap Yazın

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