定时器的初始值要怎么设定
。由于单片机的定时器是递加式的,所以最大值减去所要定时的值就是初值,举例如下
最大值为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 的定时器计算功能
我们直接输入我们需要的时间 这边会自动帮我们生成代码 我们只需要复制下来 粘贴就行 在使用这个代码时 需要注意是写 AUXR 还是直接设置TMOD
上面是一些定时器的寄存器
中断 系统
中断优先级
中断结构
中断配置
EA=1;//开启中断
EX0=1;//开启外部中断
IT0=1;//设置中断触发方式
最后我们根据需要去选择中断优先级 去选择