Flowcode - Denemeler 2 - GİRİŞE bağlı LED YAKMA SÖNDÜRME Diyagramı
Bu bölümde 1. derste yakıp söndürdüğümüz ledin bir giriş düğmesiyle yakılıp söndürülmesini sağlayacağız.
İlk açtığımızda dosya açma menüsünde
Create a new Flowcode...
Diğer Dosyalar...
seçiniz.
Açılan Pencereden
16 sekmesinde
16F628A
seçiniz.
Hemen Aynı Pencerenin
Genel Seçenekler Sekmesinden Kristal frekansını belirleyin
Aynı sekmedeki
Configure chip... Butonuna basarak Config penceresinden aşağıda gördüğünüz ayarları gerçekleştirin.
Burada Osilatörümüzü kristalsiz ve dahili mod ta seçtik. MCLR pini dışındaki ayarları kapalı seçtik.
Ayarlamalarımızı tamamladığımızda
OK ve
TAMAM tuşuna basarsak Aşağıdaki gibi bir görünümü
Bazı Pencere düzenlemelerle elde edeceksiniz.
Rahat çalışabilmeniz için size kalmış olsada bu düzende çalışmak daha kolay olacak sanırım.
Şimdi Gerekli Olan Donanımları ekleyelim:
Bir adet Led:
Bir Adet Buton:
Ekleyelim
Led ve Butonda Değişik görüm ayarlayabilirsiniz.
Üzerinde Sağ Fare
Genişletilmiş Özellikler altında Büyüklüğü Tipi ve Basıldığında
1 mi
0 mı verceği gibi ayarları yapın.
Şimdide Led ve Butonu hangi portlara bağlayacağımızı belirleyelim.
Ledi
PortA 0a, Buttonu
PortB 0a Bağlamış olduk
Şimdi programlama bölümünde:
Hesaplama ve Tanımlama Simgesi yerleştirelim
Bu Açılış Başlangıç değerleri tanımlama ve bir takım atama veya hesapların yapıldığı alandır.
Şimdi bir adet bağlantı noktası yerleştirelim
Şimdi bir adet Girdi Simgesi yerleştirelim
Şimdide bir adet Hüküm Karar Simgesi yerleştirelim
Şimdi kararın sağdaki Evet Dalına ve Alttaki Hayır dalına birer Çıktı simgesi yerleştirelim
Evet kanadındaki çıkışın altına Gecikme ekleyelim
Evet ve hayır birleşimlerinden sonraya
Bağlantı noktasına atlama simgesi yerleştirelim
Arkadaşlar program akışımız algoritmamız hazır. :)
Buraya kadarki halini şu şekilde göreceğiz:
Şimdi içini doldurmaya kaldı:
Girdiyi kaydedeceğimiz bir değişken tanımlayıp başlangıç değerini atayalım:
Değişkenimizi 1 bitlik tanımladık. Zira Button 1 veya sıfır değeri taşıyacak. Fazlası israf olurdu :)
Hesaplamanın içeriğine şimdilik başka birşey yazmıyorum.
Ama bazı özellikler eklemeyi düşündüğümüzde içeriğine gerekli olan değişken veya başlangıç sabitlerini koyabiliriz.
Girdi portunu PortB,0 a ayarlayalım Butona bağlamış olalım.
Buton okumayı Porttan tek bit olarak okuduk ve Button değişkenine aktarılmasını sağladık.
Karar, Yargılama işlemini gerçekleştirmek için kuralları, şartları belirtelim:
Buton basılınca Port sıra inecek şekilde tanımlamıştık buton ayaralarında.
Şimdi basıldıysa yani sıfır olduysa evete dallanmasını sağladık basılmadıysa hayıra dallanacaktır.
Evet Dallanmasındaki Çıkışı Yani
PortA,0 ı Lojik 1 e çekelim Ama bunu PortA nın sadece bir bitini değiştirerek yapalım
Aynı şekilde Hayır Dallanmasındaki Çıkışı Yani
PortA,0 ı Lojik 0 a çekelim Ama bunu PortA nın sadece bir bitini değiştirerek yapalım
Son olarakta Ledin Buton bırakıldıktan sonra ne kadar yanık kalacağını ayarlayalım
Nihayet Programımız tamamlandı bende tamam oldum Pöffffff. :o :'(
Şimdi Bize Çalıştırmak ve derlemek Kalduı arkadaşlar.
Bir önceki dersten hatırlarsanız çalıştırmak için play ikonuna basmanız yeterli. Animasyonu canlı olarak görün. Butona basın ve bırakın. ;D
Bıraktıktan sonraki gecikme biraz tesadüfi gibi oldu.
Şimdi gecikmeyi tam yapmak için Evet dallanmasındaki Süre Simgesini Fareyle Hayır Simgesindeki Çıkış Simgesinin üzerine taşıyıp yeniden deneyin. ;)
Artık kusursuz bir gecikme göreceksiniz.
Şimdi Bunu Çipe yazılmak üzere derleyelim
Programın Yonga Menüsünden HEX koduna derleyi seçerseniz Dosyanızı bir isim vererek (
Önemli NOT:ürkçe karakterlerle dosya adı verirseniz Derleme Hatası alabilirsiniz.) kaydettikten sonra aşağıdaki pencereyle nihayet bulur. (aradaki bazı satırları çıkardım) Geri dönüş kodları Sıfır ise Derleme Başlarılıdır.
Size Lazım Olabilecek Dosyalar ve Uzantılarına Dikkat edin.
Programımızın nihai şeklinide buraya koyalım hatalı yapan arkadaşlarımıza referans olsun.
FİNAL: