;*****************************************;
;试验称号: 守时器T0操控LED灯闪耀时刻的试验;
;作者: 龙谊 ;
;版别: VER 1.0 ;
;阐明: 运用守时器T0 ;
;修正: 无 ;
;编程言语: 汇编言语 ;
;******************************************;
一、作业形式0
ORG00H
MOVTMOD,#00H ;设定守时器T0作业为形式0
START: CPLP0.0 ;位P0.0做取反处理,使LED灯亮与灭替换作业
MOVR1,#100 ;延时0.2秒
CALLDELAY ;设守时刻为2毫秒(即2000微秒)
JMPSTART
DELAY: SETBTR0 ;发动守时器T0开端计时
D1: MOVTL0,#(8192-2000)MOD 32 ;设定TL0的值
MOVTH0,#(8192-2000)/32 ;设定TH0的值
D2: JBCTF0,D3 ;TF0=1?是就跳到D3,一起铲除TF0
JMPD2 ;不是则跳到D2
D3: DJNZR1,D1 ;守时够0.2秒了吗?
CLRTR0 ;够了则中止T0计时
RET
END
二、作业形式1
ORG00H
MOVTMOD,#01H ;设定守时器T0作业为形式1
START: CPLP0.0 ;位P0.0做取反处理,使LED灯亮与灭替换作业
MOVR1,#20 ;延时0.2秒
CALLDELAY ;设守时刻为10毫秒(即10000微秒)
JMPSTART
DELAY: SETBTR0 ;发动守时器T0开端计时
D1: MOVTL0,#(65536-10000)MOD 256 ;设定TL0的值
MOVTH0,#(65536-10000)/256 ;设定TH0的值
D2: JBCTF0,D3 ;TF0=1?是就跳到D3,一起铲除TF0
JMPD2 ;不是则跳到D2
D3: DJNZR1,D1 ;守时够0.2秒了吗?
CLRTR0 ;够了则中止T0计时
RET
END
三、作业形式2
ORG00H
MOVTMOD,#02H ;设定守时器T0作业为形式2
START: CPLP0.0 ;位P0.0做取反处理,使LED灯亮与灭替换作业
MOVR2,#04 ;延时0.2秒
LOOP:MOVR1,#200 ;延时50毫秒
CALLDELAY ;设守时刻为250微秒
DJNZR2,LOOP ;守时够0.2秒了吗?
JMPSTART
DELAY: SETBTR0 ;发动守时器T0开端计时
D1: MOVTL0,#(256-250) ;设定TL0的值
MOVTH0,#(256-250) ;设定TH0的值
D2: JBCTF0,D3 ;TF0=1?是就跳到D3,一起铲除TF0
JMPD2 ;不是则跳到D2
D3: DJNZR1,D1 ;守时够50毫秒了吗?
CLRTR0 ;够了则中止T0计时
RET
END
四、作业形式3
ORG00H
MOVTMOD,#03H ;设定守时器T0作业为形式3
START: CPLP0.0 ;位P0.0做取反处理,使LED灯亮与灭替换作业
MOVR2,#04 ;延时0.2秒
LOOP: MOVR1,#200 ;延时50毫秒
CALLDELAY ;设守时刻为250微秒
DJNZR2,LOOP ;守时够0.2秒了吗?
JMPSTART
DELAY: SETBTR0 ;发动守时器T0开端计时
D1: MOVTL0,#(256-250) ;设定TL0的值
D2: JBCTF0,D3 ;TF0=1?是就跳到D3,一起铲除TF0
JMPD2 ;不是则跳到D2
D3: DJNZR1,D1 ;守时够50毫秒了吗?
CLRTR0 ;够了则中止T0计时
RET
END
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/259928.html