24-02-2012, 04:05 AM | #1 |
Nhập môn đệ tử
Tham gia ngày: Feb 2012
Bài gửi: 3
: |
Nháy led RB0 Timer1
E viết đoạn code, nhưng nó không chạy theo ý mình được.
Giờ e muốn cho delay =1s thì làm sao ạ? CODE: #include <16F877A.h> #fuses NOWDT,PUT,XT,NOPROTECT #use delay(clock=4000000) #byte PORTB = 0x00 int16 count; int1 led; //Chuong trinh ngat TMR0 #int_timer1 void interrupt_timer1() { set_timer1(3035); ++count; if(count == 3500) // { count=0; led=~led; if (led==1)output_high(pin_B0); if (led==0)output_low(pin_B0); } } //Chuong trinh chinh void main(void) { set_tris_b(0); set_timer1(3035); setup_timer_1(T1_INTERNAL&T1_DIV_BY_8); enable_interrupts(int_timer1); enable_interrupts(global); led=1; while (true){ interrupt_timer1(); } } E mới học nên cũng chẳng hiểu là con PIC nó sẽ đọc lệnh theo thứ tự nào, bác nào chỉ rõ giúp e mới được không ạ. Một điều nữa là: e thay đổi set_timer1 để căn 1s mà ko thấy tốc độ nháy thay đổi gì, nếu muốn thay đổi tốc độ đèn thì lại phải thay đổi biến count ????? Cảm ơn mấy bác nhiều, ngồi cả ngày mà ko xong... Oải quá |
|
|