![]() |
![]() |
#11 |
Đệ 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. |
![]() |
![]() |
|
|