Proteus İle İlk Simülasyon

CCS C ile program yazmayı öğrendiğimize göre artık Proteus'un Isis adlı devre simülasyon programını kullanarak simülasyon hazırlayabiliriz. Şunu ek olarak belirtmek istiyorum; burada proteus ile ilgili anlatacaklarım muhtemelen yeterli olmayacaktır. Proteus için internette sayısız Türkçe ve İngilizce kaynak bulabilirsiniz.
CCS C'de kod yazmayı yeni öğrenirken yazdığımız kodları simülasyon programında denemek bize çok zaman kazandırır. Dolayısıyla Ben CCS C konularını bitirmeden gerçek bir mikrodenetleyici üzerine yazılım gömmemenizi (embedding) tavsiye ediyorum. Çünkü başka sebeplerden dolayı çıkması muhtemel sorun kafanızı karıştırıp, asıl öğrenmeniz gerek şeyden yani yazılım bilgisinden sizi uzaklaştırabilir.
Öncelikle Isis programını çalıştırıyoruz.

Karşımıza yukardaki ekran gelecek. Noktalı olan büyük çerçeve bizim elektronik devrelerimizi simule edeceğimiz çalışma alanımızdır. Ekranın en sol tarafında da gördüğünüz üzere çeşitli ikonlar mevcuttur. Bu ikonlardan component mode ikonu ( ), bizim en çok kullanacağımız ikondur. Şimdi bu ikona yıklayalım. Gördüğünüz gibi Devices yazan yerin altında hiç birşey yazmıyor. Yani listemizde hiç elektronik parça bulunmuyor. Şimdi elektronik parça ekleme için Devices yazısının yanındaki P (Pick from Libraries) ikonuna basalım.
Yukarıda görüldüğü gibi Pick Devices penceresi açıldı. Isis çok geniş elektronik parça bilgisine sahiptir. İstediğimiz parçayı keywords kısmına yazarak bulabiliriz. şimdi keywords kısmına PIC16F628A yazalım. Yazdıktan sonra 'Results' kısmında Mikrodenetleyicimizi görebilirsiniz. OK tuşuna bastığınızda ise artık PIC16F628A mikrodenetleyicimiz 'Devices' listemizde görünecektir. Listedeki PIC16F628A ya tıklayıp çalışma alanımızda herhangi bir alana tıklar iseniz mikrodenetleyicimiz çalışma alanımıza yerleşmiş olur. Yerleştikten sonra sürükleyerek istediğiniz yere götürebilirsiniz. Bir de çalışma tezgahınıza, mouse'unuzun scroll'unu kullanarak zoom in ve zoom out yapabilirsiniz. Çalışma tezgahına eklediğiniz bir parçayı silmek istiyorsanız mouse'ınızla parçanın üstünde iki kere sağ tuşa tıklar iseniz parça silinir.
Şimdi bu mikrodenetleyicimizin yanına bir led, bir de direnç ekleyelim. Led için pick devices penceresine girip keywords kısmına "animated led" yazarsanız, karşınıza bir çok farklı renkte led çıkar ben onların arasından LED-RED 'i seçiyorum. OK'a basıp ekliyorum. Daha sonra LED'im mikrodenetleyicime bağlanabilmesi için gereken direncimi de keywords kısmına "Minres330r" yazarak ekliyorum. Son olarak da Ledim ve direncimi çalışma alanıma ekleyerek aşağıdaki gibi bir tasarım elde ediyorum. (Parçaları döndürmek için parçaya sağ tuşla tıkladığınızda çıkan menuden 'Rotate Clockwise' veya 'Rotate Anti-Clockwise' seçeneklerini kullanabilirsiniz.)

Bu dizaynımızın çalışabilmesi için sistemimize toprak (ground) ekliyip, parçaları birbirine bağlamamız gerekir. Yalnız toprağı component listemizden elde edemeyiz. Toprak için en sağdaki ikonlardan terminals mode'a () basmamız gerekir. Daha sonra çıkan listeden 'Ground' u seçip, çalışma alanımızda bir noktaya tıkladığımızda oraya ground eklemiş oluruz. Ground'u da parçalar gibi istediğiniz yere taşıyabilirsiniz. Şimdi kablolalama yapalım. kablolama için kablolama yapacağınız yerin başına ve sonuna tıklamanız yeterli. Yalnız tıklayacağınız uca geldiğinizde ucun etrafında kırmızı kare belirmesine dikkat edin.
Evet, ilk devre tasarımımızı gerçekleştirmiş bulunmaktayız. Bu devre sistemimize göre mikrodenetleyicimizin RA0 bacağı eğer mantık-1'e çekilirse, yani bacaktaki gerilim +5V olursa, Ledimiz yanacaktır. Şimdi bir kod yazalım ve bunun gerçekleştirelim.
Bu aşamada sizden kodları anlamanızı beklemiyorum. Çünkü kodlarla ilgili henüz bir eğitim almadığınızı varsayıyorum. Sizden şu an beklediğim sadece simülasyonu çalıştırmak. Eğer bunu başarabilirseniz, örnekler kısmındaki bütün uygulamaları çok rahat gerçekleştirebilirsiniz.
Öncelikle bir önceki bölümde öğrenmiş olduğumuz gibi CCS C derleyicisini açalım ve kod ekranındaki bütün herşeyi silip, aşağıdaki kodları eksiksiz girin.

#include <16f628a.h>
#FUSES NOWDT, INTRC, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000)
#use fast_io(a)
void main()
{
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_a(0x00);
output_a(0x00);
output_high(pin_a0);
}

Daha sonra F9 tuşuna basıp derleyicinin hatasız bir şekilde kodu derlediğinden emin olun. Artık hex dosyasımızı Isis'te çalıştırabiliriz. Şimdi tekrar Isis'teki çalışma alanımıza geri dönelim. Mikrodenetleyicimize çift çıklayalım. Karşımıza 'Edit Component' penceresi çıkacak. Bu pencerede 'Program File' yazan kısımdaki klasör ikonuna tıklıyoruz ve burdan demin derlediğimiz kodun hex dosyasını seçiyoruz. Daha sonra 'OK' tuşuna basarak pencereyi kapatıyoruz. Artık simülasyonumuz tamamıyla hazır. Geriye kalan tek şey sol alt köşedeki 'Play' tuşuna basmak.

Hiç yorum yok:

Yorum Gönder