微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机定时器工作模式0(timer013位定时器)

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

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

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top