L
lgeorge123
Guest
Jaz raba PIC16F84 za merjenje časa, širina TV oddaljenih od 9. impulza, je 1.7ms.
Vezje je OK in se prikaže čas širine.IR sprejemnik je priključen na izhod pin B0.Toda, ko se meri kodo, zatič b0 of 16f84 (zunanja prekinitev) je vedno nizka, zato je ni mogoče sprožiti več kot dvakrat.Prepričan sem, da 16f84 je dobro, koda je, kot sledi:
# include <16f84.h>
# varovalke XT, NOWDT, NOPROTECT
# uporabo odlašanja (clock = 4000000)
# include "lcd.c"
int čas, štetje, time1;
int32 data1;
# INT_EXT
int_isr ()
(
while (! input (pin_b0));
set_rtcc (0);
while (input (pin_b0));
time = get_rtcc ();
count ;
if (count == 9)
(
lcd_putc ( '\ n');
printf (lcd_putc, "% LX", čas);
count = 0;
data1 = 0;
time = 0;
)
)
main ()
(
count = 0;
data1 = 0;
lcd_init ();
printf (lcd_putc, "hello");
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_2);
enable_interrupts (int_ext);
enable_interrupts (global);
While (1)
(
)
)
je proporties za 16f84 ali kaj drugega??
Vsak komentar je dobrodošel!
Vezje je OK in se prikaže čas širine.IR sprejemnik je priključen na izhod pin B0.Toda, ko se meri kodo, zatič b0 of 16f84 (zunanja prekinitev) je vedno nizka, zato je ni mogoče sprožiti več kot dvakrat.Prepričan sem, da 16f84 je dobro, koda je, kot sledi:
# include <16f84.h>
# varovalke XT, NOWDT, NOPROTECT
# uporabo odlašanja (clock = 4000000)
# include "lcd.c"
int čas, štetje, time1;
int32 data1;
# INT_EXT
int_isr ()
(
while (! input (pin_b0));
set_rtcc (0);
while (input (pin_b0));
time = get_rtcc ();
count ;
if (count == 9)
(
lcd_putc ( '\ n');
printf (lcd_putc, "% LX", čas);
count = 0;
data1 = 0;
time = 0;
)
)
main ()
(
count = 0;
data1 = 0;
lcd_init ();
printf (lcd_putc, "hello");
setup_timer_0 (RTCC_INTERNAL | RTCC_DIV_2);
enable_interrupts (int_ext);
enable_interrupts (global);
While (1)
(
)
)
je proporties za 16f84 ali kaj drugega??
Vsak komentar je dobrodošel!