![]() |
Nhờ các anh chị giải thích giúp em đoạn code
Em tìm được đoạn code này ( đọc encode và tính toán hiển thị số vòng động cơ lên LCD 16x2) nhưng còn vài chỗ chưa hiểu vì ngôn ngữ C em chưa bik nhiều lắm, mong anh chị giải thích giùm em. Em cũng mới tìm hiểu về Pic.
Code:
#include <16f877a.h> với lại các lệnh tách số đó em nên hiểu như thế nào ? Em hỏi hơi nhiều nhỉ? hihi. nhưng mà nghĩ ko ra nên đành lên đây hỏi vậy! em cảm ơn trước ạh! |
Trích:
Còn lệnch tách số, mỗi đơn vị(hàng nghìn, trăm...) phải cộng thêm giá trị 0x30 để giải mã hiển thị trên LCD. Không bit có giúp gì được cho bạn không... |
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 :) |
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() 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 |
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 |
Download tài liệu nghiên cuws khoa học nghành cơ khí
Tên bài báo: Nghiên cứu khoa học nghành cơ khí
Tác giả: Jackson Chủ đề bài báo: Động lực đề tài đang nghiên cứu: Cơ cấu tăng tôc ô tô Email gửi về;Hooconghai@gmail.com |
1 Attachment(s)
Cảm ơn a tanbka và các a. Bây giờ thì em đã hiểu rồi! các ace nhiệt tình quá! nhưng mà khi dịch đoạn code sang file hex thì nó báo lỗi "undefined identifier--delay_ms","undefined identifier--delay_us" trên file <lcd_lib_4bits.c> như hình dưới . mấy a chỉ em cách khắc phục với!
http://cB1.upanh.com/21.689.28646020.s6g0/untitled.jpg |
Trích:
#use delay(clock=20000000) |
1 Attachment(s)
Trích:
nó cứ báo lỗi trên file <lcd_lib_4bit.c> í! file đó em down trên 4rum này! tìm lỗi giúp giùm em ạh! Em đính kèm file lcd_lib_4bit lên cho mấy a kiểm tra giúp có phải lỗi nằm trong file đó ko nha! Còn đoạn code thì em dịch đoạn code trên #1 í! |
Đổi
#use delay(clock=20000000) lên truớc #include <lcd_lib_4bit.c> |
Bac caremlanh noi dung day, ban thu xem
|
oh! đc rồi! thanks caremlanh với tanbka nhìu nha! hihi!
Mai nạp dzô mạch test thử coi! |
Hì hì thông thừong nạp vô lần đầu không bao giờ chạy!phải sửa nhiều lần
|
Trích:
|
đúng thiệt! chưa test được. đấu encoder vào mà quên mắc thêm cái trở hạn dòng nên cái encoder đi lun! cái miếng tròn nó bị chảy ngay chỗ cặp mắt thu phát! hic!
|
Múi giờ GMT. Hiện tại là 01:49 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam