PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 20-06-2012, 06:55 PM   #1
boy_legend
Đệ tử 1 túi
 
Tham gia ngày: Mar 2012
Bài gửi: 19
:
Question Xin hỏi về cờ ngắt trong interrupt

Mình có 3 đoạn code CCS cho PIC6F877A trong ,ví dụ sau:
Đoạn code thứ 1:
#int_RB
void ngat_RB()
{
if((RBIF)&&(RBIE))
{
//Kiem tra sw1
{
if(RB4==0)
{
led=0b00000001; //led1 sang
speed=250;
}
}
//Kiem tra sw2
.
.
.
//Kiem tra sw4

}
RBIF=0; //Xoa co ngat RB
}
}

Đoạn code thứ 2:
#int_ext
void ngat_RB0()
{
int i;
if(i<9)
{
portd=digital[i];
++i;
}
if(i==9)
{
i=0;
}
}
Đoạn code thứ 3:
#INT_RB
void RB_handler() {
int8 i, digit;
char key;

key = kbd_getc();
if (digit_key_pressed(key)) {
digit = char_to_digit(key);
for (i = 0; i < 200; i++) // repeat the display for human eyes
display(digit);
}
}

Câu hỏi của mình là:
1. Ở ví dụ 1 và 3, code 1 thì mình phải kiểm tra cờ ngắt RB, và kết thúc phải set lại cờ ngắt của B, nhưng trong đoạn code 3 mình lại ko thấy thực hiện điều này.Và ở đoạn code 1 nếu mình ko set và ko xóa cờ ngắt ( tức xóa mấy cái kiểm tra cờ ngắt , set cờ ngắt đi) thì trong giả lập thấy vẫn chạy bình thường.Không biết là có cần thiết phải set và xóa cờ ngắt ko hay CCS đã làm điều này cho mình rồi?
2.Trong đoạn code 2 mình muốn sửa thành RB0 nhấn thì tăng i, RB1 nhấn thì giảm i,nhưng khi dùng #int_ext thì chỉ dùng được RB0 , không dùng được RB1. Còn nếu dùng như #int_RB thì chỉ dùng RB4-RB7, nhưng bất cứ thay đổi nào của 4 port này đều làm chạy ngắt, thành ra kết quả mình nhất 1 cái là nó tăng, thả button ra nó tăng tiếp.Có cách nào xử lí được chỗ này ko ( mình thử dùng cái ext_int_edge mà ko thấy có tác dụng).
Cảm ơn
boy_legend vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 07:26 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam