天天看点

51 单片机 定时器与中断的配置

定时器的初始值要怎么设定

。由于单片机的定时器是递加式的,所以最大值减去所要定时的值就是初值,举例如下

51 单片机 定时器与中断的配置

最大值为100,我们只需要38,怎么办呢,由于是递加的,我们只需要在62时开始计时就可以了

定时器的定时时间T = (65536-X),单位是us;

定时器初值X = 65536-T;

假设定时时间T=10ms=10000us,

那定时器初值X=65536-10000=55536us,也就是定时器0从55536开始递加到65536就是10ms,所以55536就是定时器的初值,55536转化为十六进制为0Xd8 f0,所以定时器的初值为:

TH0 = 0XD8;

THL = 0XF0;

还有一种简单的方法 我们可以使用STC- isp 的定时器计算功能

51 单片机 定时器与中断的配置

我们直接输入我们需要的时间 这边会自动帮我们生成代码 我们只需要复制下来 粘贴就行 在使用这个代码时 需要注意是写 AUXR 还是直接设置TMOD

51 单片机 定时器与中断的配置
51 单片机 定时器与中断的配置
51 单片机 定时器与中断的配置

上面是一些定时器的寄存器

中断 系统

中断优先级

51 单片机 定时器与中断的配置
51 单片机 定时器与中断的配置

中断结构

中断配置

EA=1;//开启中断
		EX0=1;//开启外部中断
		IT0=1;//设置中断触发方式
           

最后我们根据需要去选择中断优先级 去选择