Pic ile programlamaya başlamak için kaynak arıyorum İngilizce olabilir

Başlatan [TR]ahmet, 16 Ağustos 2013, 18:06:44

[TR]ahmet

Mikro işlemcileri öğrenmek istiyorum bunla ilgili araştırma yaptım fakat tam olarak baştan başlayanlara hitap eden kaynak bulamadım(Portları anlatmadan kullanmayı öğretiyorlar bende öğrenmeden ilerlemek istemiyorum) Sizden mikro işlemci portlarından başlayarak sıfırdan anlatan Türkçe veya İngilizce kaynak istiyorum biliyorsanız önerirseniz sevinirim.

programlama için gerekli devre elemanlarından bazılarını ebaydan sipariş ettim. Bugün Türkiyeye giriş yaptı onlar elime ulaşmadan hiç değilse anlayarak led yakıp söndürmeyi falan öğrenmek istiyorum bunu yaptıktan sonra gerisi gelir diye umuyorum. insallah yanılmam :)

blacklogic

C programla da sıkıntınız yok ise çok kolay öğrenirsiniz. Programlamak istediğiniz pic'in dahasheetini indirin ve okumaya başlayın :)
Misal pic12f675 programlayacaksınız.
Mplab x ve xc8 bilgisayarınıza kurulu. Gerekli adımlar şu şekilde:
Yeni bir proje oluşturun ve chipi seçin,
bir mate main dosyası oluşturun.
#include pic12f775.h
void main()
{
//buraya kodları yazın.
}

Chip özelliklerini datasheet bakarak öğrenin. Misal Tris GPIO ile giriş mi çıkış mı olacak o ayarlanır datasheette
GPIO: GPIO REGISTER (ADDRESS: 05h) şeklinde geçer. Peki bunu koda nasıl alacağız? bu işlemi #include pic12f775.h komutu ile pic12f775.h dosyası sayesinde yaparsınız. Benim pcde bu dosya " C:\Program Files\Microchip\xc8\v1.12\include\pic12f675.h " adresindedir bu dosyayı açtığımda karşımda GPIO: GPIO REGISTER (ADDRESS: 05h) kullanımının nasıl yapıldığını görürüm.

// Register: GPIO
extern volatile unsigned char           GPIO                @ 0x005;
#ifndef _LIB_BUILD
asm("GPIO equ 05h");
#endif
// bitfield definitions
typedef union {
    struct {
        unsigned GP0                    :1;
        unsigned GP1                    :1;
        unsigned GP2                    :1;
        unsigned GP3                    :1;
        unsigned GP4                    :1;
        unsigned GP5                    :1;
    };
    struct {
        unsigned GPIO0                  :1;
        unsigned GPIO1                  :1;
        unsigned GPIO2                  :1;
        unsigned GPIO3                  :1;
        unsigned GPIO4                  :1;
        unsigned GPIO5                  :1;
    };
} GPIObits_t;


Misal burada extern volatile unsigned char           GPIO                @ 0x005; bölümünü extern volatile unsigned char          BLACKLOGIC                @ 0x005; şeklinde değiştirsem ve main dosyamda BLACKLOGIC=0x00; yazsam GPIO pinleri çıkış olur :) Microchip bitti :) Hepsi bu. USB ve Ethernet kullanımını şuan için gerçekleştiremedim ama onun dışında microchip benim için bundan ibaret.

[TR]ahmet

Alıntı yapılan: blacklogic - 16 Ağustos 2013, 23:44:59
C programla da sıkıntınız yok ise çok kolay öğrenirsiniz. Programlamak istediğiniz pic'in dahasheetini indirin ve okumaya başlayın :)
Misal pic12f675 programlayacaksınız...

Yardımın için teşekkürler c dilini pek bilmiyorum fakat c# bildiğimden c dili sorun olmaz diye düşünüyorum. Ben   PIC16F877A-I/P kullanacağım bunun dahasheetini birazdan bakacağım. 0x00 çıkış portu yaptığına göre 0x005 de giriş portumu yapıyor ?

Alıntı yapılan: blacklogic - 16 Ağustos 2013, 23:44:59
Microchip bitti :) Hepsi bu. USB ve Ethernet kullanımını şuan için gerçekleştiremedim ama onun dışında microchip benim için bundan ibaret...
İşin olmadıysa normaldir :)

KIRIKDR

Serdar Çiçek CCS - C ile picprogramlama..

İngilizce C öğrenmek için de Head First C kitabını okuyabilirsiniz.

MSP ile uğraşmak istiyorsanız Fatih İnanç 'ın kişisel sitesini takip edin.. İyi çalışmalar iyi günler..

[TR]ahmet

Alıntı yapılan: KIRIKDR - 17 Ağustos 2013, 13:05:06
Serdar Çiçek CCS - C ile picprogramlama..

İngilizce C öğrenmek için de Head First C kitabını okuyabilirsiniz.

MSP ile uğraşmak istiyorsanız Fatih İnanç 'ın kişisel sitesini takip edin.. İyi çalışmalar iyi günler..
Kaynaklar için teşekkürler.

blacklogic

[quote author=
ahmet link=topic=48302.msg360474#msg360474 date=1376730567]
Yardımın için teşekkürler c dilini pek bilmiyorum fakat c# bildiğimden c dili sorun olmaz diye düşünüyorum. Ben   PIC16F877A-I/P kullanacağım bunun dahasheetini birazdan bakacağım. 0x00 çıkış portu yaptığına göre 0x005 de giriş portumu yapıyor ?
İşin olmadıysa normaldir :)
[/quote]

Hayır 0x005 TRIS registerinin adresidir. bu 8 bitlik bir resiterdir ve son iki biti kullanılmaz. 1 verildğinde ilgili port giriş, 0 verildiğinde ilgili port çıkış olur.

[TR]ahmet

Alıntı yapılan: blacklogic - 17 Ağustos 2013, 14:22:58
Hayır 0x005 TRIS registerinin adresidir. bu 8 bitlik bir resiterdir ve son iki biti kullanılmaz. 1 verildğinde ilgili port giriş, 0 verildiğinde ilgili port çıkış olur.
0x00 =Çıkış 0x01 Giriş oluyorsa doğru anlamışımdır ben  dediğin programları yükledim deneme amaçlı build etmeye çalıştım fakat başaramadım hex dosyasını nasıl çıkarabilir ?  Sorunum çok basit fakat yapamadım   rahatsızlık verdiğim için kusura bakma


blacklogic

[quote author=
ahmet link=topic=48302.msg360492#msg360492 date=1376739639]
0x00 =Çıkış 0x01 Giriş oluyorsa doğru anlamışımdır ben  dediğin programları yükledim deneme amaçlı build etmeye çalıştım fakat başaramadım hex dosyasını nasıl çıkarabilir ?  Sorunum çok basit fakat yapamadım   rahatsızlık verdiğim için kusura bakma
[/quote]
Elektronikçimisin yoksa bu işe elektronik bilgisi olmadan mı giriyorsun ?

[TR]ahmet

Alıntı yapılan: kudretuzuner - 17 Ağustos 2013, 16:57:05
Merhaba,
asm öğrenirken tuttuğum notlar belki işinize yarar,buyrun.Kolay gerlsin.
https://www.dropbox.com/s/j8jaiwgqniono93/ANTRAK1_ASM_BASLANGC.rar
https://www.dropbox.com/s/pu51gzg5vpf3g6f/ANTRAK2_ASM_BASLANGC.rar
https://www.dropbox.com/s/cj7k9mjyf0kvv42/ANTRAK_ASM_BASLANGC.rar

Şimdilik işe yaramaza da ilerde muhakkak işime yarar notlarını paylaştığın için teşekkürler

Alıntı yapılan: blacklogic - 17 Ağustos 2013, 17:01:53
Elektronikçimisin yoksa bu işe elektronik bilgisi olmadan mı giriyorsun ?

Evet elektronikçi değilim. Yazılımcıyım windows,android isletim sistemleri programlar ve oyun yazabilirim c#,asp,php,java,javascript dillerini biliyorum c,c++,visual bacis dillerinlede uğraştım fakat diğerleri kadar iyi değilim.
Elektonik bilgim pek fazla yok ama sıfırda değil.
Balıkesir Anadolu Teknik Lisesi Bilişim Sistemleri Alanı Veritabanı Programcılığı Dalından bu sene mezun oldum ve gazi üniversitesi bilgisayar mühendisliğini kazandım yazılımda sorunum yok fakat elektronikte bilgim olmadığından bunları öğrenmek istedim ve vazgeçmeyim diye malzemeleri aldım yani benim için dönüş yok :)  benim iki sene içinde bunları öğrenmem lazım ve bir tane daha önce yapılmamış mmo oyun projem var onu yapmayı planlıyorum inşallah yapacağım
yardımların için sağol anlamadığım konuları anlattın ben bunların mantığını anlamıştım fakat soketleri anlamamıştım onlarıda senin sayende öğrendim diğer arkadaşların verdiği kaynakları indirdim okuyorum onlarda güzel kaynakmış. Yardımcı olan herkese teşekkürler.