我用如下程序寫,麻煩看看是不是可以的呢?
sent20khz:
clr c
mov p1,#00h
mov r0,#0ah ;做循環次數
turn0:
cpl p1.0
mov a,r0
jb acc.0,turn1 ;判斷是奇數次還是偶數次延時
acall pluse20khz1
djnz r0,turn0
turn1:
acall pluse20khz0
pluse20khz1:
mov c,p1.0
anl c,/p1.1 ;前次數值判斷
jnc error
mov r7,#20
turnt:
djnz r7,turnt
mov c,p1.0
anl c,p1.1 ;當前數值判斷
jnc error
mov r7,#20
turnt0:
djnz r7,turnt0
jnb p1.1,error
ret
pluse20khz0:
mov c,p1.0
anl c,/p1.1
jc error
mov r7,#20
turnt2:
djnz r7,turnt2
mov c,p1.0
anl c,p1.1
jc error
mov r7,#20
turnt3:
djnz r7,turnt3
jb p1.1,error
ret
error:
...
end
发表时间:2003年7月28日20:40:52