Ana içeriğe atla

PIC ASM Proje Ve Kaynakları



 Merhaba arkadaşlar
Mikrochipin üretmiş olduğu Pic serilerini programlamak birden fazla programlama dili bulunmaktadır.Ancak okulda mikrodenetleyiciler dersin de donanıma daha hakim olmak için Assembky öğretilmekte ve bizden de hem dersi daha iyi öğrenmek hem de elimizde bir proje olarak bilgilerimizin kalıcığılığın sağlamak için proje gerçekleştirdik.Sınıftaki herkes farklı projelerini Assembly ile gerçekleştirdi
İlk başlarda oldukça zorlanmıştık.Çünkü alıştığımız programlama dillerinden oldukça farklı olması mesela C C++ veya Java gibi.Ben bu projeyi ilk öğrendiğim diğer programlama dillerinide kullandığımız FOR IF gibi yazılımı kolaylaştıran ifadelerin neden gerekli olduğu ve işimizi ne kadar kolaylaştırdığıydı.Oysa ASM onları gerçekletirmek için GOTO dan basla bir sey yapamıyorduk.Bu da bize mikrodenetleyicide bulunan registerleri iyi tanımamızı ve değişkenleri acarken BANK lardan yer ayırarak programa devam etmemizi sağlıyordu.

Proje raporunu sizlere sunmadan sizlere kurduğumuz ekip olan GM hakkında biraz bilgi vermek istiyorum...




Proje Önsöz


Projemizin ismi biraz değişik gelebilir(FOLLOW GM).GM yani GENCMUHENDİSLERİZ arkadaşlarımız ile kurduğumuz bir gruptur. Grubumuzda çalışmalarımızı beraber sürdürdüğümüz birbirimize yardım ederek her yaptığımız proje ve çalışmaya Gm ismini vermekteyiz.İlk projemiz Yalçın Albayrak Hocamızın dersinde yaptığımız (GM CAR) Paralel Port kullanarak araba sürmek.Arabamızı Klavyeden yön tuşları ile sürmekte ve arabamızın üstündeki ledleri buzzerı klavyeden kontrol edebilmekteyiz. Sonraki Projemiz Java dersinde yaptığımız  GM_WINDOWS’dur.Arkadaşları ile karar alarak tüm grup arkadaşları olarak java da gui programlama yaparak sanal bir işletim sistemi yazmaktı.Sanal İşletim Sistemimizde çeşitli programlar bulunmakta.Her arkadaşımızın yazmış olduğu tüm programları GM_WINDOWS’da birleştirmiştik.İçinde ;Hesap Makinesi, Direnç Renk Kod Programı,Kim 500 Bin İster,Cramer Metodu ile Denklem Çözme,Sesli Sözlük,CMD ve Strateji Oyunu. Strateji Oyunu içlerinde en çok uğraştıran olmuştu.Çünkü oyunda  size bir devlet vermekte.Devletinizin topraklarını savaş yaparak artırarak ordunuzu geliştirip savaşları kazanma olasılığınızı artırıyorsunuz.Ayrıca nüfus vergi ve antlaşmalar ile kullanıcılara bir çok özellik sunmaktadır.Gm_Windows’da yaptığımız diğer bir programise normal Windows’daki gibi CMD komut satırlarını işleyebileceğimiz bir Gui ile sadece bizim bildiğimiz bazı kodları kullanarak bazı hileler yazabilme imkanı vermiştik.

Bu seneki projemizde Gm ekibi olarak 2 farklı ürün çıkarmaktayız.İlk ürün FOLLOW GM.Yani bir nevi hafıza oyunu.Tamamen hafıza gelişimi için tasarlanmış bir taşınabilir oyun kutusu projesidir. Diğeri ise Otomatik Park Yapan GM_Xcar (???) projesi.1 sınıfta araba konusundaki tecrübemizi bu seneki Mikroişlemciler dersi ile birleştirerek Otomatik Park Yapan araba projesi yapmaya karar verdik.Arabamız hazırladığımız parkurda park edebileceği yeri bulduktan sonra oraya girip giremeyeceğini hesapladıktan sonra eğer boyu yetiyorsa girmeye çalışıyor.Bu  2 projemizi de ASSEMBLY dili ile gerçekleştiriyoruz.Yazılım konusunda her ne kadar bizi zorlasa da üstesinden  gelmeyi başaracağız….
  







Ayrıca Ders ile ilgili tüm kaynak kitap ve kodlara Google drive kaynaklarına aşağıdan ulaşabilirisiniz....

https://docs.google.com/file/d/0B5NivaRXuub_OXJlcUhmWEdzRWs/edit

https://drive.google.com/folderview?id=0B5NivaRXuub_VzdHaElKOWgxdVE&usp=sharing

https://drive.google.com/folderview?id=0B5NivaRXuub_bmZGaWdQM0ZmaUk&usp=sharing

Yorumlar

Bu blogdaki popüler yayınlar

Java Deger Atama ve Local Değişkenler

Değişkenlereilk değerlerini atama Javauygulamalarında üç tür değişken çeşiti bulunur , yerel (local) değişkenler, obje'ye ait global değişkenler ve son olarak sınıfa aitglobal değişkenler(statik değişkenler). Bu değişkenlerin tipleri ilkel(primitive) veya herhangi bir obje tipi olabilir. ör-javada-degiskenler public class DegiskenGosterim {int x ; //objeye ait global degiskenstatic int y ; // sınıfa ait global degiskenpublic void metod () {int i ; //yerel degisken//static int y = 5 ;// yanlis}} Yerel(local)değişkenlerYereldeğişkenlere kesin olarak ilk değerleri kodu yazan kişi tarafındanverilmelidir. İlk değeri verilmeden kullanılan yerel değişkenlere uyarı ,derleme(compile-time) anında verilir. gösterim-11 public int hesapla () { // yerel değişkenlere ilk değerleri her zaman verilmelidir.int i ; i++; // ! Hata ! ilk deger verilmeden üzerinde işlem yapılamazreturn i ;} Objeyeait global değişkenlerObjelereait global değişkenler'e ilk değerlerini kodu kişi vermek zorunda değildir.Ja…

Anakart ve Bileşenleri Nelerdir?

Anakart
Mainboard olarak da adlandırılır. Sistemdeki bütün kartların, işlemcinin üzerine takıldığı, diğer donanım aygıtlarının kablolar vasıtasıyla bağlandığı ve bilgisayarın en karmaşık parçalarından biridir.
Anakart Bileşenleri
1. İşlemci soketi: İşlemcinin takıldığı sokettir.
2. Bellek soketi: RAM denilen sistem belleğinin takıldığı soketdir.
3.Genişleme Yolları Anakart üzerine ekran kartı, modem, ses kartı, vs gibi parçalar anakart üzerindeki genişleme yuvaları ya da veri yolu yuvaları denilen soketlere takılır. Yani kartların işlediği veriler ve kartlara giden bilgiler, bu yuvalar ve anakart üzerindeki veri yolları aracılığı ile işlemciye ve diğer aygıtlara ulaşırlar.
4. Güç Konnektörleri(Güç kaynağı girişi): Anakart üzerine güç kaynağından gelen kablolar bu konnektörlere bağlanır.
5. Klavye/Fare Konnektörleri(portları): Klavye ve fare yuvarlak 6 pinli bir fiş (PS/2 fişi) kullanılarak anakartaki klavye ve fare portlarına bağlanır.
6. Yonga Setleri (Chipsets): Bilgisayarların trafik pol…

Örnek Java Kodları

Java Örnekler:...

1. Ekrandan girilen n*m matrisin istenilen satırların toplamını veren java programını yazınız.

Java Kodu 

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package odev1.matris;
import java.util.Scanner;
/**
 *
 * @author aycan
 */
public class Odev1Matris {


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {

        Scanner keybord  = new Scanner(System.in);
        int satir,sutun,cevap;


        System.out.println("Matrisin Satır Sayisini Giriniz ");
        satir= keybord.nextInt();
        System.out.println("Matrisin Sutun Sayisini Giriniz ");
        sutun= keybord.nextInt();

        int[][] matris = new int[satir+2][sutun+2];
        int [] top = new int[satir+2];

        for(int i=1 ;i<=satir ; i++ )
            for(int j =1 ; j <=sutun ;j++)
            { System.out.println("Girmis oldugunuz matrisini( "+i+","+j+" )giriniz");
  …