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,291
Mesajlar
916,473
Kullanıcılar
450,118
Son üye
TheTwize

Yeni konular

Geri
Üst