PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC Việt Nam - Chuyên nghiệp (http://www.picvietnam.com/forum/forumdisplay.php?f=35)
-   -   giup e doan code hien thi LCD voi (http://www.picvietnam.com/forum/showthread.php?t=10299)

haneishun 26-07-2011 01:38 AM

giup e doan code hien thi LCD voi
 
void lcd_put_int(int16 num){
int16 temp;
unsigned char i = 0, c[5];????
temp = num;
if (temp != 0) {
while(temp){
c[i++] = temp%10; ????
temp /= 10;??????
}
while(i) lcd_putc(c[--i] + '0');??????
}
else lcd_putc('0');??????
}
va lam the nao de hien thi so thap phan 123,4???
ai co the giai thick tung cho em danh dau ???? dc ko a.em moi hoc len chua hieu ro cho nay lam

pstin 26-07-2011 09:47 PM

Hì, code thì phải nhờ các cao thủ giải thích mới được!!!!!!!!.
còn hiển thị số thập phân thì tui hay:
x=123.4;
x1=x*10;
y1=x1/100;
y2=x1%100;
lcd_gotoxy(1,1);
lcd_putc(y1/10+0x30);
lcd_gotoxy(2,1);
lcd_putc(y1%10+0x30);
lcd_gotoxy(3,1);
lcd_putc(y2/10+0x30);
lcd_gotoxy(4,1);
lcd_putc(".");
lcd_gotoxy(5,1);
lcd_putc(y2%10+0x30);

tanbka 26-07-2011 11:03 PM

Mấy chỗ bạn cần như sau, mình có sửa 1 chút nhé:
void lcd_put_int(int16 num){
int16 temp;
unsigned char i = 0, c[5];???? khai báo mảng 5 phần tử để chứa 5 chữ số của biến num
temp = num;
if (temp != 0) {
while(temp){
c[i] = temp%10; ???? chia temp cho 10 lấy phần dư, suy ra được các chữ số lần lượt từ hàng đơn vị, hàng chục....c[0]: chữ số hàng đơn vị, c[1] hàng chục...
temp /= 10;?????? sau đó chia temp cho 10 lấy phần nguyên để tính chữ số ở hàng tiếp theo.
i++;
}
while(i) lcd_putc(c[--i] + '0');???? Hiển thị lần lượt từng chữ số lên LCD, phải cộng với '0' để đưa các chữ số hiển thị đúng mã ASCII
}
else lcd_putc('0');?????? Hiển thị số 0
}

haneishun 27-07-2011 12:16 AM

^^ cám ơn các anh nhiều nhé.em đang làm bài tập lớn hới khó hỉu chỗ đó .h thì ok rồi ^^

haneishun 27-07-2011 12:25 AM

thế cho em hỏi chỗ này là while(i) lcd_putc(c[--i] + '0'); nếu em sửa lại while(i) lcd_putc(c[++i] + '0'); thí nó hiện lên rất linh tinh tai sao ko thể ++ i mà lại là --i
va i ++ khac ++i va i-- khác --i ở chỗ nào các anh??? e ko hiu tại sao ??

haneishun 27-07-2011 02:20 AM

anh oi xem lai phan thap phan cho e sao em cho hien thi lai ra so 020.6, em thay hien thi chua dung .anh chinh lai cho e voi


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