導航:首頁 > 操作系統 > 單片機延時怎麼變慢

單片機延時怎麼變慢

發布時間:2023-03-09 19:14:57

『壹』 單片機 延遲一秒程序怎麼寫延遲2秒我是初學者,想請教一下。

你好!
你要先寫一個延時基準(50毫秒),在延時1秒就是做20次基準,2秒就是40個基準!
也可以用定時器,定時50毫秒,定時器中斷計數,計數20就是1秒,計數40次就是2秒(推薦用定時器!)
僅代表個人觀點,不喜勿噴,謝謝。

『貳』 單片機有哪些延時方法詳細介紹

據我所知,單片機延時的方法有:

1。空操作延時(12MHz)

voiddelay10us()
{
_NOP_();
_NOP_();
_NOP_();
_NOP_();
_NOP_();
_NOP_();
}

2。循環延時(12MHz)

Voiddelay500ms()
{
unsignedchari,j,k;
for(i=15;i>0;i--)
for(j=202;j>0;j--)
for(k=81;k>0;k--);
}

延時總時間=[(k*2+3)*j+3]*i+5
k*2+3=165 us
165*j+3=33333 us
33333*i+5=500000 us=500 ms

3。計時器中斷延時(工作方式2) (12MHz)

#include<reg52.h>
sbitled=P1^0;
unsignedintnum=0;
voidmain()
{
TMOD=0x02;
TH0=6;
TL0=6;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(num==4000)
{
num=0;
led=~led;
}
}
}

voidT0_time()interrupt1
{
num++;
}

4。C程序嵌入組合語言延時

『叄』 如何用按鍵調整單片機的延時時間

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar key1,key2,key3; //定義三個按鍵的代號
uchar a,i,temp,temp1; //定義主體函數所用變數
uint x,y,z; //定義延時函數所用三個變數
void delay1(uint); //定義延時函數1
void delay2(uint); //定義流水燈大間隔所用延時函數
void keyscan(); //定義鍵盤掃描函數
void main()
{ TMOD=0x01; //為了保證及時掃描到鍵盤變動,只好開啟中斷了
TH0=(65536-500)/256;//中斷0.5ms開啟一次
TL0=(65536-500)%256;
EA=1;
ET0=1;
a=0xfe;
i=0;
temp1=1;
while(1)
{

P1=a;
temp=a<<1;
a=a>>7;
a=temp|a;
i=i+1;
delay1(100);
if(i==8)
{
i=0;
delay2(temp1);
}
}
}
void delay1(uint z)
{

for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void delay2(uint temp1)
{

for(x=temp1;x>0;x--)
for(y=1100;y>0;y--);
}
void keyscan()
{
if(key1==0)
{
delay1(10); //鍵盤消抖
if(key1==0)
{
temp1=10;
while(!key1); //等待按鍵釋放
}
}
if(key2==0)
{
delay1(10); //鍵盤消抖
if(key1==0)
{
temp1=20;
while(!key2); //等待按鍵釋放
}
}
if(key3==0)
{
delay1(10); //鍵盤消抖
if(key3==0)
{
temp1=30;
while(!key3); //等待按鍵釋放
}
}
}
void T0_time() interrupt 1
{
TH0=(65536-500)/256; //重裝初值
TL0=(65536-500)%256;
keyscan();

}
我的proteus壞了,不能模擬,現手寫的,如果有問題可以再告訴我,我的QQ378773957,用的ATMEL51單片機
三個按所在的IO口我沒有進行位定義,你在開頭位定義一下應該就可以可以了

『肆』 單片機編程 使用按鍵控制流水燈延時時間,每按一次按鍵流水燈流水速度逐漸變慢,直到停止流水

你可以簡單地認為單片機只能輸出5V或者0V的電壓 分別對應1和0,那麼LED燈的另一端接地或者接5V,如果你 的單片機輸出5V接到LED燈,LED燈另一端接地 , 那就產生電壓了,電路就導通了,燈就亮了 ,反之也是這個道理。時間方面可以寫大致的延時,或者用定時器,這樣就比較精確了,你學會了這個就可以說入門了。

『伍』 怎樣調整單片機流水燈的快慢,請舉個例子

就下面的程序
;----- 延時子程序 -----
DELAY: MOV R0,#255 ;延時一段時間
D1: MOV R1,#20
DJNZ R1,$
DJNZ R0,D1
RET ;子程序返回

END ;程序結束
來說,想要讓流水燈變慢點的話,就增加延時。這里將第二行指令D1: MOV R1,#20中的20改大,但是要小於256.比如D1: MOV R1,#200
如果想要流水燈快點的話,就是要減少延時時間。這里將第二行指令D1: MOV R1,#20中的20改小,但是一定要大於等於零。比如D1: MOV R1,#2

『陸』 通過用按鍵調整單片機的延時時間

#include<reg51.h>
sbitkey=P1^0;
sbitled=P1^2;
voiddelay(unsignedcharx)
{
unsignedchari;
while(x--)for(i=0;i<120;i++);
}
main()
{
unsignedcharnn;
while(1)
{
if(key==0)
{
while(key==0);
nn++;
if(nn>250)nn=50;
}
led=0;
delay(nn);
led=1;
delay(nn);
}
}

閱讀全文

與單片機延時怎麼變慢相關的資料

熱點內容
昌邑網站製作源碼 瀏覽:127
單片機的反向編譯 瀏覽:463
subsample演算法 瀏覽:899
蘋果免費看書app哪個最好 瀏覽:885
c語言加密怎麼弄 瀏覽:842
c語言編譯的錯誤提示 瀏覽:767
驗機蘋果app哪個最好 瀏覽:666
光遇國際服安卓如何購買禮包 瀏覽:55
163app怎麼下載 瀏覽:247
電腦程序員下場 瀏覽:45
編譯原理ll1文法判斷 瀏覽:727
qt用vs2015編譯 瀏覽:553
結婚日子最好的演算法 瀏覽:794
安卓怎麼把數據傳到蘋果里 瀏覽:504
編譯器標識 瀏覽:792
編程珠璣第三章 瀏覽:785
windows如何開啟tftp伺服器 瀏覽:110
歐姆龍plc編程指令表 瀏覽:189
程序員遠程收入不穩定 瀏覽:863
演算法原理怎麼寫 瀏覽:472