51单片机 AD转换后运算错误
发布网友
发布时间:2022-04-29 03:06
我来回答
共3个回答
热心网友
时间:2023-10-08 20:22
8位机,表示正数的范围0-255,400(从P0口输出)超界了。
热心网友
时间:2023-10-08 20:22
height_real=(dd*100)/51;
-----------------------------------
height_real变量没有声明,char的最大值为255,400超过了
声明height_real变量为int类型追问height_real是int型的 我写P0=height_real;是想看看P0有没有值 这句没有用 主要是height_real比较的那句 一直不对 height_real值一直是0
热心网友
时间:2023-10-08 20:23
这个应该是数据类型的问题,
uchar dd; 把dd改成unsigned int的试试
Display=ReadADCH0();
dd=Display;
height_real=(dd*100)/51;