当前位置:首页 > 单片机 > 单片机
[导读] 查询方式,键入程序,看到了什么?灯在闪烁了,这可是用定时器做的,不再是主程序的循环了。ORG 0000HAJMP STARTORG 30HSTART: MOV P1,#0FFH ;关所有灯 MOV TMOD,#00000001B ;定时/计数器0工作于方式1 M

查询方式,键入程序,看到了什么?灯在闪烁了,这可是用定时器做的,不再是主程序的循环了。
ORG 0000H
AJMP START
ORG 30H
START:
MOV P1,#0FFH ;关所有灯
MOV TMOD,#00000001B ;定时/计数器0工作于方式1

MOV TH0,#15H
MOV TL0,#0A0H ;即数5536
SETB TR0 ;定时/计数器0开始运行
LOOP:JBC TF0,NEXT ;如果TF0等于1,则清TF0并转NEXT处
AJMP LOOP ;否则跳转到LOOP处运行
NEXT:CPL P1.0
MOV TH0,#15H
MOV TL0,#9FH;重置定时/计数器的初值
AJMP LOOP
END
;简单地分析一下程序,为什么用JBC呢?
;TF0是定时/计数器0的溢出标记位,当定时器产生溢出后,该位由0变1,所以查询该位就可知宇时时间是否已到。
;该位为1后,要用软件将标记位清0,以便下一次定时是间到时该位由0变1,所以用了JBC指令,该指位在判1转移的同时,还将该位清0


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭