View Single Post
Old 01-07-2008, 05:09 PM   #36
kinhaxac
Đệ tử 1 túi
 
Tham gia ngày: Jun 2008
Bài gửi: 18
:
các bác cho em hỏi về counter của con 16F877A :
em chưa hiểu được lệnh này

setup_COUNTERS (rtcc_state, ps_state);

rtcc_state là một trong những constant sau:

RTCC_INTERNAL // tham số này có nghĩa j ?? em tưởng nó chỉ lấy xung từ chân RA4/TOCK1
RTCC_EXT_L_TO_H //
RTCC_EXT_H_TO_L //

ps_state là một trong những constant sau:

RTCC_DIV_2 // chọn cái tỉ số chia này có nghĩa j , có fai cứ 2 xung thì nó tăng bộ đếm lên 1
RTCC_DIV_4
RTCC_DIV_8
RTCC_DIV_16
RTCC_DIV_32
RTCC_DIV_64
RTCC_DIV_128


em viết một chương trình cho timer1 mà nó ko chạy , em sửa nó từ timer0 (đã chạy)

#include <16f877a.h>
#include <def_877a.h>
#fuses NOWDT ,NOPUT ,NOPROTECT ,NODEBUG,NOBROWNOUT,NOLVP,HS
#use delay(clock=20000000)
int16 count;

#int_timer1
void interrupt_timer1()
{
set_timer1(0);
++count;
if(count==20)
{
count=0;
PORTC=~PORTC;
}
}
void main()
{
TRISC=0x00;
PORTC=0x55;
enable_interrupts(int_timer1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
enable_interrupts(global);
set_timer1(0);
// TODO: USER CODE!!
while(true){}
}

các bác cho ý kiến

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