单片机交流
登录
直播中
张宇
7年用户
1648经验值
私信
关注
[问答]
51单片机中断以及定时器是怎么使用的?
开启该帖子的消息推送
51单片机
51
单片机
中断以及定时器是怎么使用的?
回帖
(1)
杨红
2021-10-14 14:37:01
中断和定时器是51中最为重要的部分,下面就来详细的讲一下中断以及定时器(计数器)的使用。 首先我们先来说一下中断,很多人都会把中断和定时器混淆,这里要强调的是,中断可以采用定时器(计数器)溢出的方式进行中断,这只是中断的一种方式,我们以89C52为例,可供选取的中断源一共有五个
INT0为外部中断,中断序号为0
T0为定时器(计时器)0中断,中断序号为1
INT1为外部中断,中断序号为2
T1为定时器(计时器)1中断,中断序号为3
TI /RI为串行口中断,中断序号为4
T2为定时器(计时器)2中断,中断序号为5
下面以外部中断0为例,介绍一下中断(一定要结合上图)
EA=0;
EX0=1;
IT0=1;
其中EA为全局中断,控制各个中断的响应
EX0为外部中断申请
IT0为外部中断0触发方式选择位,若IT0=0,表示低电平触发;IT0=1,表示跳变沿触发
图中IE0由硬件自动置1或清0,不需人为操作
以上就是外部中断的设置
继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以继续介继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
中断和定时器是51中最为重要的部分,下面就来详细的讲一下中断以及定时器(计数器)的使用。 首先我们先来说一下中断,很多人都会把中断和定时器混淆,这里要强调的是,中断可以采用定时器(计数器)溢出的方式进行中断,这只是中断的一种方式,我们以89C52为例,可供选取的中断源一共有五个
INT0为外部中断,中断序号为0
T0为定时器(计时器)0中断,中断序号为1
INT1为外部中断,中断序号为2
T1为定时器(计时器)1中断,中断序号为3
TI /RI为串行口中断,中断序号为4
T2为定时器(计时器)2中断,中断序号为5
下面以外部中断0为例,介绍一下中断(一定要结合上图)
EA=0;
EX0=1;
IT0=1;
其中EA为全局中断,控制各个中断的响应
EX0为外部中断申请
IT0为外部中断0触发方式选择位,若IT0=0,表示低电平触发;IT0=1,表示跳变沿触发
图中IE0由硬件自动置1或清0,不需人为操作
以上就是外部中断的设置
继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以继续介继续介绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
绍采用定时器(计数器)中断,它的实质是一个16位加1寄存器,由高8位和低8位两个寄存器组成,它们的结构框图如下
我们还是以定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
定时(计数)器0为例,TH0为高8位, TL0为低8位,具体工作方式为先累计第八位(一直到0xff),低8位清0,向高8位进1,直到高8位和低8位全记满(均为0xff),此时若再检测到一个有效脉冲,计数器就将清0,形成中断。
定时器和计数器有两个寄存器(如上图),分别为TCON(控制寄存器)和TMOD(方式选择寄存器),具体含义和操作请看结构图(这里以方式1为例)
首先图右侧为TMOD,主要选择计数的方式,高4位控制定时器1,低4位控制定时器0.
GATE为门控位
C/T为模式选择位,C/T=0为定时器模式,C/T=1为计数器模式
M1M0为工作方式选择位,每个定时器(计数器)都有4种工作方式
下面就介绍中断的申请,在此之前,还要确定定时器初值计算方法
设机器周期为T,定时器产生一次中断的时间为t,需要计数的个数N=t/T,装入TH0和TL0中的数为:TH0=(65536-N)/256 TL0=(65536-10000)%256,其中要说明的是计算机器周期需要知道单片机晶振频率。
具体代码如下
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1;
TMOD=0x01;表示GATE为0,C/T为0,工作方式为方式1(01),具体工作流程:
GATE=0,取反变为1,经过或门威廉希尔官方网站 (无论INT0为何值),最后都输出1,再经过或门威廉希尔官方网站 ,则需要TR0为1才能使威廉希尔官方网站 导通,当定时器记满溢出则产生中断。
举报
更多回帖
rotate(-90deg);
回复
相关问答
51单片机
51
单片机
定时器
2012-08-03
5201
为什么
51
单片机
定时器
0
中断
与串口使用会相冲突
2021-09-03
2303
如何利用
51
单片机
的
定时器
中断
实现音乐的切换?
2021-09-27
2653
关于
51
单片机
中断
与
定时器
的知识点总结的太棒了
2021-10-08
2132
如何用
51
单片机
的
定时器
中断
功能输出方波?
2023-10-20
459
在
51
单片机
中如何去采用
定时器
中断
的方式?
2021-07-16
1508
请问
51
单片机
的
定时器
中断
后是立即重新计数吗?
2019-09-09
4345
C
51
单片机
定时器
中断
的程序该怎样去编写呢
2022-01-21
1109
51
单片机
定时器
计数为什么不用写触发方式?
2023-10-18
220
ML
51
单片机
INT1将
单片机
从掉电模式唤醒后
定时器
工作不正常怎么解决?
2023-06-14
422
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分