PDA

View Full Version : giup e doan code hien thi LCD voi


haneishun
26-07-2011, 01:38 AM
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