CC++怎么控制程序执行的速度??比如放慢

CC++怎么控制程序执行的速度??比如放慢,第1张

没有这种方法来控制计算机速度。

计算机CPU周期固定,每条指令的执行周期固定。不插入 延时/定时 改变不了程序执行时间。

程序是碰配顺衡吵山序执行的。

你的 normalSpeed()在 原咐中有程序 之后,控制不了前面的原有程序。

slowDown(10)在 原有程序 之前,可以改变 原有程序里的参数,达到减慢的目的。

C语言是高级语言,编译后生成可执行程序。

它的执行速度一般来说,比要通过解释执行的语言快。但比汇编语言慢。

不一定比其它高级语言快,例如,数学运算慧蠢郑方面,可能不如fortran快,当然,假定两者用的算法完全一样。

如果算法不同,两种语言就不好比较了。例如,对整篇输入文章进行语句结构或词组结构替代,用Perl 脚本比C快。

计算机语言其实是人的工具,例如,菜刀,斧头,螺丝刀,各有所长,各有各的用途。菜刀切菜,斧头劈柴,换过来用也不是不是可以,斧头切菜,菜刀劈柴,效率差。

C语言同C语言比,速度也不一样。MS VC++ 同 TB不一样.

同一种C语言,编译时前颂用了优化1,优化2,执行程序快档滑慢不同。

42步进电机是一个两相电机,一般控制可以分为全步或让哪哗半步控制,全步控制,缓丛每一切换相序,步进电机走1.8度,半步控制则走0.9度。

全步控制相序分配为:A,/A,B,/B

半步控制相序分配为:A,AB,B,B/A,/A,/A/B,/B,/BA

加速的话,就使相坦行序切换快一点就可以;当然减速就是相序切换慢点就行。举例如下:

#include<reg51.h>

#define uchar unsigned char

uchar stepd[]={0x01,0x03,0x02,0x06,0x04,0xc0,0x08,0x09}

uchar num=0,fx=0

sbit keyup=P3^0

sbit keydn=P3^1

sbit keyfx=P3^2

int speed=10000

void t0isr() interrupt 1

{

TH0=(65536-speed)/256

TL0=(65536-speed)%256

P2=stepd[num]

if(fx==0){num++num%=8}

if(fx==1)

{

if(num==0)num=7

else num--

}

}

main()

{

TMOD=0x01

TH0=(65536-10000)/256

TL0=(65536-10000)%256

TR0=1

ET0=1

EA=1

while(1)

{

if(keyup==0)

{

while(key1==0)

speed-=10

}

if(keydn==0)

{

while(keydn==0)

speed+=10

}

if(key3==0)

{

while(key3==0)

fx=~fx

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12513265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存