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

單片機延時怎麼變慢

發布時間: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);
}
}

閱讀全文

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

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:945
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:433
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:401
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313