;使用守时器准确延时1秒
;循环点亮P1口接的八只发光二极管。
ORG 0000H
AJMP START
ORG001BH;T1中止进口地址
AJMP INT_T1
ORG0030H
START:
MOVSP,#60H
MOVTMOD,#10H;置T1为方法1
MOVTL1,#00H;延时50mS的时间常数
MOVTH1,#4CH
MOVR0,#00H
MOVR1,#20
SETB TR1;发动守时器1,开端守时
SETB ET1
SETB EA;开中止
SJMP $
INT_T1:;T1中止服务子程序
PUSH ACC;维护现场
PUSH PSW
PUSH DPL
PUSH DPH
CLRTR1;封闭守时器1,中止守时
MOVTL1,#00H;延时50mS常数
MOVTH1,#4CH
DJNZ R1,EXIT
MOVR1,#20;延时一秒的常数
MOVDPTR,#DATAb ;置常数表基址
MOVA,R0;置常数表偏移量
MOVC A,@A+DPTR;读常数表
MOVP1,A;送P1口显现
INCR0
ANLR0,#07H
EXIT:
SETB TR1;发动守时器1,开端守时
POPDPH;康复现场
POPDPL
POPPSW
POPACC
RETI
;发光二极管显现常数表
DATAb:DB 55H,0AAH,05H,0AH,50H,0A0H,0FFH,0H
END
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/258348.html