欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
c語言算時間 for延時,怎么算時間?for(i=;;)
[打印本頁]
作者:
可愛萌萌噠
時間:
2020-7-6 14:32
標題:
c語言算時間 for延時,怎么算時間?for(i=;;)
如題
作者:
漫天星光
時間:
2020-7-6 15:10
利用STC下載軟件,那里面有個功能是計算時間的
作者:
liqingb
時間:
2020-7-6 15:20
先把機器周期,時鐘周期,指令周期看一下
作者:
xxpp2011
時間:
2020-7-6 15:20
可以用這個軟件計算
單片機延時計算工具.zip
2020-7-6 15:20 上傳
點擊文件名下載附件
1.2 MB, 下載次數: 19
作者:
xianfajushi
時間:
2020-7-6 15:21
這種延時只適用于不精確的有一定范圍內可用的,精確的延時要使用計數器中斷。
作者:
xianfajushi
時間:
2020-7-6 15:23
比如說數碼管和點陣的延時可在255-100之間計數延時都沒問題,甚至更大范圍都適用的路474-47這樣的范圍而不受影響的延時。
作者:
黃youhui
時間:
2020-7-6 16:07
這種for循環一般只算大概時間,精確時間一般用定時器
作者:
gzjfly1995
時間:
2020-7-6 16:48
For循環只能計算一個基于時間周期的大概時間,一般用定時器會更好一點
作者:
楊雪飛
時間:
2020-7-6 19:04
void Delay(unsigned int a)//0~65535
{
unsigned char b;for(;a>0;a--)
{
for
(b=110;b>0;b--); }
}
比如上邊這樣一個延時程序,
void Delay(unsigned int a)//0~65535 這里邊的unsigned int是無符號整數的意思,也就是a的取值范圍是0-65535
那么就可以按照需要在函數里寫void Delay(3)這樣的數字,這個數字的作用下邊說。
unsigned char b;這句是定義個無符號字符型的數字b
for(;a>0;a--) 這句,沒有寫a=幾這個初始值,因為是在上邊void Delay(unsigned int a)括號里給的,這里只要a比0大,那就-1,直到減到a=0
接下來的
for
(b=110;b>0;b--);
也是一樣的但是他在a-1的函數里,他是先給b個值110,然后只要b比0大,就做b-1的運算,直到a=0,于是上邊的程序就是
不斷的進行這樣的計算:
先看看a等不等于0,不等于那就a-1
然后
b-1=110 110-1=109 109-1= 108
一直這樣減到b=0也就是原地做了110次減法,單片機在這里運行110個周期,
然后b=0了又回去看a的值,
假如void Delay(
unsigned int a
) 這里a取值500
在主程序里延時子函數寫作:
void main(){
while(1)
{
LED1=0;//點亮
Delay(500);
LED1=1;
Delay(500);
}
};
那就是讓單片機做500次的110-1-1-1-1-1-1減到0的運算,
那么也就是機器自己原地玩了500 × 110 = 55000次,
如果單片機是12M的晶振,那單片機每秒鐘運行12M次,用這12M次除以55000次,就可以計算出他原地計算這么多次用的時間,也就是這個延時函數所能延遲的時間。
作者:
f556
時間:
2020-7-7 09:48
手工計算的我一般不太自信,都是延時閃燈多次,用表計秒,來的真實可靠。
特別對于多時鐘的芯片,ACLK、SMCLK、MCLK等再加倍頻、分頻,各不同,實測計時我常用。
作者:
wangyuejia2015
時間:
2020-7-7 10:00
12M的晶振的bai機器周期是1/12M*12,就是1us ,51的一個for循環大概是8個機器周期,也就是0.66us。
作者:
菜鳥946
時間:
2020-7-9 10:29
晶振頻率是11.05926的話
作者:
菜鳥946
時間:
2020-7-9 10:30
void delay(uint z){}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1