View Single Post
Old 16-10-2008, 03:24 PM   #1
bean984
Đệ tử 3 túi
 
Tham gia ngày: Dec 2007
Bài gửi: 51
:
giúp mình với!!!!
ai rành về counter xin chi mình cách thiết lập timer ở chế độ đếm?nếu có code thì tốt quá!!!
có phải cứ có 1 xung đếm thì timer sẽ ngắt 1 lần?
mình thử viết như thế này nhưng k thấy nó chạy j cả.
Code:
#include "16F877A.h" // PIC16F877A header file
#device 16F877A*=16 ADC=10
#include <defs_16F877A.h>
#fuses HS, NOWDT, PUT, NOPROTECT, NOLVP // for debug mode
#use delay(clock=8000000) // for 4Mhz crystal
#use fast_io(b)

int16 count0;
int8  b0;
///////////////////////////////////////////////////////////
#INT_TIMER0
TIMER0_ISR()
{
   ++count0;
   if (count0==100)
      {
        count0=0;
        b0=b0+1;// dich trai a 1bit
        //portd=170;
      }
   if (b0==2)
      {
        b0=0;
        count0=0;
        //HTGT0=1;
        portb=0;
        //portd=252;
        disable_interrupts(int_timer0);
      }
}
/////////////////////////////////////////////////////////////////////
void main(void)
{
   set_tris_a(255); // Chi co dau vao tuong tu
   set_tris_b(0);
   set_tris_d(0);
   portb=255;
   //portd=255;
   count0=b0=0;
   enable_interrupts(global);
   enable_interrupts(int_timer0);
   setup_TIMER_0(RTCC_EXT_L_TO_H );
   setup_COUNTERS(RTCC_EXT_L_TO_H,RTCC_DIV_2);
   set_TIMER0(1);
   while(true)
   {
      
   }
}
chương trình của mình định thử là nếu đếm đc 200 xung thì tắt hết led ở portB.nhưng khi thử k thấy có hiện tượng j cả.
bean984 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn