第3章-MCS-51中断系统与内部定时计数器.知识讲解

合集下载

定时计数器详解

定时计数器详解

mcs-51单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。

可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。

在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。

:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。

其访问地址依次为8AH-8DH。

每个寄存器均可单独访问。

这些寄存器是用于存放定时或计数初值的。

此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。

这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。

TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。

当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。

定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。

当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。

显然,定时器的定时时间与系统的振荡频率有关。

因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。

如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。

若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。

当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。

计数器在每个机器周期的S5P2期间采样引脚输入电平。

若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。

MCS-51单片机内部定时器计数器

MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器

第3章 MCS-51指令系

第3章  MCS-51指令系
bit——内部数据RAM或部分特殊功能寄存器里的可寻址 位的位地址。 • ——表示对该位操作数取反。 • rel——补码形式的8位偏移量。用于相对转移和所有条件 转移指令中。偏移量相对于当前PC计算,在-128~+127 范围内取值。
单片机技术及应用
3.3.2 数据传送类指令 • 数据传送类指令一般的操作是把源操作数传送到
单片机技术及应用
3.2.5 变址寻址
• 这种寻址方式用于访问程序存储器中的数据表格, 它把基址寄存器(DPTR或PC)和变址寄存器A的内 容作为无符号数相加形成16位的地址,访问程序
存储器中的数据表格。操作时是以某个寄存器的
内容为基础,然后在这个基础上再加上地址偏移
量,形成真正的操作数地址。需要特别指出的是, 用来作为基础的寄存器可以是PC或是DPTR,地 址偏移量存储在累加器A中。例如:
要操作数,因此在使用操作数的过程中就存在一个寻找存储 单元的问题。 MCS-51指令系统的寻址方式有下列几种: • ① 直接寻址。 • ② 立即数寻址。 • ③ 寄存器寻址。 • ④ 寄存器间接寻址。 • ⑤ 变址寻址。 • ⑥ 位寻址。 • ⑦ 相对寻址。
单片机技术及应用
3.2.1 直接寻址 • 在指令中含有操作数的直接地址,该地址指出了参与操作
单片机技术及应用
单片机技术及应用
第3章 MCS-51指令系
单片机技术及应用
教学提示 • 本章重、难点在于理解单片机MCS-51指令系统
的寻址方式,以及数据传送类指令、算术运算类 指令、逻辑操作类指令、位操作指令和控制转移 类指令操作的含义和具体使用方法。 教学目标 • 掌握指令系统的寻址方式。 • 掌握汇编语言指令的格式。 • 掌握汇编语言指令的功能及应用。 • 掌握伪指令的格式及应用。

单片机中断系统和定时计数器

单片机中断系统和定时计数器

单片机中断系统和定时计数器在单片机的世界里,中断系统和定时计数器就像是两个得力的助手,为单片机的高效运行和精确控制发挥着至关重要的作用。

接下来,让我们一起深入了解一下这两个重要的概念。

首先,咱们来聊聊中断系统。

想象一下,单片机正在专心致志地执行着一个任务,突然有个紧急情况发生了,比如外部设备传来了一个重要的数据需要立即处理。

这时候,中断系统就像是一个“紧急警报器”,让单片机暂停当前的任务,迅速去处理这个紧急情况。

处理完之后,再回到原来被中断的地方继续执行之前的任务。

中断系统的好处那可太多了。

它大大提高了单片机的工作效率。

要是没有中断,单片机就得一直按照顺序依次执行任务,可能会错过一些关键的信息或者无法及时响应紧急事件。

有了中断,单片机就能在多个任务之间灵活切换,做到“分身有术”。

中断系统一般由中断源、中断允许控制、中断优先级控制和中断响应等部分组成。

中断源就是那些能引起中断的事件,比如外部中断、定时器中断、串口中断等等。

中断允许控制就像是一道“开关”,决定了是否允许某个中断源发出中断请求。

中断优先级控制则是用来确定当多个中断同时发生时,先处理哪个中断,后处理哪个中断。

再来说说定时计数器。

在很多实际应用中,我们经常需要对时间进行精确的测量和控制,这时候定时计数器就派上用场了。

比如说,我们要控制一个小灯每隔1 秒钟闪烁一次,或者要统计外部脉冲的个数,都可以用定时计数器来实现。

定时计数器的工作原理其实并不复杂。

它就像是一个不断计数的“小闹钟”。

可以设置为定时模式或者计数模式。

在定时模式下,它根据单片机内部的时钟信号进行计数,当计数值达到设定的值时,就会产生一个定时中断。

在计数模式下,它对外部输入的脉冲进行计数,当计数值达到设定值时,也会产生中断。

比如说,我们要实现一个 1 毫秒的定时,假设单片机的时钟频率是12MHz,那么一个机器周期就是 1 微秒。

如果我们要定时 1 毫秒,就需要设置定时计数器的初值,让它经过 1000 个机器周期后产生中断。

第3章MCS-51单片机的中断系统

第3章MCS-51单片机的中断系统
某人看书执行主程序日常事务电话铃响中断信号int0中断请求暂停看书暂停执行主程序中断响应书中作记号当前pc入栈保护断点电话谈话执行io程序中断服务继续看书返回主程序中断返回执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回中断与转子的区别中断是随机的转子事先编程决定断点
3.3 MCS-51的中断系统 的中断系统
4、中断响应过程 、 关中断:屏蔽其它中断请求信号。 关中断:屏蔽其它中断请求信号。 保护断点:将断点地址压入堆栈保存,即当前 值入栈 值入栈。 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 寻找中断源:中断服务程序入口地址送 ,转入中断服务。 寻找中断源:中断服务程序入口地址送PC,转入中断服务。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 中断处理:执行中断源所要求的程序段。 中断处理:执行中断源所要求的程序段。 恢复现场:恢复被使用寄存器的原有内容。 恢复现场:恢复被使用寄存器的原有内容。 开中断:允许接受其它中断请求信号。 开中断:允许接受其它中断请求信号。 中断返回:执行 指令, 中断返回:执行RETI指令,栈顶内容 指令 栈顶内容→PC,程序跳转回断点。 ,程序跳转回断点。
当前PC入栈 书中作记号 当前 入栈
主程序 执行主程序 中断请求 断点 继续执行主程序 中断返回 执行中断 处理程序 中断响应
中断与转子的区别 中断是随机的, 中断是随机的,转子事先编程决定
3.3.1 中断的定义 2、几个术语 、 主程序:原来正常运行的程序称为主程序。 主程序:原来正常运行的程序称为主程序。 断点: 主程序被断开的位置(或地址)称为“断点” 断点 主程序被断开的位置(或地址)称为“断点”。 中断源:引起中断的原因,或发出中断申请的来源。 中断源 引起中断的原因,或发出中断申请的来源。 引起中断的原因 中断请求:中断源要求服务的请求称为“中断请求” 中断请求 中断源要求服务的请求称为“中断请求” 。 中断源要求服务的请求称为 中断响应: 终止当前执行的程序, 中断响应:CPU终止当前执行的程序,去执行相应中断源 终止当前执行的程序 的中断请求。 的中断请求。 中断服务或中断处理程序: 中断服务或中断处理程序: “中断”之后所执行的相应的处理程序。 中断”之后所执行的相应的处理程序。 中断系统:能够实现中断处理功能的部件。 中断系统:能够实现中断处理功能的部件。

51单片机中断系统详解(定时器、计数器)

51单片机中断系统详解(定时器、计数器)

51单片机中断系统51单片机中断级别中断源默认中断级别序号(C语言用)INT0---外部中断0 最高0T0---定时器/计数器0中断第2 1INT1---外部中断1 第3 2T1----定时器/计数器1中断第4 3TX/RX---串行口中断第5 4T2---定时器/计数器2中断最低 5中断允许寄存器IE位序号DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0符号位EA ------- ET2 ES ET1 EX1 ET0 EX0 EA---全局中允许位。

EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。

EA=0,关闭全部中断。

-------,无效位。

ET2---定时器/计数器2中断允许位。

EA总中断开关,置1为开;ET2=1,打开T2中断。

EX0为外部中断0(INT0)开关,……ET2=0,关闭T2中断。

ET0为定时器/计数器0(T0)开关,……ES---串行口中断允许位。

EX1为外部中断1(INT1)开关,……ES=1,打开串行口中断。

ET1为定时器/计数器1(T1)开关,……ES=0,关闭串行口中断。

ES为串行口(TX/RX)中断开关,……ET1---定时器/计数器1中断允许位。

ET2为定时器/计数器2(T2)开关,……ET1=1,打开T1中断。

ET1=0,关闭T1中断。

EX1---外部中断1中断允许位。

EX1=1,打开外部中断1中断。

EX1=0,关闭外部中断1中断。

ET0---定时器/计数器0中断允许位。

ET0=1,打开T0中断。

ET0=0,关闭T0中断。

EX0---外部中断0中断允许位。

EX0=1,打开外部中断0中断。

EX0=0,关闭外部中断0中断。

中断优先级寄存器IP位序号DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0位地址--- --- --- PS PT1 PX1 PT0 PX0-------,无效位。

PS---串行口中断优先级控制位。

(整理)MCS-51单片机的中断系统和定时计数器.

(整理)MCS-51单片机的中断系统和定时计数器.

MCS-51单片机的中断系统和定时/计数器中断系统在计算机应用系统中起着十分重要的作用,良好的中断系统能提高计算机对外界异步事件的处理能力和响应速度,从而扩大计算机的应用范围。

本章介绍MCS-51的单片机的中断系统和定时器/计数器。

1.1中断系统结构1.1.1 MCS-51中断系统的总体结构在单片机中,为了实现中断功能而配置的软件和硬件,称为中断系统。

中断系统的处理过程包括中断请求、中断响应、中断处理和中断返回。

如图5.1所示,MCS-51中断系统的总统结构,图中包括:5个中断请求源,4个用于中断控制和管理的可编程和可位寻址的特殊功能寄存器(中断请求源标志寄存器TCON 及SCON ,中断允许控制寄存器IE 和中断优先级控制寄存器IP ),提供两个中断优先级,可实现二级中断嵌套,且每一个中断源可编程为开放或屏蔽。

1.1.2 中断请求源及相关的特殊功能寄存器TCON 和SCON所谓中断源就是引起中断的原因或发出中断请求的中断来源。

在51子系列中有五个中断源(52子系列为6个)它们是:图5.1 中断系统总体结构INT——外部中断0请求,低电平或脉冲下降沿有效。

由P3.2引脚输入。

INT——外部中断1请求,低电平或脉冲下降沿有效。

由p3.3引脚输入。

1T0——定时器/计数器0溢出中断请求。

外部计数脉冲由P3.4引脚输入。

T1——定时器/计数器1溢出中断请求。

外部计数脉冲由P3.5引脚输入。

TX/RX——串行中断请求。

当串行口完成一帧发送或接受时,请求中断。

每一个中断源都对应有一个中断请求标志位来反映中断请求状态,这些标志位分布在特殊功能寄存器TCON和SCON中。

1. 定时器/计数器控制寄存器TCONTCON为定时器/计数器的控制寄存器,它同时也锁存T0、T1溢出中断源标志、外部中断请求标志,与这些中断请求源相关的位含义如下:TCON(88H):INT)为边沿触发或电平触发方式的控制位。

IT0(TCON.0):选择外部中断请求0(0INT引脚位低电平时向CPU申请中断;IT0=1,为边沿触发方IT0=0,为电平触发方式,0INT输入脚上的高到低的负跳变时向CPU申请中断。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

每一中断源可编程为高优先级或低优先级中断,以实现二级嵌套。默 认的优先次序为:INT0、C/T0、INT1、C/T1、串行口中断(依次从高 到低)
中断响应
中断响应:当有某个中断源请求中断,同时特殊功能
寄存器IE中相应控制位置“1”状态,则CPU可以响应 中断;若有多个中断源,则CPU响应中断级别最高若中 断源;若优先级相同,则8051单片机按如下优先级顺 序进行响应。
C语言中断程序举例
定时器/计数器的工作方式与控制
定时/计数器结构
8051单片机有2个16位的定时/计数器:定 时器0(T0)和定时器1(T1)。它们都有定时 器或事件计数的功能,可用于定时控制、延时、 对外部事件计数和检测等场合。
T0由2个特殊功能寄存器TH0和TL0构成,T1 则由TH1和TL1构成。见P8
常用中断号与中断向量
中断号 n 0 1 2 3 4
中断源 外部中断 0
定时器 0 外部中断 1
定时器 1 串行口
中断向量 8n+3 0003H 000BH 0013H 001BH 0023H
中断系统的初始化
1.开相应中断源的中断。(设置IE) 2.设定中断优先级。(设置IP) 3.若为外部中断,设定外部中断的触发方式。(设置 TCON的IT0、IT1)
有关的特殊功能寄存器(SFR)有: 中断允许寄存器IE 中断优先级控制寄存器IP 中断源寄存器(TCON、SCON中的有关位) 注:均可位寻址。
TCON
中断请 求标志
INT0 IE0
中断系统结构图
IE
中断允 许控制
IP
中断优 先级
EX0
PX0
T0 TF0
ET0
PT0
INT1 IE1
EX1
PX1
T1 TF1
INT0、C/T0、INT1、C/T1、串行口中断
响应过程
8051单片机接收到中断申请后,把申请锁定在各自的中断标志 位中,在下一个机器周期按内部优先顺序查询中断标志,并在 下一个机器周期完成检测和优先级排队,以决定响应哪个中断 源,响应中断过程包括三部分工作: 响应过程——单片机响应中断后,自动执行下列操作: ① 保存断点地址,将PC中的内容压入堆栈。 ② 关闭中断,将中断允许寄存器IE有效位复位为0。 ③ 根据中断源入口地址,转入执行相应中断服务程序。
第3章-MCS-51中断系统与内部 定时计数器.
主程序
执行主 程序 中断请求
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
中断返回
中断系统结构
MCS-51单片机有5个中断源,分别是两个外部中断源 INT0和INT1,两个定时/计数器中断T0和T1和一个串行口 中断。
具有二个中断优先级:高优先级和低优先级,可实现二 级中断服务程序的嵌套。允许或禁止向CPU请求中断。
中断向量
中断程序的入口地址称为中断向量,8051单片机一
旦响应中断就会根据不同的中断源转入相应的固定
入口地址(中断向量)执行中断服务程序。
不同中断源对应的中断服务程序入口地址如下:
中断源
入口地址
INT0
0003H
T0
000BH
INT1
0013H
T1
001BH
RI/TI
0023H
中断请求的撤除
中断响应后,TCON和SCON的中断请求标志位应及时撤除, 否则系统在下一个机器周期查询到中断标志位仍然有效后,便 会重复响应。中断源不同,中断请求撤除的方式也不同: (1)定时中断请求的撤销。系统自动将TF0/TF1标志位清零 ,不需要用户参与。 (2)串行中断请求的撤销。需要软件清零。 (3)外部中断请求的撤销。 ①负边沿触发:系统自动将外部中断标志位IE0/IE1清零。 ②低电平触发:系统响应中断后自动将中断标志位清零,但是 如果连接外部中断引脚(INT0/INT1)的低电平不撤除,在以 后的周期采样时,系统便会重复响应。
中断服务函数
Keil C51编译器支持在C语言源程序中直接编写 8051单片机的中断服务函数程序,一般形式为:
函数类型 函数名(形式参数表) [interrupt n] 关键字intrrupt后面的n是中断号, n的取值范围为
0~31。编译器从8n+3处产生中断向量, 具体的中断号n 和中断向量取决于8051系列单片机芯片型号。
注意:响应中断后,CPU并不清零中断标志位,必须软件清零。
(3)中断允许控制寄存器IE
D7 D6 D5 D4 D3 D2 D1 D0 0 禁止
EA
ES ET1 EX1 ET0 EX0 1允许
实现两级控制 注意:复位时,禁止所有中断
(4)中断优先级控制寄存器(IP)
D7 D6 D5 D4 D3 D2 D1 D0 0 低级别 PS PT1 PX1 PT0 PX0 1 高级别
(1)定时控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TF1
TF0
IE1 IT1 IE0 IT0
中断请求标志
外部中断触发方式选择:ຫໍສະໝຸດ 0 1低电平 下降沿
注意:电平触发时,在中断返回前应撤除中断源。
(2)串行口控制寄存器SCON
D7 D6 D5 D4 D3 D2 D1 D0 串行中断 TI RI 请求标志
一、定时器/计数器的功能
定时/计数器的核心部件是16位二进制加1计数器 (TH0、TL0或TH1、TL1) 。具有两个功能:
1. 定时功能----计数输入信号是内部时钟脉 冲fosc/12,每个机器周期使计数器的值加1。
2. 计数功能----计数脉冲来自相应的外部输入引 脚,T0为P3.4,T1为P3.5。输入脉冲负跳变时, 计数器值加1。计数的最高频率一般不超过fosc的 1/24(大于两个机器周期),高低电平至少保持 一个机器周期
外部中断有两种触发方式,即低电平方式和负边沿 方式。 定时器和串行口中断分别是: T0溢出中断; 由片内定时/计数器0提供 T1溢出中断; 由片内定时/计数器1提供 串行口中断RI/TI; 由片内串行口提供
与中断有关的特殊功能寄存器
与中断有关的特殊功能寄存器有四个:
TCON----定时控制寄存器, IE----中断允许控制寄存器, IP----中断优先级控制寄存器, SCON----及串行口控制寄存器。
ET1
PT1
TI TI RI RI
ES
≥1
PS
EA
中断源 SCON
高级 内 部 入口 查 地址 询
低级 内 部 查 询 入口
地址
中断源
8051单片机共有5个中断源,分 别是2个外部中断、 2个定时中 断和1个串行中断。 外部中断是: 外部中断0--INT0,由P3.2提供, 外部中断1—INT1,由P3.3提供,
相关文档
最新文档