View Single Post
Old 31-12-2008, 11:10 AM   #17
nms48
Đệ tử 1 túi
 
Tham gia ngày: Dec 2008
Bài gửi: 11
:
xin lỗi các bạn và đặc biệt là anh namqn. mình sơ ý wa. cám ơn anh đã giúp em.
em post lên diễn đàn cái code cũ mà kô để ý.xin chân thành xin lỗi về sai sót này .

Code:
#include <16f877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

// ngat ngoai
#int_EXT
void EXT_isr()
{
   set_timer0(7);   //4ms tran
}

//ngat timer0
#int_timer0
void timer0_isr()
{

    set_timer1(40534);
    output_high(pin_D0);
    delay_us(10);
    output_low(pin_D0);

}
// ngat timer1
#int_timer1
void timer1_isr()
{
     output_high(pin_D1);
     delay_us(10);
     output_low(pin_D1);

}

// chuong trinh chinh
void main()
{  
   enable_interrupts(INT_EXT);
   ext_int_edge(L_TO_H);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16);
   enable_interrupts(int_timer0);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
   enable_interrupts(int_timer1);
   enable_interrupts(global);


while(true)
{

   output_high(pin_d2);
   delay_ms(10);
   output_low(pin_d2);
   delay_ms(10);
}
}
chuong trình chạy được timer0 nhưng khỏang 0.8ms là xuất xung rồi trong khi đó em cần timer0 chờ ngắt ngoài rồi mới được phép ngắt. còn timer1 thì kô chạy(tại vì kô thấy xuất xung ra D1).
mong anh giup em lần này nữa.thân chào anh

thay đổi nội dung bởi: namqn, 31-12-2008 lúc 05:06 PM.
nms48 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn