-
包包真多啊,苦了你也苦了我啊
-
谢谢版主关心,也谢谢大家关注,
一开始程序的主要问题是:在51中的反三角函数,计算的结果是弧度,经过测试才知道.把经验给大家分享一下.
-
经过两天的奋斗,程序OK了,用STC89C58算起来也不算慢,还是可以的.这是我改过的程序.
void main()
{
uint i;
uint D = 0,M_AB = 0,M_BA = 0; //D指AB两点距离,A到B的方位角,B到A的方位角.
Lcd_Init();
Disp_Wellcom();
Delay(2000);
Disp_Input_A();
Lcd_Writecom(0x92);
while(1)
{
num=20;
i=Keyscan();
switch(i)
{
case 1:
if (times
-
昨天我试了一下,计算到这一步是对的: Angle_AB = cos(WA*Rad)*cos(WB*Rad)*cos(JB*Rad-JA*Rad)+sin(WA*Rad)*sin(WB*Rad);
就是下面的反三角函数(Distance = (float)R*acos(Angle_AB)*Rad;)就出问题了,也不知为什么.
时间还是可以的,我这个东西对时间要求不高的.
-
查表没搞过,不会.请指点一二,谢谢了
-
真是好啊,学习一下了.精华的不得了
-
主要是看一下计算代码:case 16: //功能键D:确定
if (times == 26)
{
LonA_D = max(AJD_1,AJD_2,AJD_3);
LonA_F = max(AJF_1,AJF_2,temp_val);
LonA_M = max(AJM_1,AJM_2,temp_val);
LatA_D = max(AWD_1,AWD_2,AWD_3);
LatA_F = max(AWF_1,AWF_2,temp_val);
LatA_M = max(AWM_1,AWM_2,temp_val);
LonB_D = max(BJD_1,BJD_2,BJD_3);
LonB_F = max(BJF_1,BJF_2,temp_val);
LonB_M = max(BJM_1,BJM_2,temp_val);
LatB_D = max(BWD_1,BWD_2,BWD_3);
LatB_F = max(BWF_1,BWF_2,temp_val);
LatB_M = max(BWM_1,BWM_2,temp_val);
JA = (float)LonA_D+(float)LonA_F/60+(float)LonA_M/3600;
WA = (float)LatA_D+(float)LatA_F/60+(float)LatA_M/3600;
JB = (float)LonB_D+(float)LonB_F/60+(float)LonB_M/3600;
WB = (float)LatB_D+(float)LatB_F/60+(float)LatB_M/3600;
Angle_AB = cos(WA*Rad)*cos(WB*Rad)*cos(JB*Rad-JA*Rad)+sin(WA*Rad)*sin(WB*Rad);
Distance = (float)R*acos(Angle_AB)*Rad;
D = (int)(Distance*1000);
COS_WB = cos((90-WB)*Rad);
COS_WA = cos((90-WA)*Rad);
A_North = R*sqrt(2-2*COS_WA);
B_North = R*sqrt(2-2*COS_WB);
if (A_North > B_North)
{
COS_A_T_B = A_North/2*Distance+Distance/2*A_North-(B_North/2*Distance)*(B_North/A_North);
A_T_B = (int)((50*acos(COS_A_T_B))/3);
B_T_A = 3000 - A_T_B;
}
else if(A_North < B_North)
{
COS_B_T_A = B_North/2*Distance+Distance/2*B_North-(A_North/2*Distance)*(A_North/B_North);
B_T_A = 6000 - (int)(50*acos(COS_B_T_A)/3);
A_T_B = 3000 - (int)(50*acos(COS_B_T_A)/3);
}
Disp_Output(D,A_T_B,B_T_A);
times = 30;flag_page = 5;
}
-
公式我感觉应该是对的.
-
算的不对,结果和图上量 的不一样,
-
主要是后面三角函数计算的问题,搞晕掉了.
-
我把程序发上来请版主看看,算的不对,不知哪里错了.
-
用用看看
-
我下来看看
-
都是做贡献啊
-
从来不写,可能是功能比较简单吧,先写个大概框架,然后一个一个加功能的
-
很好啊
-
真是好啊
很有用的
顶一个
-
回复看看了,
-
真的很神奇吗,我想学学啊.
-
学习一下,第一次接角STM32