本帖最后由 kxc2008 于 2009-11-10 16:24 编辑
对过零信号本人也是第一次接触,现按照我的思路附上图和程序,各位帮我看下为什么有时不同步,单片机用的是STC12C5608
org 00h
jmp start
org 03h
jmp time
org 30h
mov tmod,#01h
start: mov ie,#10000001b
mov ip,#01h
mov tcon,#00h
mov sp,#70h
clr p1.0
clr p1.1
clr p1.2
mov r1,#200
call delay
setb p1.0
mov r1,#200
call delay
clr p1.0
setb p1.1
mov r1,#200
call delay
clr p1.1
setb p1.2
mov r1,#200
call delay
jmp start
time: push acc
push psw
mov ie,#00h
setb tr0
pop acc
pop psw
reti
delay: mov th0,#low(65536-20000)
mov tl0,#high(65536-20000)
ys1: jbc tf0,ys2
jmp ys1
ys2: djnz r1,delay
clr tr0
mov ie,#10000001b
ret
end |