Đọc đi đọc lại bài của bạn PHamThai Hoa về chuyển đổi dữ liệu trong PIC mà không thấy ai có ý kiến sáng suốt nào cả thành thử vấn đề bị mai một đi.
Nhờ các bác giúp đỡ cái này xem sao :
Tôi đang làm cái bộ theo dõi , đếm giờ bằng PIC ( Theo dõi cái máy xem nó chạy được bao nhiêu thời gian thì chết ).
- Xuất tối đa 10 kí tự lên trêm màn LCD .
và sẽ thể hiện kiểu như sau :
mỗi lần máy chạy một lần chân clock ngoài ( clock 0 ) nhận xung 1 hz và bắt đầu đếm lên để hiển thị lên LCD , bình thường LCD chỉ thị là 0s
khi đếm quá 5000 giây thì sẽ hiển thị là 5,001 giây . Khi đếm quá 5 triệu giây thì thể hiện là 5,000001 giây .
Việc chuyển đổi từ số nguyên sang kí tự đơn thuần tôi đã làm được . Nhưng cái dấu " , " tôi không biết làm sao để tự động chèn vào .
Bác nào có cao kiến xin giúp đỡ .
=== Làm thế này có thủ công không ?
if (giay>= 5000)
{ LCDwrite (1,16 , giatridemduoc); // hiển thị giá trị
LCDwrite (1,12, " ," ); // chèn dấu phẩy vào vị trí số hàng nghìn
giatridemduoc = giatridemduoc/1000 ; // để lấy giá trị hàng nghìn
LCDwrite (1,11, giatridemduoc );
- Tuy nhiên đã không hiện được dấu phảy vào dúng vị trí .
Chảng hạn : đếm được 5123 giây thì phải được 5,123 đẳng này nó hiện ra 55123
làm sao dịch chuyển nó một cách linh hoạt nhất mà không thủ công.
============================================
Nhờ các bác giúp đỡ cái này xem sao :
Tôi đang làm cái bộ theo dõi , đếm giờ bằng PIC ( Theo dõi cái máy xem nó chạy được bao nhiêu thời gian thì chết ).
- Xuất tối đa 10 kí tự lên trêm màn LCD .
và sẽ thể hiện kiểu như sau :
mỗi lần máy chạy một lần chân clock ngoài ( clock 0 ) nhận xung 1 hz và bắt đầu đếm lên để hiển thị lên LCD , bình thường LCD chỉ thị là 0s
khi đếm quá 5000 giây thì sẽ hiển thị là 5,001 giây . Khi đếm quá 5 triệu giây thì thể hiện là 5,000001 giây .
Việc chuyển đổi từ số nguyên sang kí tự đơn thuần tôi đã làm được . Nhưng cái dấu " , " tôi không biết làm sao để tự động chèn vào .
Bác nào có cao kiến xin giúp đỡ .
=== Làm thế này có thủ công không ?
if (giay>= 5000)
{ LCDwrite (1,16 , giatridemduoc); // hiển thị giá trị
LCDwrite (1,12, " ," ); // chèn dấu phẩy vào vị trí số hàng nghìn
giatridemduoc = giatridemduoc/1000 ; // để lấy giá trị hàng nghìn
LCDwrite (1,11, giatridemduoc );
- Tuy nhiên đã không hiện được dấu phảy vào dúng vị trí .
Chảng hạn : đếm được 5123 giây thì phải được 5,123 đẳng này nó hiện ra 55123
làm sao dịch chuyển nó một cách linh hoạt nhất mà không thủ công.
============================================

Comment