(定时器/计数器)&中断系统(详解与使用)

本文详细介绍了51单片机中的定时器/计数器工作原理、中断系统、TCON和TMOD寄存器、中断级别以及配置方法。内容包括定时器/计数器的四种工作方式、中断请求和响应机制,以及在实际应用中的配置示例。

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

目录

讲解

简介

定时器/计数器

中断

51单片机

定时器/计数器

定时器的区别

工作原理

脉冲来源

TCON控制寄存器

TMOD方式寄存器

工作方式

时钟周期/机器周期计算

定时/计数器初始化

中断

TCON寄存器

中断级别

中断允许寄存器IE

中断优先级寄存器IP

配置

定时器

外部中断


讲解

简介

定时器/计数器

定时器实际上也是计数器,只是计数的是固定周期的脉冲

定时和计数只是触发来源不同(时钟信号和外部脉冲)其他方面是一样的。

 定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔“一秒”,计数单元的数值就增加一,当计数单元数值增加到“设定的闹钟提醒时间”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使程序跳转到中断服务函数中执行。

中断

中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。

假设一个人在家看电视,这时候突然门铃响了,这个人此时就要停止看电视去开门,然后关上门后继续回来看电视,这个例子当中看电视这个动作就是常规的计算机运行过程,门铃响就相当于一个中断信号(中断请求),用户这时停止看电视(中断当前程序)起来开门(中断响应),关上门后(中断处理结束)继续看电视(继续执行当前程序)。这一整个过程就是中断发生时,CPU的处理方式。

  还是上面的例子,现在假设门铃响的时候水烧开了,此时用户可以选择先开门后关水,也可以选择先关水后开门,这个先后关系就是中断优先级,假设门铃的中断优先级比烧水的优先级高,那就会先开门,后关水,反之,则会先关水,后开门,这就是针对两个及两个以上中断同时发生的时候CPU根据中断优先级执行中断的过程。

51单片机

定时器/计数器

16位寄存器T0、T1分别由TH0、TL0和TH1、TL1四个8位计数器组成

定时器的区别

        T0可分为2个独立的8位定时器,而定时器1不能;

        T1可作为串口的波特率发生器,而定时器0不能。

工作原理

        用途:定时器和计数器

        核心:加1计数器

        原理:每来一个脉冲则加1计数器加1,当加到寄存器要溢出时再来一个脉冲使加1计数器归零(溢出)同时使TCON寄存器中的TF0(或TF1)置1,向CPU发出中断请求。

脉冲来源

        定时器:由系统的时钟晶振输出脉冲源提供

        计数器:脉冲来源是由T0或T1引脚输入的外部脉冲源提供

注意: T0或T1都不能同时既做定时器也做计数器  

TCON控制寄存器

启动和停止定时/计数器的计数,并控制定时器的工作状态,支持按位寻址。单片机复位后清0。

注意:TCON寄存器中的低四位和定时计数器无关,和中断相关

位序 D7 D6 D5 D4 D3 D2 D1 D0
名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
名称 说明 功能
TF1 T1溢出标志位 当T1计数溢出时,硬件将TF1置1,并申请中断。进入中断后,由硬件自动清0。需要注意的是如果使用定时器的中断,那么该位不需要人为操作,但是如果使用软件查询方式,当查询到该位为1后,须用软件清0。
TR1 T1运行控制位 TR1=1;启动定时器。TR1=0;关闭定时器
TF0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧的曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值