include <reg51.h>

sbit cs =p1^3; sbit wr =p1^2; sbit rd =P1^1; int seg []=(0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90); unsigned char dat ; void adc0804(); void display (); void delay ( int i ) while ( i --);

void main () while (1) adc0804(); display ();

void adc0804()

cs =0; wr =0; cs =1; wr = l ; delay (500); cs =0; rd =0; dat =P3; cs = l ; rd =1;void display (){ unsigned int vol ; vol = dat *500.0/255;p2=0xfb; P0= seg [ vol /100]&0x7f; delay (200); p2=0xfd; P0= seg [ vol %100/10]; delay (200); P2=0xfe; P0= seg [ vol %10]; delay (200);

怎么让最后一位数字,显示四舍五入?

可以使用四舍五入函数来解决。例如,使用round()函数对取得的数据进行四舍五入,然后再进行显示。具体实现可以在display()函数中添加代码:

vol = round(dat *500.0/255); //四舍五入 p2=0xfb; P0= seg [ vol /100]&0x7f; delay (200); p2=0xfd; P0= seg [ vol %100/10]; delay (200); P2=0xfe; P0= seg [ vol %10]; delay (200);

这样就可以实现最后一位数字的四舍五入显示了。


原文地址: https://www.cveoy.top/t/topic/ofHL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录