这个是ADC输出的电压转换成角度显示在1602上 怎么显示不出来 哪位好心人帮帮 急!!! 5
while(1){uinttemp;init_lcd();//start_ad();temp=read_ad();//取到AD转换过的值temp=(uint)((temp...
while(1)
{
uint temp;
init_lcd();
//start_ad();
temp=read_ad();//取到AD转换过的值
temp=(uint)((temp*5.0)/256);//将AD结果转成电压值
//temp = (uint)(temp*4.7)/1024+0.02;
temp=(float)(asin(0.5*temp-1.25));//将电压值转换成弧度
temp=(float)((180/PI)*temp);//弧度转换成角度
temp=temp*1000;//放大
bai=temp/1000;
shi=temp/100%10;
ge=temp/10%10;
fen=temp%10;
write_com(0x80+0x40+6);
write_date(dianya[bai]);
write_com(0x80+0x40+7);
write_date(0x2e);
write_com(0x80+0x40+8);
write_date(dianya[shi]);
write_com(0x80+0x40+9);
write_date(dianya[ge]);
write_com(0x80+0x40+10);
write_date(dianya[fen]);
delay(250);
}
} 展开
{
uint temp;
init_lcd();
//start_ad();
temp=read_ad();//取到AD转换过的值
temp=(uint)((temp*5.0)/256);//将AD结果转成电压值
//temp = (uint)(temp*4.7)/1024+0.02;
temp=(float)(asin(0.5*temp-1.25));//将电压值转换成弧度
temp=(float)((180/PI)*temp);//弧度转换成角度
temp=temp*1000;//放大
bai=temp/1000;
shi=temp/100%10;
ge=temp/10%10;
fen=temp%10;
write_com(0x80+0x40+6);
write_date(dianya[bai]);
write_com(0x80+0x40+7);
write_date(0x2e);
write_com(0x80+0x40+8);
write_date(dianya[shi]);
write_com(0x80+0x40+9);
write_date(dianya[ge]);
write_com(0x80+0x40+10);
write_date(dianya[fen]);
delay(250);
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询