本帖最后由 柠檬肥宅 于 2021-4-21 21:51 编辑
比较简单的电阻分压 然后给adc检测的然后现在出现了两种情况 没太明白 希望能有大佬解惑下
第一种我用的正常可调电源给到 3,3v 0.05a的电压 ADC可以正常检测到 数据读取也都正确
第二种情况 就是还是3.3v电压 具体电流暂时无法确定 程序在第一个返回的电压值的地方返回式正确的 在第二个返回 电压值得地方就变0了
这个是什么原因导致的 是否是因为电流过小导致的
程序如下:
while(1)
{
k=dianya(1); //读取的电压值赋予k
if(a==5)
{
SBUF=0XE1;
while(!TI);
TI=0; //指令正确返回
d1=1;
Delay1000ms();
d1=0;
Delay1000ms(); //短按1秒
d1=1;
Delay1000ms();
Delay1000ms();
Delay1000ms();
Delay1000ms();
Delay1000ms(); // 长按5秒
d1=0;
SBUF=k;
while(!TI);
TI=0; //串口返回k的值 电压值 第一次
while(q)
{
SBUF=k;
while(!TI);
TI=0; //串口返回k的值 电压值 第二次
if((k>70)&&(k<150)) // 检测电压在1.1v左右 返回数据
{
SBUF=0XF1;
while(!TI);
TI=0;
a=0;
q=0;
}
}
q=1;
}
}
}
|