PDA

View Full Version : các anh chỉ giúp em với ý nghĩa câu lệnh em không hieur cái ngắt này cho lắm


vanminh_ictu
21-05-2013, 04:26 PM
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8);
set_timer0(5);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
output_B(0b11111111);
output_D(0b11111111);
while(true)
{
;
}
}

vanchang1987
23-05-2013, 03:04 AM
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8);
// timer0 sử dụng clock nội và clock này được chia 8
// vay clock cua timer0 se la clock noi/8 tức là có 8 chu kỳ máy thì timer0 mới tăng 1 đơn vị.
set_timer0(5);
// set gia tri ban đầu cho timer0
enable_interrupts(INT_RTCC);
// cho phép ngắt timer0
enable_interrupts(GLOBAL);
// cho phép ngắt toàn cục
output_B(0b11111111);
output_D(0b11111111);
while(true)
{
;
}
}

vanminh_ictu
23-05-2013, 04:51 AM
em cảm ơn anh nhiều ạ

buivantuyen89th
24-05-2013, 05:16 PM
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8);
set_timer0(5);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
output_B(0b11111111);
output_D(0b11111111);
while(true)
{
;
}
}

Lệnh đầu tiên là khai báo ngắt timer0 với tần số đếm = tần số thạch anh chia 8.
lệnh thư 2 cai đặt bộ timer0 đếm từ 5 ( đếm đến 255).
lệnh 3 không cần.
lệnh 4 là khai báo ngắt toàn bộ.(bắt buộc).
lệnh còn lại chắc bạn đã hiểu. bạn nên tìm tài liệu cơ bản về lập trình C cho PIC. đọc trong đấy sẽ hiểu hơn.
cố lên.hi.
theo mình ngĩ là vậy. nếu các bạn thấy có vấn đề gì thì chỉ bảo thêm.hix.