![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| 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 |
|
|
|
|
#1 |
|
Trưởng lão PIC bang
|
PIC đang thực hiện đúng những gì bạn viết. Khi có ngắt Timer0, nó xuất 0xFF ra port B. Khi trở về từ ngắt, lệnh xuất 0x00 ra port B được thực hiện.
Thời gian PIC xử lý ngắt Timer0 rất ngắn, do đó bạn sẽ rất khó phát hiện giá trị 0xFF được xuất ra port B (dựa vào độ sáng của các LED nối vào port B). Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|
|
|
#2 | |
|
Đệ tử 1 túi
Tham gia ngày: Feb 2008
Bài gửi: 13
: |
Trích:
Code:
#include <16f877a.h>
#fuses nowdt,noprotect,put,xt
#use delay(clock=4000000)
#use fast_io(b)
#byte portb=0x06
int8 count=0;
#int_timer0
void ngat_tm0(void)
{
count++;
if(count==5)
{
count=0;
portb=0xff;
}
}
void main()
{
set_tris_b(0);
enable_interrupts(global);
enable_interrupts(int_timer0);
set_timer0(250);
setup_timer_0(rtcc_internal|rtcc_div_256);
while(1)
{
portb=0x00;
}
}
thay đổi nội dung bởi: namqn, 12-10-2008 lúc 09:49 PM. |
|
|
|
|
|
|
#3 |
|
Trưởng lão PIC bang
|
Chương trình của bạn vẫn chạy đúng theo những gì bạn viết. Nó vẫn bật các LED ở port B sau một khoảng thời gian chờ, nhưng thời gian LED được bật rất ngắn (vì khi trở về từ ngắt thì lệnh portB = 0x00 ở vòng lặp while (1) của bạn lại xóa port B).
Bạn chưa hiểu được cách thức chương trình của bạn đang chạy. Bạn thử sửa như sau nhé: - Bỏ lệnh portb = 0x00 ở vòng lặp while (1) - Trong chương trình xử lý ngắt, thay lệnh portb = 0xFF thành portb = portb ^ 0xFF; Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|
|
|
#4 | |
|
Đệ tử 1 túi
Tham gia ngày: Feb 2008
Bài gửi: 13
: |
Trích:
|
|
|
|
|
![]() |
|
|