L
lgeorge123
Guest
Tôi sử dụng PIC16F84 để đo chiều rộng thời gian của truyền hình từ xa của 9 xung, nó là 1.7ms.
Các mạch là OK và chiều rộng trong thời gian được hiển thị.IR sản lượng thu được kết nối với pin b0.Nhưng sau khi mã đã được đo, pin b0 của 16f84 (ngắt ngoài) luôn luôn là thấp, vì vậy nó không thể kích hoạt nhiều hơn hai lần.Tôi chắc chắn các 16f84 là tốt, mã như sau:
# include <16f84.h>
# fuses XT, NOWDT, NOPROTECT
# use delay (clock = 4000000)
# include "lcd.c"
int thời gian, đếm, time1;
Int32 Data1;
# INT_EXT
int_isr ()
(
trong khi (đầu vào (! pin_b0));
set_rtcc (0);
trong khi (đầu vào (pin_b0));
thời gian = get_rtcc ();
count ;
if (count == 9)
(
lcd_putc ( '\ n');
printf (lcd_putc, "% LX", thời gian);
count = 0;
Data1 = 0;
thời gian = 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 (trên toàn cầu);
WHILE (1)
(
)
)
là nó proporties của 16f84 hoặc bất cứ điều gì khác???
Bất cứ bình luận là hoan nghênh!!!
Các mạch là OK và chiều rộng trong thời gian được hiển thị.IR sản lượng thu được kết nối với pin b0.Nhưng sau khi mã đã được đo, pin b0 của 16f84 (ngắt ngoài) luôn luôn là thấp, vì vậy nó không thể kích hoạt nhiều hơn hai lần.Tôi chắc chắn các 16f84 là tốt, mã như sau:
# include <16f84.h>
# fuses XT, NOWDT, NOPROTECT
# use delay (clock = 4000000)
# include "lcd.c"
int thời gian, đếm, time1;
Int32 Data1;
# INT_EXT
int_isr ()
(
trong khi (đầu vào (! pin_b0));
set_rtcc (0);
trong khi (đầu vào (pin_b0));
thời gian = get_rtcc ();
count ;
if (count == 9)
(
lcd_putc ( '\ n');
printf (lcd_putc, "% LX", thời gian);
count = 0;
Data1 = 0;
thời gian = 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 (trên toàn cầu);
WHILE (1)
(
)
)
là nó proporties của 16f84 hoặc bất cứ điều gì khác???
Bất cứ bình luận là hoan nghênh!!!