Elektronik / Mikrodenetleyici Projeleri/

Hi tech C ile kaydırma işlelemi örneği

Sponsorlu Bağlantılar

Bu uygulama ilk başta size biraz zormuş gibi gelebilir. Öncelikle burada 8bit değil 16 bitlik kaydırma işlemi kullanılmıştır. Bunu yapmak içinde 16 bitlik gecici bir değişken (tmp değişkeni) tanımlanmıştır. Tüm kaydırma işlemleri ilk önce bu değişkende yapılmış ve sonrada ilgili portlara aktarılmıştır. 16bitlik bir yapıyı iki tane 8 bite bölmek için aşağıdaki yapılar kullanılmıştır.

hi-tech-c-ile-kaydirma-islelemi-ornegi-ledler-led-leds

LED1=(unsigned char)tmp; //tmp değişkeninin low byte ilgili porta atanmıştır.

LED2=(unsigned char)(tmp>>8); //tmp değişkeninin high byte ilgili porta atanmıştır.

Dikkat ederse 16bittlik yapının alt 8 bitini almak için değişken türü değiştirilmesi yeterlidir. Üst 8 bitini almak için ise sağa 8 kere kaydırma işleminden sonra değişken türü değiştirilmesi gerekir.

Buradaki her efek farklı bir for döngüsü içinde yazılmıştır. 2 ledi aynı anda kaydırılması kayan ışık uygulaması ile aynıdır. Tek farkı ilk başta tek led değil iki led birden yakılıp kaydırma işlemi yapılmıştır. Sonrada tmp değişkenindeki sonuç iki adet 8bitlik yapıya ayrılıp portlara aktarılmıştır.

OR ve AND komutlarıda diğer efekleri oluşturulmak için kullanılmış. Burada dikkat edilmesi gereken OR komutu ile istenen portları 1 yapılabilmesidir. AND komutu ilede istenen portlar 0 yapılır.

LED1=LED1|0x0F;
Önce	xxxx xxxx
Sonra	xxxx 1111
LED=LED2&0xF0
Önce	xxxx xxxx
Sonra	xxxx 0000

Buradaki x önceki değerle aynı olduğunu ifade etmek için kullanılmıştır.

Uygulama dosyaları: Hi tech C ile kaydırma işlelemi örneği

Dosya indirme LINK listesi (HTML formatında) link-13676.zip şifre-pass: 320volt.com