Thông báo

Collapse
No announcement yet.

Hiển thị lên LCD sử dụng dấu phảy động

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Hiển thị lên LCD sử dụng dấu phảy động

    Mình mới làm với AT8 hiển thị giá trị đo lên LCD có cả dấu phảy đằng sau nhưng chương trình mình viết rất nông dân. Mấy ngày ngồi nghiền ngẫm sử dụng dấu phảy động cho đơn giản nhưng cuối cùng vẫn chưa tìm ra chân lý. Đây là mạch và chương trình mình viết mong các bác hoàn thiện giúp mình với!!! Tín hiệu từ ADC sau nhân với một hệ số nào đó rồi hiển thị giá trị này lên LCD sử dụng dấu phảy động>>> Nếu có thêm phần truyền dữ liệu lên máy tính thì càng tốt!!!
    http://www.mediafire.com/?btqk1g4z2m1

  • #2
    Cái này đơn giản nhất là dùng đến thư viện stdio, hàm sprintf(), có thể tham khảo code example cho ds18B20 để thấy hiển thị dấu phảy động trên LCD như thế nào.


    #include <stdio.h>
    char lcd_buffer[33];
    .
    .
    .
    main()
    {

    .
    .
    .
    sprintf(lcd_buffer,"t%u=%+.3f\xdfC",j++,ds18b20_te mperature(&rom_code[i][0]));
    lcd_clear();
    lcd_puts(lcd_buffer);
    .
    .
    .
    }
    Note: Vào Project/Configure chỉnh (sprintf) về float, width, precision thì mới hiển thị đúng.

    Chú ý là dùng stdio rất tốn bộ nhớ Flash
    PNLab
    Mạch nạp/debug ULink2, Jlink ARM USB
    Mạch nạp AVR, PIC, 8051, MSP430 USB
    Mạch phát triển STM32, ARM9, ARM11
    more...www.pnlabvn.com

    Comment


    • #3
      Nguyên văn bởi mice Xem bài viết
      Mình mới làm với AT8 hiển thị giá trị đo lên LCD có cả dấu phảy đằng sau nhưng chương trình mình viết rất nông dân. Mấy ngày ngồi nghiền ngẫm sử dụng dấu phảy động cho đơn giản nhưng cuối cùng vẫn chưa tìm ra chân lý. Đây là mạch và chương trình mình viết mong các bác hoàn thiện giúp mình với!!! Tín hiệu từ ADC sau nhân với một hệ số nào đó rồi hiển thị giá trị này lên LCD sử dụng dấu phảy động>>> Nếu có thêm phần truyền dữ liệu lên máy tính thì càng tốt!!!
      http://www.mediafire.com/?btqk1g4z2m1

      Bác mở help của codevision lên:
      //Khai báo sử dụng thư viện
      #include <stdlib.h>

      //Trong hàm main

      ftoa(i,2,str);
      lcd_clear();
      lcd_gotoxy(0,0);
      lcd_puts(str);

      //Trong đó, i là biến kiểu float, 2 chỉ phần thập phân gồm 2 chữ số(có thể nhiều hơn), str biến dạng chuỗi kí tự.

      Click here to help me
      http://dientuvietnam.net/forums/showthread.php?t=23127

      Comment


      • #4
        cho em hỏi tại sao em vào configure lại sprintf feature đổi thành float width rồi mà nó lại báo lỗi lcd.asm , không hiểu có phải em dùng bản codevision 2.6 không nữa. phần khai báo của em nó mặc định là alcd.h

        Comment

        Về tác giả

        Collapse

        mice Tìm hiểu thêm về mice

        Bài viết mới nhất

        Collapse

        Đang tải...
        X