![]() |
![]() |
#11 |
Đệ tử 9 túi
|
Ngắt Timer0
Đây là chương trình dùng ngắt Timer0 định thì 1s.
Đầu tiên led ở chân RB0 sáng, sau 1s sẽ dịch sang trái, nghĩa là led 1 trên chân RB1 sáng , lần lượt như vậy cho các led trên portB và lặp lại mãi mãi. Code:
#include <16F877A.h> #fuses NOWDT,PUT,XT,NOPROTECT #use delay(clock=4000000) #byte PORTB = 0x06 int16 count; int8 a; //Chuong trinh ngat TMR0 #int_timer0 void interrupt_timer0() { set_timer0(6); ++count; if(count == 2000) // 2000*500us = 500000us = 1s { count=0; rotate_left(&a,1); } } //Chuong trinh chinh void main(void) { set_tris_b(0); enable_interrupts(int_timer0); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2); enable_interrupts(global); set_timer0(6);// T_dinhthi = 2*(256 - 6)*1us = 500us a = 0x01; while(true) { PORTB = a; } }
__________________
Ngày mai bắt đầu từ ngày hôm nay Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này: http://www.picvietnam.com/forum//showthread.php?t=1263 thay đổi nội dung bởi: nhh, 22-09-2007 lúc 10:37 AM. Lý do: Update |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
TUT về USART trong PIC16F877A | mafd_47a | MPASM | 16 | 19-02-2025 05:32 AM |
TUT ve I2C ( pic16f877a ) | mafd_47a | MPASM | 28 | 28-01-2025 10:45 PM |
Lập nhóm PIC16F877A | nhh | Cơ bản về vi điều khiển và PIC | 285 | 08-03-2017 11:08 PM |
Bộ so sánh và PWM cho PIC16F877A | anhquangngai | Cơ bản về vi điều khiển và PIC | 24 | 08-09-2012 09:00 AM |
Pic16f877a TỪ DỄ TỚi KhÓ | ntc | Cơ bản về vi điều khiển và PIC | 373 | 23-05-2009 10:24 PM |