新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机定时器工作模式0(timer013位定时器)

单片机定时器工作模式0(timer013位定时器)

作者: 时间:2016-11-18 来源:网络 收藏
;定时器0工作模式0(13位的定时器),P1.1口接的是共阳极的LED灯运行结果是使led灯明一下,暗一下

;定时
COUNTEQU5000;定时一次也只能够定时5ms
LEDEQUP1.1

本文引用地址:https://www.eepw.com.cn/article/201611/315804.htm

ORG0000H
MOVR0,#00H
L0:DJNZR0,L0;刚开始,先进行少量的延时,是各种工作寄存器准备好
MOVR1,00H;作为定时器累加器使用
MOVA,TMOD

ANLA,#11110000B;相与指令
CLRACC.3;GATE=0,允许Timer操作
CLRACC.2;为定时模式(C/T位为0):清零指令
CLRACC.1;TIMER0 M1=0
CLRACC.0;TIMER0 M0=0
MOVTMOD,A
SETBLED

MOVTH0,#(8192-COUNT)/32;取高八位数据
MOVTL0,#32;取底五位(为最大了)
CLRTF0;先把溢出标志位清零
SETBTR0;开始计时

LOOP:JNBTF0,LOOP;直接位寻址为0则转移指令(如果TF0为1,则进入下面的中断处理程序)

INCR1;使R1自增一
MOVTH0,#(8192-COUNT)/32
MOVTL0,#32
CLRTF0;CLEAR TF0 AGAIN
CJNER1,#10,LOOP;不相等则转移指令,这个数可以进行调节
CPLLED ;取反指令
MOVR1,00H
AJMPLOOP
END



评论


技术专区

关闭