单片机的中断系统与定时计数器_第1页
单片机的中断系统与定时计数器_第2页
单片机的中断系统与定时计数器_第3页
单片机的中断系统与定时计数器_第4页
单片机的中断系统与定时计数器_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及其应用,孙砚飞,单片机的中断与定时系统,中断的基本概念 中断系统的设置 中断的应用,1.中断源 MCS-51单片机共有5个中断源。 外部中断源(2个) 外部中断0、1通过引脚INT0(P3.2)、INT1(P3.3)接受外部中断请求信号,可选择电平触发或边沿触发(跳变触发)方式。 内部中断源(3个) 定时器/计数器T0、T1溢出中断;串行口发送/接收中断(共用一个中断源)。,MCS-51中断系统,中断入口地址 中断入口地址(中断矢量)是指中断服务程序的入口地址。 5个中断源的中断入口地址,中断请求标志,定时器控制寄存器TCON中的中断请求标志 IT0、IT1:外部中断0、1电平触发

2、方式选择位。“0”低电平有效;“1”下降沿有效。 IE0、IE1:外部中断0、1中断请求标志。置位时有中断请求,中断响应后自动清零。 TF0、TF1:定时器/计数器T0、T1计数溢出中断请求标志。置位时有中断请求,中断响应后自动清零。 TCON可位寻址。复位后,TCON=00H。,串行口控制寄存器SCON中的中断请求标志 TI/RI:串行口发送/接收中断请求标志。串行发送/接收完一帧后自动置位,请求中断。需要再次发送/接收时,应通过指令清零。 SCON可位寻址。复位后,SCON=00H。,2.中断允许控制,中断允许控制寄存器IE EA:CPU中断允许控制位。EA=1,开CPU中断。 EX0、E

3、X1=1时,允许外部中断0、1中断。 ET0、ET1=1时, 允许T0、T1计数溢出中断。 ES=1时,允许串行口发送/接收中断。 IE可位寻址。复位后,IE=00H,禁止所有中断源中断。,3. 中断优先级管理,MCS-51中断系统的中断优先级 中断优先级(权)就是指当有多个中断源同时申请中断时,CPU所采取的响应顺序的原则。 MCS-51单片机中断系统允许软件设置每个中断源为高优先级中断或低优先级中断,并可实现两级中断嵌套。,中断嵌套原则 高优先级中断可以中断低优先级中断,反之不能; 同级或低优先级的中断源不能中断正在执行的中断服务程序。 中断优先级寄存器IP IP可位寻址。复位后,IP=0

4、0H(所有中断源均为低优先级)。,自然优先级 若同一优先级中断源有多个同时申请中断,则CPU按自然优先级原则确定响应顺序。,4. 中断系统的控制,中断系统的设置 对4个与中断有关的特殊功能寄存器:TCON、SCON、IE和IP中的相关位进行管理和设置。这4个SFR均可位寻址。复位后: TCON=00H;IT0、IT1=0,电平触发! SCON=00H IE=00H;禁止所有中断源中断! IP=00H;所有中断源均为低优先级!,中断系统的控制,中断请求信号,将中断请求有效信号转为标志存储,中断允许控制,中断优先级设置,中断优先级激活触发器,中断处理过程,中断处理过程 大致包含中断请求、中断响应、

5、中断服务、中断返回四个阶段。 中断响应条件 允许中断; CPU此时没有响应同级或更高级的中断; 当前正处于所执行指令的最后一个机器周期; 正在执行的指令不是RETI或访问IE、IP的指令。,中断处理过程流程,中断请求标志的撤除,中断响应后 (1)外部中断、定时器中断请求标志由硬件自动撤除; (2)串行口中断请求标志(TI、RI)必须由软件清0。,中断系统的应用,1.中断系统应用要解决的问题 电路连接 外部中断请求信号电平及持续时间应符合要求。 应用程序设计 主程序部分(中断系统初始化) 设置堆栈指针SP; 若为外部中断,定义触发方式; 根据需要给IP赋值,定义中断优先级; 开放中断。,中断服务

6、程序部分 在相应的中断入口地址设置一条跳转指令,转移到中断服务程序的实际入口处; 根据需要保护现场; 若为电平触发的外部中断,应有中断请求信号撤除操作;若是串行口中断,对TI、RI清0; 安排中断服务所做的操作(中断服务程序的主体); 恢复现场; 中断返回(RETI)。,2. 中断系统应用举例,例1:利用中断设计一个应用系统,实时显示P3.2引脚上出现的负跳变脉冲的个数。从低位到高位依次存入3AH、3BH、3CH。 分析:解此题利用中断系统,主程序对中断系统进行初始化以及实时显示脉冲个数;利用P3.2引脚上出现的负跳变信号作为中断请求信号,每中断一次,将3AH3BH单元内容按BCD码加1。,O

7、RG 0000H ;主程序入口 LJMP MAIN ;转实际主程序 ORG 0003H ;外部中断0中断入口地址 LJMP INT0 ;转中断服务程序 ORG 0030H MAIN:MOV SP,#70H ;设置堆栈指针 SETB IT0 ;置外部中断0为边沿触发方式 SETB EA ;CPU开中断 SETB EX0 ;允许外部中断0中断 MOV 3AH,#0 ;计数单元置初值 MOV 3BH,#0,ORG 0050H;中断服务程序,从0003H转来 INT0:PUSH ACC PUSH PSW PUSH DPL PUSH DPH ;保护现场 MOV A,3AH ;取计数值的个位 ADD A,

8、#1 DA A MOV 3AH,A ;按BCD码加1,并存回原单元,MOV A,3BH ADDC A,#0 DA A MOV 3BH,A ;个位、十位加1若有进位,对高一字节加1 POP DPH ;恢复现场 POP DPL POP PSW POP ACC RETI ;中断返回,定时/实现方式: 1.软件定时; 2.不可编程硬件定时; 3.可编程定时 。,单片机的定时/计数器,一、定时/计数器的定时和计数功能,在TMOD中,各有一个控制位(CT),分别用于控制定时/计数器T0和T1是工作在定时器方式还是计数器方式。,1. 定时功能-计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值加1。所以,

9、计数频率是振荡频率的1/12。,2. 计数功能-计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。,定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。,单片机的定时/计数器,二、定时器计数器的控制寄存器,与定时器计数器有关的控制寄存器有:,1定时器控制寄存器TCON,中断请求标志,触发方式选择,启动定时/计数器,0 低电平1 下降沿,0 停止 1 启动,2工作方式控制寄存器TMOD,T1控制,T0控制,GATE门控位,M1 M0工作方式选择,计数脉冲输入,三、定时器计数器的工作方式,定时器计数器共有四种工作方式,1. 方式013位方式,13位计数器,定

10、时器,计数器,2. 方式116位方式,3. 方式28位自动装入时间常数方式,4. 方式32个8位方式,仅T0可以工作在方式3此时T0分成2个独立的计数器TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。,四、应用举例,计算计数器的计数初值: 编程时将计数初值送THi、 TLi;,可编程器件在使用前需要进行初始化:,确定TMOD控制字:编程时将控制字送TMOD;, 开中断(如果使用中断方式): 编程时置位EA、ETi, TRi位置位控制定时器的启动和停止。,例1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500s的方波脉冲

11、,并由P1.0 输出。试以中断方式实现。, TMOD确定,T1控制,T0控制,控制字10H,要产生500s 的方波脉冲,只需在P1.0端以250s为间隔,交替输出高低电平即可实现。为此,定时间应为250s 。使用6z晶振,则一个机器周期为2s,设待求计数初值为,则:, 计算计数器的计数初值;,(216X)210 -6 =25010 -6 即216X=125 X216-125=10000H-7DH 0FF83H 所以,初值为: TH1=0FFH,TL1=83H, 采用中断方式:编程时打开全局和局部中断。, 由定时器控制寄存器TCON中的TR1位控制定时器的启动和停止。 TR11,启动; TR10

12、,停止。,程序设计,ORG 0000H LJMP MAIN ;主程序入口 ORG 001BH LJMP INTT1 ;T1中断入口,ORG 1000H MAIN:MOV TMOD, #10H ;T1为方式1 MOV TH1, #0FFH MOV TL1,#83H ;初值 SETB EA ;允许中断 SETB ET1 SETB TR1 ;启动定时 SJMP $ ;等待中断,主程序:,INTT1: MOV TH1,#0FFH ;重新设置初值 MOV TL1,#83H CPL P1.0 ;输出取反 RETI,中断处理程序:,例2:设晶振频率fOSC=6MHz,分别讨论各种工作方式下最长定时时间。,分析: 1.由fOSC=6MHz可知,MC=2us; 2.由于是加1计数,所以最长定时应是计数初值最小时(即为0时)的定时时间。 所以此时有: 方式0: (2130)2us= 214us=16384us=16.384ms,方式1: (2160)2us= 217us=131.072ms,方式2、3 (280)2us= 29us=0.512ms,注意:以上是当fOSC=6MHz,即MC=2us时各种方式下的定时时间,若fO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论