View Single Post
Old 20-07-2008, 08:26 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi bachelor View Post
Cám ơn gợi ý của namqn, sẽ nghiên cứu chèn các mã asm thích hợp để tối ưu hóa thời gian xử lý của chương trình.
Thêm một câu hỏi nữa :
1. Các xung làm nguồn ngắt ngoài có độ rộng (rỗng) 0,5 us đến 1 us. Không biết các ngắt ngoài có đáp ứng được không nhỉ (tôi chọn kích hoạt ngắt theo sườn lên). Mô phỏng trên proteus thì vẫn xử lý được, chưa thử thực tế
2. Hai xung (mà chương trình cần đo khoảng cách thời gian giữa chúng) không nằm cùng một kênh (một đường tín hiệu). Đây là lý do tôi không thể dùng timer như một counter mà phải dùng đến ngắt ngoài và sẽ phải dùng đến 2 ngắt ngoài cho 2 xung. 16f877a lại chỉ có một ngắt ngoài. Liệu có thể dùng một chân ngắt của PortB làm ngắt ngoài được không ? Lưu ý là độ rộng xung chỉ có từ 0,5 - 1 us , thằng ngắt ngoài thì còn khả dĩ nhưng liệu thằng ngắt cổng B có đáp ứng được không nhỉ ? Hay phải dùng đến PIC18 -> đắt
Hai vấn đề này có vẻ hơi lạc với chủ đề đề cập ban đầu nhưng lại là những câu hỏi mang tính thực tế Những ai đã từng có kinh nghiệm xử lý các chuỗi xung với các tham số tương tự bằng PIC16 or PIC18 hãy giúp tôi với nhé
Thanhks !
1. Tôi không rõ các ngắt ngoài có thể đáp ứng với các xung đó hay không. Nhưng nếu các xung không đủ rộng thì tôi chỉ cần kéo dài các xung đó ra. Tôi ít khi mô phỏng mà chỉ dùng mạch thật để thử nghiệm cho những bài toán loại này.

2. Một cổng OR 2 ngõ vào đơn giản sẽ giúp tôi dồn 2 tín hiệu đó vào một chân ngắt ngoài. Không nhất thiết phải dùng vi mạch logic, mà vài linh kiện rời vẫn có thể thực hiện chức năng này.

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
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn