51单片机入门:定时器与中断系统

本文详细介绍了51单片机中的定时器功能、计数机制、定时与计数的应用、与之相关的寄存器如TH1、TL1、TH0、TL0、TMOD和TCON,以及中断系统的结构、中断源、中断优先级和中断服务函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时器的介绍

定时器:51单片机的定时器属于单片机的内部资源,其电路的设计连接和运转均在单片机内部完成。根据单片机内部的时钟或者外部的脉冲信号对寄存器中的数据加1,定时器实质就是加1计数器。因为又可以定时又可以计数,又称之为定时/计数器

作用:在写程序时经常会用到延时代码,比如用循环来实现延时(即让CPU不断进行记数)。但CPU在记数(执行延时)的时候做不了其他的事情,且这种延时是不精确的。因此需要一个工具来帮助CPU进行记数,而这个工具便是定时器。

例如你想在十分钟后做某事,如果身边没有任何工具,你就要自己数600秒,而在你数数时无法分心做其他事。但如果身边有个闹钟,就能定一个10分钟的闹钟,而在这10分钟内你可以做别的事情。

需要注意的是定时器大部分使用情况要搭配中断系统

与定时器相关的寄存器:TH1、TL1、TH0、TL0、TMOD、TCON。

与中断相关的寄存器:IE、IP。


定时与计数

定时功能:通过内部或外接的晶振(即SYSclk),对内部寄存器中的值进行递增计数,当计数到预设值时,定时器会产生一个中断请求信号,通知CPU进行相应处理。(相当于闹钟响了提醒你该做事情了,即定时作用)

计数功能:主要通过外部引脚(T0 Pin/T1 Pin)来实现,只有当外部事件发生时才会产生一个脉冲信号,触发内部寄存器进行加1操作。(它不像定时功能一样以固定的频率递增计数)


定时器资源

以STC89C52为例,其定时器个数为3个(T0、T1、T2),T0、T1与传统的51单片机兼容,T2是此型号单片机增加的资源。

 注意:定时器的资源和单片机的型号关联在一起,不同型号可能含有不同的定时器个数和操作方式。但一般来说,T0、T1的操作是所有51单片机共有的。


CPU时序

指令周期:CPU每取出一条指令并执行这条指令,都要完成一系列的操作,这一系列操作所需要的时间称为指令周期。

机器周期(CPU周期):在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段(如取指、译码、执行等),每一阶段完成一个基本操作。完成一个基本操作所需要的时间称为机器周期。

时钟周期:时钟周期T又称为振荡周期,由单片机片内振荡电路OSC产生,常定义为时钟脉冲频率的倒数,是时序中最小的时间单位。例如,若某单片机时钟频率为1MHz,则它的时钟周期T应为1μs。

三种周期的关系:指令周期由若干(通常1~4)个机器周期组成,而机器周期又包含若干(通常为12)个时钟周期。

状态周期:每个状态周期为时钟周期的两倍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值