![]() |
|
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 |
Đệ tử 4 túi
|
void tinhtoan_hienthi(int16 x) :Hàm này tách các số của x ra thành từng số(hàng đơn vị ,chục trăm .Vì LCD của bạn chỉ xuất ra dữ liệu từng số một theo bảng mã riêng của nó (nên phải cộng thêm 0x30 phía sau mỗi phép tính để ra đúng cái số cần hiển thị)
void Timer0_isr():cập nhật giá trị biến count ,rồi từ count suy ra số vòng. Bạn hỏi không nhiều !Với cách post bài rõ ràng sẽ luôn có người trả lời ![]()
__________________
My blog: http://autumnneverreturn.blogspot.com/ Đối thủ khó chiến thắng nhất là bản thân !!! |
![]() |
![]() |
![]() |
#2 |
Đệ tử 1 túi
Tham gia ngày: Apr 2011
Nơi Cư Ngụ: Quảng Nam
Bài gửi: 13
: |
Em cảm ơn 2 a nhiều! Nhưng mà 2 a chưa có hiểu ý e hỏi, nói đúng hơn là e cũng ko biết nói sao cho mấy a hiểu nữa ( e tệ về khoảng diễn đạt ý này lắm). Ý của em đại loại là như thế này:
ví dụ như trong đoạn code này: Code:
void Timer1_isr() { // Ham duoc goi khi Timer1 tran (65535->0) // //Timer1 dinh thoi 1s // if(--int_count1==0) //Em chưa hiểu cái hàm timer { //này nó như thế nào int_count1 = INTS_PER_SECOND1; so_vong = (count*255 + get_timer0())/400; // count = 0; set_timer0(0); } Còn những lệnh tiếp theo em chưa hiểu. Mong các ace chỉ rõ rõ giùm. vd như sao lại phải gán int_count1=INTS_PER_SECOND1 |
![]() |
![]() |
![]() |
#3 | |
Đệ tử 5 túi
Tham gia ngày: Dec 2008
Nơi Cư Ngụ: Hà Nội
Bài gửi: 91
: |
Trích:
count là số lần ngắt của timer0 => count*255+gia tri hien thoi cua timer0 suy ra so xung encoder ma no nhan duoc, phai chia cho 400 la so xung trong 1 vong=> so vong quay |
|
![]() |
![]() |
![]() |
|
|