![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Nov 2009
Bài gửi: 2
: |
Timer1 cần giúp
Tình hình là mình đang dùng Pic 16f887 để điều khiển PID cho động cơ. Mình dùng kết hợp Counter1 và ngắt Onchange B0 để đếm xung và xác định chiều quay cho động cơ. cứ sau 5ms mình cập nhật xung 1 lần. Mỗi lần cập nhật xung mình phải reset lại giá trị counter = 0( tại vì động cơ có cả quay thuận va quay nghich nên buộc phải reset counter); ( TMR1L = TRM1H =0); Vấn đề cũng chính chỗ reset này làm cho chương trình mình đọc sai xung khinh khủng. Mình đã thử viết chương trình k reset counter ( nhưng lại k xác định được chiều quay) thì lại đọc đúng. Không lẽ lệnh reset counter lại tốn nhiều thời gian vậy sao?
reset_counter(){ TMR1ON = 0; TMR1L = TRM1H = 0; TMR10N = 1; } PS mình viết băng Hitech C |
![]() |
![]() |
|
|