afiyet olsun.
ccsc olarak diğer c mantık olarak değişen pek bi şey yok, aşağıda 8 pin için ayarlı. daha çok pin için kaymalı kaydedicileri kullanmanı tavsiye ederim.
mantık olarak basit. >> ve << kaydırma operatörleri ile butana basılıp basılmadığına bakılarak değişken içeriği kaydırılıp çıkışa veriliyor.
kolay gelsin.
#define saga_kaydir_tusu pin_xx;
#define sola_kaydir_tusu pin_yy;
#define cikis_port output_z;
int8 cikis_deger;
while(TRUE) // sonsuz döngü için her zaman doğru şartı
{
if(input(sola_kaydir_tusu ) // sola kaydır tuşuna basıldıysa
{
delay_ms(10); // buton arkına karşın bekle
cikis_deger << 1; // değişkenin değerini 1 sola kaydır binary olarak 0b00000001 ise 0b00000010 yapar
cikis_deger++; // değişkeni 1 artır binary olarak 0b00000001 dan 0b00000010 olunca 1 ekleyerek 0b00000011
cikis_port(cikis_deger); // cikis portuna (ledlerin bağlı olduğu porta) değişkenin degerini aktar
while(input(sola_kaydir_tusu ); // tuştan elini çekinceye kadar bekle
}
if(input(saga_kaydir_tusu ) // saga kaydır tuşuna basıldıysa
{
delay_ms(10); // buton arkına karşın bekle
cikis_deger >> 1; // değişkenin degerini 1 sağa kaydır binary olarak 0b00000011 ise 0b00000001 yapar
cikis_port(cikis_deger); // cikis portuna (ledlerin bağlı olduğu porta) değişkenin degerini aktar
while(input(saga_kaydir_tusu ); // tuştan elini çekinceye kadar bekle
}
}