新闻  |   论坛  |   博客  |   在线研讨会
利用软件计数器实现长时间定时
tvb2058 | 2007-09-10 14:08:33    阅读:2215   发布文章

 

---------------------------------------------------------------------------

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 ;
真正工作时,这里可写任意程序
TIME0: ;定时器0的中断处理程序
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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客