51单片机定时器初步学习
51单片机定时器
1.介绍
定时器属于内部资源,其电路与运转都在单片机内部。(也是一种计数器)
1.2定时器作用
- 用于计时系统,软件计时,以及隔一段时间完成一项操作。
- 替代长时间的Delay。
- 多个任务同时执行,提高CPU的运行效率和处理速度。
2.STC89C52的定时器资源
- 数量:3个(其他定时器不一定为此数量)
3.原理
根据时钟信号,经过一段时间来对寄存器操作(加一),我们通过中断来设定何时进行什么任务。
4.定时器的工作模式
- 模式0:13位定时器/计数器(少用)
- 模式1:16位定时器/计数器(常用)
- 模式2:8位自动重装模式(少用)
- 模式3:两个8位计数器
以下只讲解模式1
定时器分为3个部分:
- 时钟
- 计数器
- 中断
4.1如何计数?
模式一中计数器由两个8位寄存器组成(最大数即为65535),时钟信号每一个脉冲加1,当加到65535(准确说是65536)时溢出,变为0(此时将申请中断)。
4.2时钟
本开发板的晶振为11.0592MHz,但是时钟信号可以由外部引脚(如T0),此时可以作为计数器(一个脉冲+1),若由芯片内部时钟,此时即为计数器。
时钟信号进入单片机之后,会进行分频(除以12或是除以6?,如果是12Mhz除以12,那么一个周期就是1us)
4.3中断系统
- 中断系统是为cpu具有紧急事件的实时处理能力而设置的。
- 当cpu在执行任务时有紧急任务需要处理时,cpu可以暂停转而去处理这个紧急事件,然后再返回到原来被中断的地方,这就是中断系统。
- cpu可以有多个中断源,我们可以为不同中断源设置优先级,cpu总是会首先处理优先级最高的任务(若已经在优先级较低的中断处理中,会停止处理,转而优先级高的中断源(即中断嵌套)。)
中断系统的资源
不同系统具有不同的中断资源如:中断源个数不同、中断源优先级不同等。
89C52单片机中断资源如下:
- 中断源个数:8个
- 中断优先级个数:4个
- 中断号如下表
序号 中断源 0 外部中断0 1 定时器0 2 外部中断1 3 定时器1 4 串口中断 5 定时器2 6 外部中断2 7 外部中断3
中断函数写法:
1 |
|
中断优先级,查看手册,或者以此图为参考(51单片机向下兼容,此图也计时器与中断系统的结合)
5.配置
了解完基本原理,剩下的即为配置寄存器。
此图为定时器的寄存器
51单片机定时器初步学习
http://jiangno.com/2024/09/03/24_9_3_timer/