单片机定时操作!

来源:百度知道 编辑:UC知道 时间:2024/05/21 01:51:45
我想问一下这段指令是什么意思!还有,单片机的计数器是每个机器周期计数一次?还是执行完全部指令计数一次?还是?
ORG 0000H
AJMP START
ORG 30H
START:
MOV P1,#0FFH
MOV TMOD,#00000001B
MOV TH0,#15H
MOV TL0,#0A0H
SETB TR0
LOOP:JBC TF0,NEXT
AJMP LOOP
NEXT:CPL P1.0
MOV TH0,#15H
MOV TL0,#9FH
AJMP LOOP
END AJMP LOOP
END

小弟愚钝!希望高手们能更详细的讲解一下!谢谢!

ORG 0000H
AJMP START
ORG 30H
START:
MOV P1,#0FFH ;P1口初始化
MOV TMOD,#00000001B ;16位计时设定
MOV TH0,#15H ;计时高位初值
MOV TL0,#0A0H ;计时低位初值
SETB TR0 ;开始计时
LOOP:JBC TF0,NEXT ;若TF0=1则跳转到NEXT,跳转后TF0=0,否则向下执行语句
AJMP LOOP ;若TF0=0转跳回LOOP
NEXT:CPL P1.0 ;P1.0取反
MOV TH0,#15H ;重新设定计时器时间初值高位
MOV TL0,#9FH ;重新设定计时器时间初值低位
AJMP LOOP ;跳回LOOP
END
这段程序开启T0的16位计时功能,此外将TR0作为P0.1口的翻转开关,计时功能和P1.0翻转功能毫无联系,这段程序没有涉及到计数。
计时、计数器可以与单片机并行运行,单片机只负责打开并初始它们。