805插件不能指定高度和角度,这个程序已经固定了,只能单个编号,而且编号位置会偏离很多。我有CAD里工程桩自动编号的软件,能够自定义编号位置、字体大小、起始编号等很多功能,支持所有版本的CAD。
能正传,反转,加速,减速
#include "reg52h"
int delay();
void inti_lcd();
void show_lcd(int);
void cmd_wr();
void ShowState();
void clock(unsigned int Delay) ;
void DoSpeed(); //计算速度
//正转值
#define RIGHT_RUN 1
//反转值
#define LEFT_RUN 0
sbit RS=0xA0;
sbit RW=0xA1;
sbit E=0xA2;
char SpeedChar[]="SPEED(n/min):";
char StateChar[]="RUN STATE:";
char STATE_CW[]="CW";
char STATE_CCW[]="CCW";
char SPEED[3]="050";
unsigned int RunSpeed=50; //速度
unsigned char RunState=RIGHT_RUN; //运行状态
main()
{
/定时器设置/
TMOD=0x66; //定时器0,1都为计数方式;方式2;
EA=1; //开中断
TH0=0xff; //定时器0初值FFH;
TL0=0xff;
ET0=1;
TR0=1;
TH1=0xff; //定时器1初值FFH;
TL1=0xff;
ET1=1;
TR1=1;
IT0=1; //脉冲方式
EX0=1; //开外部中断0:加速
IT1=1; //脉冲方式
EX1=1; //开外部中断1:减速
inti_lcd();
DoSpeed();
ShowState();
while(1)
{
clock(RunSpeed);
P0_1=P0_1^0x01;
}
}
//定时器0中断程序:正转
void t_0(void) interrupt 1
{
RunState=RIGHT_RUN;
P0_0=1;
P1=0x01;
cmd_wr();
ShowState();
}
//定时器1中断:反转
void t_1(void) interrupt 3
{
RunState=LEFT_RUN;
P0_0=0;
P1=0x01;
cmd_wr();
ShowState();
}
//中断0:加速程序
void SpeedUp() interrupt 0
{
if(RunSpeed>=12)
RunSpeed=RunSpeed-2;
DoSpeed();
P1=0x01;
cmd_wr();
ShowState();
}
//中断1:减速程序
void SpeedDowm() interrupt 2
{
if(RunSpeed<=100)
RunSpeed=RunSpeed+2;
DoSpeed();
P1=0x01;
cmd_wr();
ShowState();
}
int delay() //判断LCD是否忙
{
int a;
start:
RS=0;
RW=1;
E=0;
for(a=0;a<2;a++);
E=1;
P1=0xff;
if(P1_7==0)
return 0;
else
goto start;
}
void inti_lcd() //设置LCD方式
{
P1=0x38;
cmd_wr();
delay();
P1=0x01; //清除
cmd_wr();
delay();
P1=0x0f;
cmd_wr();
delay();
P1=0x06;
cmd_wr();
delay();
P1=0x0c;
cmd_wr();
delay();
}
void cmd_wr() //写控制字
{
RS=0;
RW=0;
E=0;
E=1;
}
void show_lcd(int i) //LCD显示子程序
{
P1=i;
RS=1;
RW=0;
E=0;
E=1;
}
void ShowState() //显示状态与速度
{
int i=0;
while(SpeedChar[i]!='\0')
{
delay();
show_lcd(SpeedChar[i]);
i++;
}
delay();
P1=0x80 | 0x0d;
cmd_wr();
i=0;
while(SPEED[i]!='\0')
{
delay();
show_lcd(SPEED[i]);
i++;
}
delay();
P1=0xC0;
cmd_wr();
i=0;
while(StateChar[i]!='\0')
{
delay();
show_lcd(StateChar[i]);
i++;
}
delay();
P1=0xC0 | 0x0A;
cmd_wr();
i=0;
if(RunState==RIGHT_RUN)
while(STATE_CW[i]!='\0')
{
delay();
show_lcd(STATE_CW[i]);
i++;
}
else
while(STATE_CCW[i]!='\0')
{
delay();
show_lcd(STATE_CCW[i]);
i++;
}
}
void clock(unsigned int Delay) //1ms延时程序
{ unsigned int i;
for(;Delay>0;Delay--)
for(i=0;i<124;i++);
}
void DoSpeed()
{
SPEED[0]=(10006/RunSpeed/100)+48;
SPEED[1]=10006/RunSpeed%100/10+48;
SPEED[2]=10006/RunSpeed%10+48;
}
cosx
=
1
-
(χ^
2)/
2
+(χ^
4)/
24
+
+(-1)^
n的χ^2π/(2n)的!
注意:其中x是弧度而不是角度
这是余弦函数的麦克劳林级数的,非常精确,足够远,那么我们就必须增加N比数计算,以提高精度接近x
=
0
例如,计算只有3
1
-
(χ^
2)/
2
+(χ^
4)/
24,当x是大于π/
2时,是不够精确
可以算计算前5位的π附近精确的双显著的数字
要写为sinx
=的X(χ^
3)/
6
+(χ^
5)/
120
+
+(-1)^
n的χ^(2n
+1)的/(2n
+1)的!
考虑到精度和计算的量,更好的办法是
前3
氮化硅=
X-(X
^
3)/
6
+(x
^
5)/
120
和
cosx
=
1
-
(x
^
2)/
2
+(X
^
4)/
24
分别计算阳性余弦值?0到π/
4,其它角度值的余弦值?可以通过以下方式获得的感应式
如果最后的结果是只需要两个重要的数字,甚至只能算2(计算过程中不能保持只有两个重要的数字)
以上就是关于2021CAD 805插件怎么用,怎么提示指定高度,指定角度全部的内容,包括:2021CAD 805插件怎么用,怎么提示指定高度,指定角度、用51单片机驱动步进电机,命令由键盘输入,正反转,点动,转过指定角度。并有状态和数据显示,求程序和详、编写程序,从0度到180度每隔5度输出该角度的正弦和余弦函数值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)