;定时程序有两种写法，一是通过查询法，判断定时器溢出位TF是否为1。二是通过中断法，定时器定时满后自动产生中断。
;定时器的工作方式及初值的赋值非常重要
;本例题是用定时方法产生延时，不同于前面的延时程序的写法。本题要产生1S的延时，而四种工作方式中，第一种工作方式可以产生0.1S延时（频率=6Mhz)
  
       org 0000h
	   ljmp  main
	   org  0030h
main:  MOV TMOD,#01H	   ;设置定时器工作模式
       MOV TL0,#0B0H	   ;设置定时器的初值
       MOV TH0,#03CH
	   SETB  TR0		   ;启动定时器0
	   MOV R0,#10		   ;产生1S的延时
L1:	   JBC TF0,L2			;使用判断该位是否为1，是则程序跳转，并且该位赋值0
	   SJMP L1			   ;定时器0没有溢出，继续等待溢出
L2:    MOV TH0,#03CH	   ;溢出，定时器0重新赋计数初值
       MOV TL0,#0B0H
	   DJNZ R0,L1		   ;判读定时器0是否溢出10次
	   MOV R0,#10
	   CPL P1.0			   ;溢出10次后，P1.0引脚状态取反
	   AJMP L1			   ;跳到L1标号继续执行
	   END



