View Single Post
Old 25-10-2009, 10:21 PM   #1
tienchuan
Đệ tử 4 túi
 
tienchuan's Avatar
 
Tham gia ngày: Oct 2008
Bài gửi: 71
:
Arrow Cần giúp đỡ về việc đọc ADC và hiển thị ra LCD!

Mình đang làm mạch giao tiếp giữa PIC877A với LCD 16x2,viết ở chế độ 4 bit.Đọc giá trị ADC từ kênh AN0 rồi hiển thị lên LCD.Mình đọc trên forum/net,và viết lại như sau:

Code:
while(1)
{
    i++; 
    value =(float) read_adc(); 
    value = value*0.48828125;
    if (i==500)  
          {
          convert_bcd((int16)value);
          i=0;
          }
    {
    lcd_gotoxy(1,1);
    printf(LCD_putc,"Nhiet do:");
    LCD_putc(high);
    LCD_putc(low);
    LCD_putc(".");
    LCD_putc(digit);
  
    }
    delay_ms(3000);
}

// void convert_bcd(int16 x)
  {
   
  
  high=x/100; 
  medium=x%100;
  low=medium/10;
  digit=medium%10;
   
  low = low + 0x30;
  high = high + 0x30;
  digit=digit+0x30;
  
}
Mình không hiểu tại sao phải cộng thêm 0x30(=48=số 0 )
Và nếu viết trực tiếp như cách dưới có được ko???
Code:
      lcd_init();
      read=read_adc();
      read =read*0.48828125;
      printf(lcd_putc,"\rHien thi: %u",read);
      delay_us(20);
Mong các ACE giải đáp giúp !
Mình đã nạp thử ct nhưng chạy ko đúng!
Thanks !

thay đổi nội dung bởi: tienchuan, 26-10-2009 lúc 11:14 AM.
tienchuan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn