关于 51单片机 12C5A60S2 AD转换输出电压值通过运算公式显示的问题 100

部分程序如下voidtimer0()interrupt1//interrupt1:定时器0,interrupt3:定时器3{TH0=(65536-20000)/256;/... 部分程序如下
void timer0() interrupt 1 //interrupt 1: 定时器0,interrupt3:定时器3
{
TH0=(65536-20000)/256; //高八位,(需要表示Xms的定时,计数器由65536-X数到65536,由于16位,只能分高低位)
TL0=(65536-20000)%256; //低八位
InitADC();
}
void adc_isr() interrupt 5 //FLAG标志位置位触发中断,没有设优先级,但是同优先级下定时器0更高
{
if(ADC_Chanul_Turn%3==0) //外部基准电压
{
da1=ADC_RES; //获取转换结果
Data=((double)da1/256)*5; //取八位计算基准电压Data,
c =Data;
cos = 0.052*c + 1.0069-0.653*c*c ;//16 角度
sin = 1.1233*c - 0.080;
flag1=1; // LCD_Write_String(0,0,a);
}
if(ADC_Chanul_Turn%3==1)
{
da2=ADC_RES; //获取转换结果
Data=((double)da2/256)*5; //取八位计算实际值Data,
c =Data;
d1= 1141*c*c - 2961*c + 2698-149.1*c*c*c;// 17 一号红外
flag2=1; // LCD_Write_String(5,0,a);
}
if(ADC_Chanul_Turn%3==2)
{
da3=ADC_RES; //获取转换结果
Data=((double)da3/256)*5; //取八位计算实际值Data,
c =Data;
d2 = 1210*c*c - 3121*c + 2823-159.1*c*c*c; // 14 二号红外
flag3=1; //LCD_Write_String(0,1,a);
}
if(flag1==1&&flag2==1&&flag3==1){
L=sqrt((d1*sin+5)*(d1*sin+5)+(d1*cos-d2)*(d1*cos-d2));
a[2]=((int)L%10+0x30); //0x30: ASCAI码里代表“0”,必须转换成字符存在字符型数组里才可以在1602液晶屏上显 a[1]= ((int)(L)%100/10+0x30); // 十分位
a[0]=((int)(L)/100+0x30);// 百分位
a[3]='\0'; // 加了串尾符才成了字符串哦
LCD_Write_String(0,0,a);
flag1=0;
flag2=0;
flag3=0; }
ADC_CONTR&=0xEF; //标志位清零
ADC_Chanul_Turn++;
if(ADC_Chanul_Turn==252)
ADC_Chanul_Turn=0;
}
void main()
{
LCD_Init();
LCD_Clear(); //清屏
DelayMs(255);
TH0=(65536-20000)/256; //开定时器0
TL0=(65536-20000)%256;
EA=1; //开全局中断
ET0=1; //允许定时器零中断
EADC=1; //允许ADC中断
TR0=1;
while(1);
}
展开
 我来答
谁若
2015-04-29 · TA获得超过448个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:97.4万
展开全部
你是用什么进行显示的,数码管吗?
追问

1602啊

现在改成这样

L=sqrt((d1*sin+5)*(d1*sin+5)+(d1*cos-d2)*(d1*cos-d2));
a[2]=((int)L%10+0x30);    

a[1]= ((int)(L/10)%10+0x30);
a[0]=((int)(L/100)%10+0x30);

a[3]='c';

a[4]='m';

a[5]='\0';

显示闪

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mengbinAAA
2015-04-28
知道答主
回答量:10
采纳率:0%
帮助的人:12.8万
展开全部
你的问题是什么呢?
追问
显示不对 只显示一位  还很闪 sin值是0.2左右,cos值是1左右,d1是0到50,d2是0到50,L是0到100;
追答
看看这个对你有没有帮助http://www.51hei.com/mcu/4330.html,请问你的问题解决了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式