这个是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);
}

}
展开
 我来答
li_youzhang
2011-09-03
知道答主
回答量:13
采纳率:0%
帮助的人:13.2万
展开全部
你每个循环都 init_lcd();不是一直在清屏吗,1602上能显示内容才怪。
把init_lcd();挪到while(1)外面去吧。
write_com(0x80+0x40+7);写法没有问题,表示第二行
kerrwang1982
2011-09-02 · TA获得超过356个赞
知道小有建树答主
回答量:497
采纳率:0%
帮助的人:368万
展开全部
write_com(0x80+0x40+7);
是什么意思,应该将0x40去掉,所有的都要去掉。然后再试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式