我希望能够在我的 LCD 模块上以英尺为单位显示从 0 英尺到 20000 英尺的高度。这些数字是从我可以旋转以更改值的电位计读取的。目前电位计显示的范围是 0 到 1023,但我需要适当地缩放这些,以便它们从 0 到 20000 英尺读取。除此之外,我希望下面的行显示一个“条形图”来表示高度增加。LCD 每行有 20 个块,因此条形图的范围可以从 1 个块到 20 个块。
sprintf(buf, "Altitude: %d ", DELVAL2); // display altitude level
lcd_putxy(1,0,buf);
for (delay = 0; delay < 50000; delay++); // introduce a delay
sprintf(buf, "*", DELVAL2 ); // display bar graph
lcd_putxy(2,0,buf);
for (delay = 0; delay < 50000; delay++); // introduce a delay
到目前为止,这是我的代码。它从电位计读取值DELVAL2
并将其显示在 LCD 上。有人可以解释一下我如何适当地缩放数据以生成高度和条形图的方法。