Apple Hile Dünyası Mikroc ile pic programlamayı öğreniyoruz DERS-3 « Electronic TR Webmaster Blogu -->

Mikroc ile pic programlamayı öğreniyoruz DERS-3

Etiketler :

MikroC Dersleri 3

mikroc-dersleri-3
Merhaba elektronik Severler…
Bir önceki dersimizde Proteusun İSİS simulatörü ve C dilinde bize gerek olan Veri Değişkenleri , İşleçler (operatörler) konularını işleyip Program kontrol deyimlerine değindik ilgili programları inceledik.
Bugün Dersimizde DÖNGÜLER konusuna değineceğiz.
Ama önce birkaç önemli not eklemek gerektiğini düşünüyorum. Program geliştirmenin yanı sıra birazda donanım bilgisi gerekiyor.
• PICler 5V sabit gerilimli besleme kaynağı ile beslenmeli.
• PIC Pinlerine doğru(buton) uygulanacak akım SİNK akımı 25mA dir.
• PIC pinlerinden şaseye(toprak)akan akım SOURCE akımı20mA dir.
• Bu akım seviyelerini (Led bağlantısı için) 100 150 Ohm arası dirençle sağlanır.
• Butonların Lojik ir gerilimi sağlama dirençleri( PULL UP) 4.7KOhm ile 10KOhm dirençlerden seçilmelidir.
• Pıc Donanımında Anagol Dijital(ADC) varmı ? karşılaştırıcı Varmı bunları bilmemiz gerek. Bu yapılar varsa ve kullanılmayacaksa programda bu donunımlar kapatılmalıdır.(kapatılmazsa programı olumsuz etkileyebilir.

3.DÖNGÜ YAPILARI

• For
• While
• Do While
Tanım : Döngüler bir programın yada program parçasının keç defa çalışacağını sonsuza kadar mı çalışacağını belirleyeceğimiz yapılardır. Döngüler hemen hemen bütün programların bel kemiğini oluşturur.
3.1 FOR Döngüsü
Kullanım yapısı : For (DöngüBaşlangıçdeğeri; DöngüBitişDeğeri; ArtışVeyaAzalışMiktarı{Buraya Maddeler halinde Yapılacak işlemler yazılır;}
Yukarıdaki yapının çalışması için {} parantezlere ve ; Noktalı virgüllere dikkat edilmelidir.
Programalarımızda For döngüsünü sıklıkla kullanacağımız için iyi öğrenilmesi gerekmektedir ve en esnek kullanımı olan döngüdür.
Şimdi For döngüsünü detaylı inceleyelim
Öncelikle döngüde kullanılacak değişkenin tanımlamasını unutmayalım programın başında i gibi bir değişken tanımlayalım
10 Ledle yürüyen ışık program parçasını yazalım ve bilmediğimiz bit kaydırma işlemini de görelim
Unsigned int  i;
for(i=1;i<1024;i=i*2)
{
PORTB=i;          İ değişkeninin değerini PORTBde göster (ilk (bitini)
PORTA=i>>2;   İ değişkeni 2bit sağa kaydırılarak son 2biti PORTA da gösterilir.
Delay_ms(500);  500 milisaniye bekle.
}
Programımızı incelersek i sayısı 1 den başladıtıldı i sayısı 2 ile çarpılıp tekrar i içine yazıldı Ve for içine girildi i değeri 1 dir ve PortBde 1 görüldü tekrar For döngüsüne gidildi 1*2 =2 olan i 1024 den küçük olduğu için 2*2=4 i içine yazılır ve 2 değeri PORTB de gösterilir 500ms beklenir bu işlem 1024' den küçük olana kadar devam edilir ve döngü sonlanır.
PORTA=i>>2; Burada kullanılan bit kaydırma işlemi İ değerinin bit sayısı 8bit i geçince yani 256,512, sayıları 9bit ve 10bit olduğundan PORTB ye sığamayacağından son iki bit i PORTA da gösterilir.
Yukarıda ele aldığımız Programın sonsuza kadar çalışmasını istiyorsak program parçasını
For(;;)
Bu yapı sonsuz döngüdür.
yukarıdaki programı buraya yazmalıyız }
Yapısı içine yerleştirmeliyiz.
3.2. WHİLE Döngüsü
While (şart ifadesi)
{
Burada şart sağlandığı sürece komutlar çalıştırılır;
}
While ile forla yapılan döngüler yapılabilir ancak kullanımı for kadar esnek değildir.
i=1

While (i < 1024)
{

PORTB=i;
PORTA=i>>2;
Delay_ms(500)
i=i*2;
}
For ile yapılan yazılımın While döngsü ile yazımı üstteki gibidir.
While ile sonsuz döngü
While(1)
{
Buraya program parçasını yerleştiriniz;
}
Şeklinde yapılır.
3.3. do while Döngüsü While döngüsü ile aynı şekilde kullanıma sahiptir ancak bir farkı vardır o da şart sağlansa da sağlanmasada döngü 1 kez (program ilk çalıştığında) çalışır
i = 100;
do {
PORTB=i;
i++; bu kullanım i değişkenini 1 artırır yani i=i+1; ile aynıdır
} while ( i > 200 );
Başlangıçta i 100 dür do ( yap ) PORTB=i; i gösterilir i 1 artırılır Döngü şartı sağlanıyorsa döngü devam eder programda i 200' den küçük olduğu için tekrarlanmaz.
Evet kıymetli elektronik sever öğrencilerim Bu günlük dersimiz buraya kadardı. Yukarıdaki döngüleri kendiniz basit programlar üzerinde deneyin. Gelecek dersimizde bu örneklere yar vereceğiz. Takıldığınız yerde iletişimi geçin.
İyi ÇALIŞMALAR.

0 yorum: