最近学习定时器,就想自己编一个利用定时器定时一秒输出方波,来点亮,熄灭小灯,但是结果不对。这个程序在哪里有问题呢?对于关于定时器的程序改按怎样的顺序来看,工作的顺序是怎样的?希望大神百忙之中,指点一二、谢谢!!!
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP LOOP1
ORG 1000H
MAIN:
MOV P0,#00H
ACALL DELAY
MOV A,P0
CPL A
MOV P0,A
LJMP MAIN
DELAY:
MOV B,#0AH
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
RET
LOOP1:
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ B,LOOP2
MOV B,#0AH
LOOP2:
RE
ti
END
按我原本的想法
MAIN:
MOV P0,#00H
ACALL DELAY
MOV A,P0
CPL A
MOV P0,A
LJMP MAIN
如果将定时器看做延时函数的话,程序应该正确。您的意思是,定时器不能将它看做延迟函数?为什么呢?谢谢!
一周热门 更多>