導航:首頁 > 操作系統 > 延遲2ms單片機代碼

延遲2ms單片機代碼

發布時間:2023-06-13 09:26:16

⑴ 跪求用單片機製作長延時定時器的程序

多簡單的事啊,我貼一個AVR採用定時器0計時的,你參考一下吧。
#pragma interrupt_handler timer0_ovf_isr:10 //TIMER0 定時2ms中斷.
void timer0_ovf_isr(void)
{
TCNT0 = 0xD9; //reload counter value
timer2ms++;
if(timer2ms >= 5)
{
timer2ms = 0;
timer10ms ++;
systimer10ms ++;
if(systimer10ms >= 22) //內部1M晶振
{
systimer10ms = 0;
timer1s ++;
}
}
也就是說。你另外起一個變數。與響應時間對照。你別說9999分鍾。你就是9999年都可以做到。不理解時加我QQ問我吧。

⑵ 89C51單片機,假定單片機晶振頻率6MHz,試編寫延時2ms的程序

單片機晶振頻率6MHz的時鍾周期是0.166uS,89C51的指令周期是12個時鍾周期,約等於2uS。
以下是常式:
匯編
DELAY: MOV Rn,#200 循環200次 *10uS = 2mS
LOOP: NOP 一個指令周期
NOP
NOP
DJNZ Rn,LOOP 二個指令周期,一次循環總共5個指令周期耗時10uS
RET

C語言 #define NOP _nop_(),_nop_(),_nop_()

for(int i = 200;i!=0;i-- )NOP;

⑶ 任意型號單片機,延遲1或2秒怎麼寫12M,24M怎麼算for後面怎麼寫。要過程不要結果。

一般先寫一個延時幾個毫秒的子程序,很簡單。
void delay( int ms )
{
while( ms-- )
{
int i = 延時常數;
do { _nop_(); } while( --i );
}
}

要延時一秒鍾,就是1000ms,delay( 1000 );
幾個注意事項,
1、延時程序沒有關中斷,所以中斷程序會影響定時精度。
2、延時常數可以用軟模擬程序實驗確定,需要根據不同的單片機、晶振頻率調整延時常數。
3、想要適用任意型號單片機,內層循環最好加一句空操作,通常這可以阻止編譯時優化程序。

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

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

閱讀全文

與延遲2ms單片機代碼相關的資料

熱點內容
哈利波特忘記伺服器怎麼辦 瀏覽:817
怎麼看其他電腦共享文件夾 瀏覽:506
py文件夾後綴 瀏覽:716
你對我們的app有什麼建議 瀏覽:577
phpgetcookie 瀏覽:140
程序員最煩遇到的單詞 瀏覽:124
開始伺服器升級需要什麼 瀏覽:980
gcc中的編譯選項 瀏覽:188
程序員長沙開滴滴 瀏覽:138
十幾加幾的進位加法演算法 瀏覽:384
c語言實現字母加密成字母 瀏覽:328
linux重啟java服務 瀏覽:53
ubuntu的命令行在哪裡 瀏覽:981
伺服器tk是什麼意思 瀏覽:397
防止軟體加密碼卸載 瀏覽:182
自建伺服器與雲伺服器 瀏覽:542
已解壓車能過戶能買嗎 瀏覽:775
上網行為linux 瀏覽:353
解壓對身體的好處 瀏覽:72
php服務端框架 瀏覽:455