mesenkar
Üye
- Katılım
- 2 Mar 2012
- Mesajlar
- 85
- Puanları
- 1
arkadaslar simdi calıstıgım tukkana bi led tabela yaptım maksat pic programlamayı ogrenmek kendi kendime biseyler yapmak ama programı bi turlu dogru duzgun yazamadım
programın soyle olması lazım duzgunde oluyor ama 2. while dongusune girince cıkamıyor kullandıgım pic 16f628a a portunun mclr pinini atlayıp 5 harf surecek sekilde yani 5 harfe animasyon yaptırmak istiyorum b portunun tum cıkıslarıda elektrik yazısına yani 8 harfe surekli karasimsek yapacak zaten programda karasimsege girince a portundaki uysal 5 harfi birdaha animasyon yapmıyor kanımca bu iş icin bana cift işelemi aynı anda pice yaptırmam gerekiyor ama bi turlu beceremedim program burda arkadaslar yardımlarınızı bekliyorum
programın soyle olması lazım duzgunde oluyor ama 2. while dongusune girince cıkamıyor kullandıgım pic 16f628a a portunun mclr pinini atlayıp 5 harf surecek sekilde yani 5 harfe animasyon yaptırmak istiyorum b portunun tum cıkıslarıda elektrik yazısına yani 8 harfe surekli karasimsek yapacak zaten programda karasimsege girince a portundaki uysal 5 harfi birdaha animasyon yapmıyor kanımca bu iş icin bana cift işelemi aynı anda pice yaptırmam gerekiyor ama bi turlu beceremedim program burda arkadaslar yardımlarınızı bekliyorum
Kod:
#include "C:\Users\Windows 7\Desktop\Yeni klasör (2)\uysal.h"
int i,led;
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);
setup_oscillator(4000000);
// TODO: USER CODE!!
while(1)
{
set_tris_a(0x00);
set_tris_b(0x00);
output_b(0x00);
output_a(0x00);
for(i=1;i<5;i++)// çiftli teoogle döngüsü
{
delay_ms(300);
output_toggle(pin_a3);
output_toggle(pin_a6);
delay_ms(300);
output_toggle(pin_a2);
output_toggle(pin_a7);
delay_ms(300);
output_toggle(pin_a1);
output_toggle(pin_a0);
delay_ms(300);
}
for(i=1; i<8; i++)///------
{
output_a(0b11110111);
delay_ms(1000);
}///------------------------------
for(i=1; i<10; i++)// yanıp sönme döngüsü
{
output_a(0b11110111);
delay_ms(500);
output_a(0b00000000);
delay_ms(500);
}
for(i=1; i<10; i++)// ilk5 ve son 5li grup flaşör döngüsü
{
output_a(0b00000000);
delay_ms(200);
output_a(0b00101111);
delay_ms(200);
}
output_b(0x00);
output_a(0x00);
led=1;
for(i=0;i<=7;i++)// sağa kayma döngüsü1
{output_b(led);
led=led<<1;
delay_ms(150);
}
output_b(0x00);
output_a(0x00);
led=1;
for(i=0;i<2;i++)// sağa kayma döngüsü1
{output_a(led);
led=led<<1;
delay_ms(150);
}
output_a(0x00);
led=1;
for(i=0;i<=7;i++)// sağa kayma döngüsü2
{output_a(led);
led=led<<1;
delay_ms(500);
}
output_a(0x00);//sıfırla
led=1;
for(i=0;i<2;i++)// sağa kayma döngüsü2
{output_a(led);
led=led<<1;
delay_ms(500);
}
for(i=1; i<10; i++)//tek tek flip flop döngüsü
{
output_a(0b10100101);
delay_ms(200);
output_a(0b0101001);
delay_ms(200);
}
output_a(0x00);//sıfırla
while(1)
{
led=1; //led değişkeni değeri 1 oluyor
for(i=0;i<=7;i++) // for döngüsü oluşturuluyor
{
output_b(led); // led değişkeni değeri B portuna gönder
led=led<<1; // led değişkeni değerini 1 bit sola kaydır
delay_ms(100); // 100 msn'lik gecikme veriliyor
}
led=0x80; //led değişkenine değer yükleniyor
output_b(led); //B portuna 0b10000000 bilgisi gönderiliyor
delay_ms(100); // 100 msn'lik gecikme veriliyor
for(i=0;i<=6;i++) // for döngüsü oluşturuluyor
{
led=led>>1; // led değişkeni değerini 1 bit sağa kaydır
output_b(led); // led değişkeni değeri B portuna gönder
delay_ms(100); // 100 msn'lik gecikme veriliyor
}
}
}
}