PIC16F877A Programlama

Sence?
 
Arkadaşlar merhaba,
CCS C V5 ve Proteus 8 pro Programlarını kurdum.
Sayenizde ilk projemi yaptım. sorunsuz çalıştırdım.aşağıdadır. Bununla ilgili birkaç sorularım olacak.

1.sorum: CCS C de kullanabileceğim kod ve komutların listesi ve kısa açıklamlarına nereden nasıl ulaşabilirim?

2.sorum: aşağıdaki while komutundan sonra önce kırmızı sonra sarı yanıp sönüyor.
şunu nasıl yapabilirim: program başladığı zaman kırmızı ile sarı birlikte başlasın. sarının süresi kırmızıyı etkilemesin. Bağımsız çalışsın yani.

3.sorum: "PCM 14 Bit" ne oluyor?

4.sorum: osilatör hızını 4Mhz değil 20Mhz değiştirmemin nasıl bir avantaj/dezavantajı olur?

upload_2018-4-22_23-19-24.png

upload_2018-4-22_23-19-42.png
 
Hayırlı olsun, tebrikler.

1) Serdar Çiçek Hocanın kitabından,
CcsC ide Help (Sağdaki soru işareti) kısmından,
netteki anlatımlardan parça parça, netteki videolardan.

2) Basit bir mantık ile:
Kod:
.inc den sonra alttaki 4 satır tanımlanacak:
#define SARI_AKTIF_t        300UL
#define SARI_PASIF_t        300UL
#define KIRMIZI_AKTIF_t   500UL
#define KIRMIZI_PASIF_t   500UL


unsigned int16 s_a_t = SARI_AKTIF_t;
unsigned int16 s_p_t = SARI_PASIF_t;
unsigned int16 k_a_t = KIRMIZI_AKTIF_t;
unsigned int16 k_p_t = KIRMIZI_PASIF_t;

while(true)
{
delay_ms(1);

  if (s_a_t)  
  {
  output_high(pin_d0);
  s_a_t--;
  }
  else
  {
  output_low(pin_d0);
  s_p_t--;
  }
  if(s_p_t == 0) 
  {
  s_a_t = SARI_AKTIF_t;
  s_p_t = SARI_PASIF_t;
  }

  if (k_a_t) 
  {
  output_high(pin_b0);
  k_a_t--;
  }
  else
  {
  output_low(pin_b0);
  k_p_t--;
  }
  if(k_p_t == 0) 
  {
  k_a_t = KIRMIZI_AKTIF_t;
  k_p_t = KIRMIZI_PASIF_t;
  }

}

Bundan sonraki sorular şu an için çok erken sorulmuş sorular oluyor.
3) 16F877A tasarımı-üretimi 14bit komut seti ile yapılmış (opcode),
derleyicinin adınıda ona uygun belirlemiş CCS.

4) 16F serisi her 4 clock çevriminde 1 komut işler (bazı komutlar 2 katı sürede işlenir).
Komuttan kastımız asm komutlar yada program memory deki her bir satır,
yada makina dilindeki komutlar manasında, "instruction set"
CcsC de Compiler sekmesinde iken sağ üstteki C/ASM list yazan yerden bakabilirsin.

4 MHz ile 1 mikrosaniyede 1 komut,
20 MHz ile 200 nanosaniyede 1 veya 1 mikrosaniyede 5 komut işler,
yani daha hızlı çalışır,
şimdilik hızla işin olamadığı için biraz uzak bir konu.


NOT:
Kodlarınızı kod tag ı ile mesajlarınıza ekleyiniz.
 
çinden 1 tane clone pickit3 alıyorum. ccs c yazdığım programı PIC e nasıl,yükleyeceğim ? CCS C ile mi yoksa başka program var mı?
 
"PICkit 3 Stand Alone Programmer"
PC programını kullanabilirsin,
şu sayfadan yukarıdaki isimle aratıp indirebilirsin,
http://www.microchip.com/development-tools/pic-and-dspic-downloads-archive
(Bu linke "Microchip archive" şeklinde google da aratarak erişebilirsin.)

Kullanımı için youtube da videolar var.

MpLabX kullanırsan direk MpLabX üzerindende Pickit ile pic programlayabilirsin.
 
mplabX aynı zamanda derleyici değil mi? ben şimdilik derleyici olarak CCS C kullanıyorum
 
MpLabX derleyici değildir, önceki mesajlarda yazmıştım.

"PICkit 3 Stand Alone Programmer"
PC Programı ile CcsC veya her hangi bir başka program PC ye yüklü olmadan dahi
sadece .hex dosyasını alıp Pic e yazdırabilirsin,
isis te picin üzerine tıklayıp içine .hex dosyasını göstermek gibi düşünebilirsin.
 
teşekkür ederim. Peki microchip firmasının kendi orijinal Pic kodlama programı neydi?
 
IDE olarak MpLab 8.91 vardı en son, sonra MpLabX oldu,
XC derleyicileri var, XC8, XC16, XC32, XC32++.
Pickit lerde programlayıcıları. Birde real ice ve ICD ler var onlara gerek olmaz.
Bunlar direk Microchip firmasının.

MpLab IDE lerinin içinde CcsC nin derleyicilerini kullanma imkanıda var,
MpLabX e geçtiğinde onuda denersin.

Ayrıca CcsC Microchip in destekledi bir firmadır, ucundan azıcık ortak denebilir.
 

Forum istatistikleri

Konular
129,835
Mesajlar
930,600
Kullanıcılar
452,663
Son üye
Yılmaz Çetiner

Yeni konular

Çevrimiçi üyeler

Geri
Üst