سلام. من یه برنامه در مورد خوندن اطلاعات از adc میکرو نوشتم که بعدش ولتاژ رو روی lcd نشون میده و....
ولی مشکلش اینه که ولتاژ اعشاری رو نشون نمیده و فقط بخش صحیحش رو نشون میده.
فهمیدم که خروجی n=(m*5/1023); صحیح میشه در صورتی که باید اعشاری بشه . خود n رو هم بصورت float تعریف کردم .
چیکار کنم؟؟؟
ADCSRA.6=1;
delay_ms(20);
m=ADCW;
n=(m*5/1023);
lcd_gotoxy(5,0);
lcd_putsf("Searching"
;
lcd_gotoxy(2,1);
sprintf(g,"AGC Voltage=%1.2fv",n);
lcd_puts(g);
ولی مشکلش اینه که ولتاژ اعشاری رو نشون نمیده و فقط بخش صحیحش رو نشون میده.
فهمیدم که خروجی n=(m*5/1023); صحیح میشه در صورتی که باید اعشاری بشه . خود n رو هم بصورت float تعریف کردم .
چیکار کنم؟؟؟
ADCSRA.6=1;
delay_ms(20);
m=ADCW;
n=(m*5/1023);
lcd_gotoxy(5,0);
lcd_putsf("Searching"

lcd_gotoxy(2,1);
sprintf(g,"AGC Voltage=%1.2fv",n);
lcd_puts(g);
دیدگاه