熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
|
發(fā)布時(shí)間: 2020-7-2 15:51
正文摘要:是這樣的 自己看著視頻學(xué)51單片機(jī)過程中,延時(shí)函數(shù)都是用stc-isp得到的,然后這兩天看到紅外通信,需要一邊延時(shí)一邊判斷,代碼都是類似如下的形式,想知道都是怎么寫出來的,希望大佬們解答 非常感謝!!!(就是類 ... |
|
1)空操作延時(shí) (12MHz) void delay10us() { _NOP_(); _NOP_(); _NOP_(); _NOP_(); _NOP_(); _NOP_(); } 2)循環(huán)延時(shí) (12MHz) Void delay500ms() { unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 延時(shí)總時(shí)間=[(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)計(jì)時(shí)器中斷延時(shí)(工作方式2) (12MHz) #include<reg52.h> sbit led=P1^0; unsigned int num=0; void main() { TMOD=0x02; TH0=6; TL0=6; EA=1; ET0=1; TR0=1; while(1) { if(num==4000) { num=0; led=~led; } } } void T0_time() interrupt 1 { num++; } 4)C程序嵌入組合語言延時(shí) #pragma asm …… 組合語言程序段 …… #pragma endasm |
|
sloop: mov cx,0018h;延時(shí)程序 LOOP $ dec ax jnz sloop ret |
| 對(duì)了 圖是在站內(nèi)粘貼過來的 http://m.raoushi.com/bbs/dpj-165191-1.html |
Powered by 單片機(jī)教程網(wǎng)