首页 > 编程知识 正文

单片机定时器详解,c51单片机定时器的工作原理

时间:2023-05-06 01:59:24 阅读:112220 作者:4545

一、中断系统

1.1 .中断的概念

什么是中断:当CPU处理一个事件a时,已发生的另一个事件b请求CPU处理,然后CPU暂时中断当前正在执行的任务以处理事件b,当CPU处理事件b后,返回先前中断的位置以返回原始事件a

1.2 .中断流示意图

使CPU中断的事件称为中断源。 中断源向CPU发出中断请求,CPU将暂时中断原执行的事件a转到事件b。 事件b处理完成后,继续返回原始中断处(此过程称为中断恢复,原始中断处称为断点),然后继续执行原始事件。

1.3 .中断优先级

1.4中断的好处

(1)提高CPU效率

CPU是计算机的指挥中心,与外围设备(例如,按键、显示器等)通信的方法有两种:咨询和中断

1 )查询)无论外围i/o是否需要服务,CPU都每隔一定时间依次执行查询。 在此查询方法中,CPU需要花费时间来服务查询

2 )中断:外围设备需要通信服务时,主动告诉CPU,CPU停止当前工作并处理中断程序,提高CPU的工作效率。

)2)可实时处理

外围设备可以随时发出请求中断的信号,CPU接到请求后立即处理,满足实时系统的需要

)3)能及时处理故障

电脑工作时无论如何都会发生故障。 eg :如果系统关闭,内存错误,外围设备无法正常工作,则可以通过中断向中断源处理器提出请求来解决故障。

二.计时器使用步骤

1 .开启总中断:

启用全部(ea )=1;

2 .设置计时器的操作方法:

TMOD寄存器:定时器/计数器模式控制寄存器

其中,M1和M0是计时器的动作模式的设定位,总共可以设定4种动作模式。

方式0(m1m0=00 ) 13位的定时/计数器

采用方式1(m1m0=01 ) 16位定时/计数器//通常方式1

方式2(m1m0=10 ) 8位自动重载时间计数器

方式3(m1m0=11 ) T0分为两个独立的8个定时/计数器; T1这样停止计数

3 .计时器填充初始值

填写初始值的要点:

单片机晶体频率: 12M,振动周期为1/12us

标准的51单片机为12T,即12个时钟周期,增加1次12 x 1/12 us=1us,即1us。

例如,将计时器设定为动作模式1,将初始值设定为10ms:

TMOD=0x01;

th0=(65536-10000; //10000表示10000个1us

TL0=(65536-10000;

4 .打开计时器中断

et0=1:启用时间0

et1=1:启用时间1

5 .打开计时器(开始计数) ) )。

TR0=1:打开计时器0

TR1=1:打开计时器1

6 .编写中断服务函数(ISR )

注:中断服务函数不能包含参数和返回值

计时器使用程序

注意:

1 )定时器和中断都是单片机的内部资源,开发板上没有芯片。 另外,计时器的初始化程序溢出时,会自动执行计时器中断子程序。 你不需要自己打电话。 所有这些都由硬件直接控制。

2 )定时器计算固定脉冲,其定时时间可以计算。 效果优于延迟函数,可以提高CPU的效率。 延迟函数必须由CPU执行,因此在此期间CPU不能执行其他功能。 计时器将在需要时自动调用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。