2. Operatör kullanımı uygulaması

/***** OPERATÖR KULLANIMI UYGULAMASI Yazan: Burak TASASIZ *****/
/*******************************************
YAZILIMIN İŞLEVİ: B portuna, herhangi bir operatör vasıtasıyla
değiştirilmiş değişkenin değeri atanır. Böylelikle B portunun
8 pinine bağlanmış 8 ledin bu değerlere göre yanması veya
sönmesi sağlanır.
********************************************/

#include <16f628a.h>
#FUSES NOWDT, INTRC, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000)

void main()
{
unsigned int a,b,c; //a,b ve c değişkenlerinin tanımlanması
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

set_tris_b(0x00); //Port giriş-çıkış ayarları
output_b(0x00); //Port temizlemesi

a=0x85; //a'nın değeri 1000 0101 olarak atandı
b=0x47; //b'nin değeri 0100 0111 olarak atandı

DONGU: //Etiket belirlendi
c=a+b;
output_b(c); //B portunun çıkışı "a+b" olarak ayarlandı
delay_ms(500); //Mikrodenetleyici 500ms bekler
c=~a;
output_b(c); //B portunun çıkışı "a'nın değili" olarak ayarlandı
delay_ms(500); //Mikrodenetleyici 500ms bekler
c=a|b;
output_b(c); //B portunun çıkışı "a veya b" olarak ayarlandı
delay_ms(500); //Mikrodenetleyici 500ms bekler
c=a&b;
output_b(c); //B portunun çıkışı "a ve b" olarak ayarlandı
delay_ms(500); //Mikrodenetleyici 500ms bekler
c=a<<1;
output_b(c); //B portunun çıkışı "b nin bir sola ötelenmişi" olarak ayarlandı
delay_ms(500); //Mikrodenetleyici 500ms bekler
goto DONGU; //Program DONGU etiketine gider
}

Hiç yorum yok:

Yorum Gönder