1-8 T0-T4定时器跑马灯
本文介绍了定时器T0-T4的基本特性,包括最大定时时间(T0/T1为71.1ms,T2-T4为18204.1ms)和工作模式(16位/8位自动重载等)。详细阐述了中断机制:当CPU处理任务时遇到高优先级请求,会保存当前状态,执行中断服务程序后恢复原任务。以跑马灯实验为例,要求使用定时器实现LED灯200ms间隔的亮灭切换,P2口设为推挽输出。文中特别指出要避免使用不准确的延时函数,建议采用定时器中
定时器基础知识
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设置为推挽输出。
接线图

编写程序




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



更多推荐



所有评论(0)