View Single Post
Old 21-08-2008, 12:52 AM   #62
phamminhtuan
Super Moderator
 
phamminhtuan's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 150
:
Trích:
Nguyên văn bởi picpen View Post
có ai biết thì giúp mình giải quyết vấn đề : Hiển thị giá trị số thực lên LCD và led 7 thanh với *********** thank ***********
Bạn có thể sử dụng như sau cho LCD, dùng thư viện lcd.c của CCS luôn, nếu cần xuất cho led 7 thanh hay cái gì đó thì bạn viết lại 1 hàm giống như hàm lcd_putc() của thư viện này cũng được.
PHP Code:
float fvar 1.2345;
printf(lcd_putc"Float: %f"fvar); 
Nếu muốn in ra LED 7 thanh thì bạn có thể viết 1 hàm chuyển đổi ascii sang mã 7 thanh lưu trong 1 vùng RAM, tham số truyền vào là kí tự ascii, chương trình của bạn sẽ hiển thị vùng RAM đó ra LED 7 thanh, hàm này viết cấu trúc giống như lcd_putc là ok
Hàm lcd_putc như thế này
PHP Code:
void lcd_putcchar c) {
   switch (
c) {
     case 
'\f'   lcd_send_byte(0,1);
                   
delay_ms(2);
                                           break;
     case 
'\n'   lcd_gotoxy(1,2);        break;
     case 
'\b'   lcd_send_byte(0,0x10);  break;
     default     : 
lcd_send_byte(1,c);     break;
   }

có thể sửa lại giống thế này
PHP Code:
unsigned char ptr 0;
unsigned char buffer[10]; //vùng RAM chứa mã LED 7 đoạn để xuất ra, ở đây là 10 LED
void led7segchar c) {
    
unsigned num;
    
num 0x30;
    
buffer[ptr] = table_led7doan[num];
    
ptr++;
    if(
ptr>=10ptr 0;
}
//với table_led7doan[] là bảng const chứa mã 7 đoạn từ 0-9
//Bạn muốn in từ vị trí nào thì cho ptr bằng giá trị đó


//Bạn sử dụng hàm printf như sau
printf(led7seg"Float: %f",fvar);
//đảm bảo chạy 100% 
phamminhtuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn