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.