定时器基础知识

T0:定时时间到,可触发中断,在中断函数中解决定时任务。最大定时时间71.1ms。

4种工作模式:16位自动重载模式、16位不自动重载模式、8位自动重载模式、不可屏蔽中断的16位自动重载模式。

T1:定时时间到,可触发中断,在中断函数中解决定时任务。最大定时时间71.1ms。

4种工作模式:16位自动重载模式、16位不自动重载模式、8位自动重载模式、T1停止工作

T2:定时时间到,可触发中断,在中断函数中解决定时任务。有8位预分频寄存器,最大定时时间18204.1ms。

固定工作模式:16位重载模式。

T3:定时时间到,可触发中断,在中断函数中解决定时任务。有8位预分频寄存器,最大定时时间18204.1ms。

固定工作模式:16位重载模式。

T4:定时时间到,可触发中断,在中断函数中解决定时任务。有8位预分频寄存器,最大定时时间18204.1ms。

固定工作模式:16位重载模式。

      中断:

当中央处理机 CPU 正在处理某件事的时候外界发生了紧急事件请求,要求 CPU 暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。

例如:小明正在写作业,突然电话响了(中断请求),然后小明接了电话(中断响应),电话结束后,小明接着写作业(中断返回)。

中断系统:实现中断功能的部件。

中断源:请示 CPU 中断的请求源。

中断优先级:当几个中断源同时向 CPU 请求中断,此时优先级最高的中断优先响应(执行中断),然后按照优先级依次执行。CPU 总是先响应优先级别最高的中断请求。高优先级中断可以打断正在执行中的低优先级中断。

数字越大优先级越高。

中断执行步骤(硬件自动完成):

(1)中断请求(IRQ:硬件设备或软件触发中断信号(如键盘输入、定时器到期等)。

(2)中断响应:CPU检测到中断请求,暂停当前执行的任务(语句2代码需执行完毕)。

(3)保存上下文:将当前程序状态(如寄存器、程序计数器)保存到栈或内存中。

(4)识别中断源:通过中断向量表(默认优先级顺序,查找中断函数入口地址)确定中断类型,跳转到对应的中断服务程序(ISR

(5)执行中断服务程序:处理中断(如读取输入数据、更新系统状态等)。

(6)恢复上下文:从栈中恢复原任务的上下文。

(7)返回原任务:CPU继续执行被中断的程序。

(1)定时器向上计数,当定时器计数寄存器溢出,则发生中断。

(2)定时器计算公式:

T0:

T1:

T2:

T3:

T4:

实验说明

跑马灯过程

LED2亮其他灭à延时à LED3亮其他灭à延时à LED4亮其他灭à延时à LED5亮其他灭à延时à LED6亮其他灭à延时à LED7亮其他灭à延时à LED2亮其他灭à延时à ……..

要求:每个灯亮灭间隔为200ms,P2设置为推挽输出。

接线图

编写程序

延时函数不太准确使用下面的:

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐