yürüyen led uygulaması devresinde sorun

Katılım
29 Eki 2008
Mesajlar
12
Puanları
1
Yaş
39
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
int8 i,led;
void main ()
{
setup_psp(psp_disabled);
setup_timer_1(t1_disabled);
setup_timer_2(t2_disabled,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);

set_tris_b(0x00);
output_b(0x00);
while(1)
{
led=1;
for(i=0;i<=7;i++)
output_b(led);
delay_ms(1000);
led=led<<1;

}
led=0x80;
output_b(led);
delay_ms(1000);
for(i=0;i<=6;i++)
{
led=led>>1;
delay_ms(1000);
output_b(led);

}
}
Program Serdar Çiçek'in CCS C programlama kitabından alınmıştır.
Bu programı Proteus ta denedim fakat çalışmadı. Devrede ledlerin RB0 çıkışındaki ledden başlanarak RB7 çıkışındaki lede kadar yanıp geriye dönüp aynen devam etmesi gerekiyor. Bu işlem while(1) ile sonsuz döngü yapılmıştır. Fakat benzetim programında devrede çıkış gözlemlenmiyor. isis dokümanını ekleyemedim. yardımcı olursanız ekleyebilirim.

İlgili arkadaşlardan yardım bekliyorum. Teşekkür ederim...
 
#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
int8 i,led;
void main ()
{
setup_psp(psp_disabled);
setup_timer_1(t1_disabled);
setup_timer_2(t2_disabled,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);

set_tris_b(0x00);
output_b(0x00);
while(1)
{
led=1;
for(i=0;i<=7;i++)
output_b(led);
delay_ms(1000);
led=led<<1;

}
led=0x80;
output_b(led);
delay_ms(1000);
for(i=0;i<=6;i++)
{
led=led>>1;
delay_ms(1000);
output_b(led);

}
}
Program Serdar Çiçek'in CCS C programlama kitabından alınmıştır.
Bu programı Proteus ta denedim fakat çalışmadı. Devrede ledlerin RB0 çıkışındaki ledden başlanarak RB7 çıkışındaki lede kadar yanıp geriye dönüp aynen devam etmesi gerekiyor. Bu işlem while(1) ile sonsuz döngü yapılmıştır. Fakat benzetim programında devrede çıkış gözlemlenmiyor. isis dokümanını ekleyemedim. yardımcı olursanız ekleyebilirim.

İlgili arkadaşlardan yardım bekliyorum. Teşekkür ederim...

sn mustafa engin;
birinci for komutundan sonra ( } ) ve programsonuna ( } ) parentezleri koyarak yeniden derleme yaptıgında oluşan hex dosyasını pic e tanıtırsan simülasyon un çalıştıgını izleyebilirsin.... düzeltilmiş source dosyası aşagıdadır...
//

#include <16f877.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(b)
int8 i,led;
void main ()
{
setup_psp(psp_disabled);
setup_timer_1(t1_disabled);
setup_timer_2(t2_disabled,0,1);
setup_adc_ports(no_analogs);
setup_adc(adc_off);
setup_ccp1(ccp_off);
setup_ccp2(ccp_off);

set_tris_b(0x00);
output_b(0x00);
while(1)
{
led=1;
for(i=0;i<=7;i++)
{ // programda eksik
output_b(led);
delay_ms(1000);
led=led<<1;

}
led=0x80;
output_b(led);
delay_ms(1000);
for(i=0;i<=6;i++)
{
led=led>>1;
delay_ms(1000);
output_b(led);

}
}
} // programda eksik


//
 

Forum istatistikleri

Konular
128,452
Mesajlar
917,695
Kullanıcılar
450,392
Son üye
slayersdu

Yeni konular

Geri
Üst