51單片機(jī)延時(shí)1s的程序匯編 匯編語言的延時(shí)程序delay怎么理解?
匯編語言的延時(shí)程序delay怎么理解?需要注意的一點(diǎn)是,djnz指令是2個(gè)周期,因此您的時(shí)間是周期數(shù)乘以2延遲:MOVR7,#250DEL1:MOVR6,#100DEL2:MOVR5,#10DJNZ:
匯編語言的延時(shí)程序delay怎么理解?
需要注意的一點(diǎn)是,djnz指令是2個(gè)周期,因此您的時(shí)間是周期數(shù)乘以2延遲:MOVR7,#250DEL1:MOVR6,#100DEL2:MOVR5,#10DJNZ:R5級(jí),$;2個(gè)機(jī)器循環(huán)DJNZ:R6,dl2djnzr7,dl12*10*100*250=500000us=0.5s或更高僅是一個(gè)近似值,其他指令的周期不是考慮過了,但收效甚微。
如何用匯編編寫定時(shí)器1替代delay延時(shí)的程序?
1. 一位受訪者說,在switch()的情況下沒有中斷;
2。整個(gè)顯示程序運(yùn)行沒有延遲,運(yùn)行到case 2和case 0之間的間隔應(yīng)該是最長(zhǎng)的,所以最后一個(gè)(case 2)最亮,而case 0->case 1,case 1->case 2的時(shí)間很短,連續(xù)顯示時(shí)間很短,所以是暗的。
解決方案:
1。顯示程序不應(yīng)放在定時(shí)器中斷中,而應(yīng)放在主功能中;
2。在每種情況下增加大約5毫秒的延遲事件ums(5)
這里有一些程序僅供參考:
mmdanielmm/項(xiàng)目每周更新