;************************************************** ; 长沙菊阳微电子有限公司 ;  http://www.jywdz.com ;功能描述:利用软件计数器实现长时间定时 ; 12MHZ,1S定时 ;************************************************** ORG 0000H AJMP START ORG 000BH ;定时器0的中断向量地址 AJMP TIME0 ;跳转到真正的定时器程序处 ORG 30H START: MOV P1,#0FFH ;关所有灯 MOV R7,#00H ;软件计数器预清0 MOV TMOD,#00000001B ;定时/计数器0工作于方式1 MOV TH0,#3CH MOV TL0,#0B0H ;即数15536 SETB EA ;开总中断允许 SETB ET0 ;开定时/计数器0允许 SETB TR0 ;定时/计数器0开始运行 LOOP: AJMP LOOP ;这里可写任意程序 ;定时器0的中断处理程序 TIME0: INC R7 MOV A,R7 CJNE A,#20,T_RET ;R7单元中的值到了20了吗? T_L1: CPL P1.0 ;到了,取反P10 MOV R7,#0 ;清软件计数器 T_RET: MOV TH0,#3CH MOV TL0,#0B0H ;重置定时常数 RETI END