[HITECH PIC) giúp mình đoạn code này với !

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • thangvc91
    Thành viên mới
    • Feb 2013
    • 13

    #1

    [HITECH PIC) giúp mình đoạn code này với !

    mọi người giải thích giúp mình đoạn code này với
    Code:
    while(1)
            {
                val_adc=read_ADC(); //doc gia tri adc
                val_tempC=round(0.48875855*val_adc); //val_temp=val_adc*500/1023
                for(i=7;i>=5;i--)
                {
                    lcd_gotoxy(i,1);
                    if((i==5) && (val_tempC==0))
                        lcd_putc(' ');
                    else
                        lcd_putc((val_tempC % 10)[B]+[COLOR=#ff0000]0x30[/COLOR][/B]);
                    val_tempC=val_tempC /10;
                }
    tại sao hiển thị trên lcd lại cộng với 0x30 ạ!
  • duong_act
    Thành viên tích cực
    • Nov 2008
    • 4903

    #2
    Giá trị val_tempC %10 là giá trị integer ( mang giá trị từ 0 đến 9). Giá trị trong hàm lcd_putc(...) là kiểu char. Để chuyển một cách đơn giản giá trị của val_tempC %10 từ integer sang kiểu char là cộng thêm nó với 48 ( 0x30). Cách này chỉ dùng với giá trị integer từ 0 đến 9. Bạn có thể xem bảng mã ASCII để thấy rằng kí tự 0 đến 9 mang giá trị từ 48 -> 57.
    Last edited by duong_act; 03-05-2013, 22:59.

    Comment

    Về tác giả

    Collapse

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

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

    Collapse

    There are no results that meet this criteria.

    Đang tải...