㈠ c語言延時1ms程序
這個程序應該是板子上延時的程序。
a就是需要延遲的毫秒數(也可能是其他單位)。
就是說,執行 for(i=0;i<600;i++);的時間應該是一個單位長度(可能為1ms);
這樣,你在調用的時候,賦值給a多少值,實際就是延時多少毫秒。
例如,延時10ms,就用
delay(10);
延時1ms,就用
delay(1);
㈡ C語言延時的子程序怎麼寫
其實這是不太精準的延時程序,其實質就是for循環,就是讓處理器不停地做遞減或遞加運算,從而達到延時的目的。至於延時時間,完全是更具經驗的得到的。
㈢ 用C語言怎麼在單片機AT89C51上編寫一個延時10秒的程序
1、十秒對於單片機來說是很長很長的時間了,單片機十秒的時間什麼事都不能做,只在跑這延時程序,那是什麼概念,用中斷的話,單片機正常運行其他程序,只是時間到了才過來處理延時以後的程序,效率不知道高了多少 。
2、常式:
//假設晶振12MHZ
#include"reg51.h"
unsignedintYSJS=0;
voidmain(void)
{
TMOD|=0X10;//定時器1工作於方式1,16位定時器
TH1=0XFF;//定時器1定時時間=500uS
TL1=0X06;
ET1=1;//使能定時器1中斷
EA=1;//開總中斷
while(1)
{
}
}
voidTIMER1(void)interrupt3//定時器1中斷函數使用默認寄存器組
{
TH1=0XFF;//定時器1定時時間=500us
TL1=0X06;
YSJS++;
if(YSJS==20000)//500uS*20000=10000000us=10s
{
P1=P1^0X01;//P1.0十秒鍾翻轉一次
YSJS=0
}
}