版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用第五章 MCS-51单片机中断系统与定时/计数器1、中断的基本概念,中断系统结构,中断响应过程,中断初始化程序及中断服务程序的编写; 2、定时/计数器结构和工作原理,定时/计数器初始化编程。5.1 中断系统5.2 定时/计数器本章主要内容5.1 中断系统课题引入CPU与外设之间交换信息的方式有四种:1)无条件传送2)查询传送3)中断传送4)DMA传送5.1 中断系统一、中断的基本概念同学提问教师讲课教师答疑教师讲课中断示意图1、日常生活中断的例子教师讲课过程中,同学遇有疑问,随时向老师提问,教师终止当前的讲课,解答学生疑问后再继续之前的讲课。中断申请主程序中断服务程序返回中断示
2、意图2、计算机的中断概念中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。 能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。3、中断技术的优点 1)分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率;2)实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强; 3)可靠性高。CPU具有处理设备故障及掉电等突发性事件的能力,从而使系统可靠性提高。二、MCS-51的中断系统1)中断请求信号的产生 ( 中断源如何申请中断?)2)CPU
3、如何响应?(如何知道有中断请求?是否有求必应?响应后的处理过程?)3)中断优先权问题; 4)中断的具体服务; 5)中断服务完毕,如何返回原程序。中断系统应解决如下问题:二、MCS-51的中断系统80C51的中断系统有5个中断源,2个优先级,可实现二级中断嵌套 ,其结构如下图所示。 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级矢量地址高级中断请求自然优先级矢量地址低级中断请求PX0PT0PX1PT1PSIEIP中断标志位中断源允许总允许中断优先级1、中断源1)INT
4、0(P3.2)。可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。2)INT1(P3.3)。可由IT1(TCON.2)选择其为低电平有效还是下降沿有效。当CPU检测到P3.3引脚上出现有效的中断信号时,中断标志IE1(TCON.3)置1,向CPU申请中断。 5个中断源包含2个外部中断和3个内部中断。2个外部中断1、中断源3)TF0(TCON.5),片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,并向CPU申请中断。4)TF1(TCON.7),片内定时
5、/计数器T1溢出中断请求标志。当定时/计数器T1发生溢出时,置位TF1,并向CPU申请中断。 5)RI(SCON.0)或TI(SCON.1),串行口中断请求标志。当串行口接收完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位TI,向CPU申请中断。 3个内部中断2、中断请求标志IT0:外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为边沿触发方式(下降沿有效)。 IE0:外部中断0中断请求标志位。 IT1:外部中断1触发方式控制位。 IE1:外部中断1中断请求标志位。 TF0:定时/计数器T0溢出中断请求标志位。 TF1:定时/计数器T1溢出中断请求标志位
6、。 1)TCON的中断标志TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0注 意若外部中断定义为电平触发方式:中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。注 意若外部中断定义为边沿触发方式:在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。即便是CPU暂时不能
7、响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期(若晶振为12MHz时,为1微秒)。 2、中断请求标志RI:串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。RI必须由软件清除。 TI:串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。 2)SCON的中断标志SCON(98H)TIRI3、中断的控制EX0:外部中断0允许位; E
8、T0:定时/计数器T0中断允许位; EX1:外部中断0允许位; ET1:定时/计数器T1中断允许位; ES:串行口中断允许位; EA :CPU中断允许(总允许)位。1)中断允许控制IE(A8H)EAESET1EX1ET0EX0CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。3、中断的控制PX0:外部中断0优先级设置位; PT0:定时/计数器T0优先级设置位; PX1:外部中断0优先级设置位; PT1:定时/计数器T1优先级设置位; PS:串行口优先级设置位。2)中断优先级控制IP(B8H)PSPT1PX1PT0PX08051单片机有两个中断优先级,可实现二级中断
9、服务嵌套,由中断优先级寄存器IP中的相应位的状态来规定每个中断源的优先级 。注 意同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中断源中断标志位中断入口地址0023H000BH0003H0013H001BH自然优先级高低CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。正在进行的低优先级中断服务,能被高优先级中断请求所中断。 MCS-51单片机的中断优先级有三条原
10、则:三、中断处理过程1、中断响应的条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。同时满足时,CPU才有可能响应中断。CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。 若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。
11、遇以下任一条件,硬件将受阻,不产生LCALL指令: CPU正在处理同级或高优先级中断; 当前查询的机器周期不是所执行指令的最后一个机器周期,即在完成所执行指令前,不会响应中断; 正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令,即只有在这些指令后面至少再执行一条指令时才能接受中断请求。注 意2、中断响应时间 S1M1S2S3S4S5S6S1M2S2S3S4S5S6S1M3S2S3S4S5S6S1M4S2S3S4S5S6S1M5S2S3S4S5S6中断有效标志锁存标志查询保护断点,长调用至入口中断服务某中断的响应时序图: 若M1周期的S5P2前某中断生效,在S5P2期间其中断请求
12、被锁存到相应的标志位中去;M2恰逢指令的最后一个机器周期,且该指令不是RETI或访问IE、IP的指令。于是,M3和M4便可以执行硬件LCALL指令,M5周期将进入了中断服务程序; 80C51的中断响应时间(从标志置1到进入相应的中断服务),至少要3个完整的机器周期;3、中断响应过程将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。 执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。 执行中断服务程序。 中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。 4、中断返回RETI指令的具体
13、功能是: 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序; 将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点 。注 意四、应用1、主程序部分 1)给堆栈指针SP赋值,设置一个深度适宜的堆栈; 2)如为外部中断,定义触发方式;3)根据需要给IP赋值,定义中断优先级; 4)给IE赋值,开放中断,即置位EA和其它需要的中断允许位; 5)安排好等待中断过程中主程序应做的操作。具体设计过程:(包括主程序和中断服务程序的设计步骤)2、中
14、断服务程序部分 1)在相应的中断入口地址单元设置一条跳转指令,使程序转移到中断服务程序的实际入口处; 2)根据需要保护现场; 3)若为电平触发的外部中断,应有中断信号撤除操作;4)安排中断服务所做的操作; 5)恢复现场; 6)中断返回。SETB IT0 ; SETB PX0 ;SETB EA ; SETB EX0 ;例1 若规定外部中断0为电平触发方式,高优先级,试写出有关的初始化程序。解: 1) 设触发方式 2) 设优先级 3) 开中断用位操作指令2、应用举例用字节操作指令MOV TCON,#01H MOV IP,#01HORL IE,#81HORG 0000 H ;LJMP MAIN ;主
15、程序转至MAIN处 ORG 0013H ; LJMP INT ;中断服务程序转至INT处 ORG 0030H MAIN:MOV SP, #6FH SETB IT1 ;边沿触发 CLR PX1 ;设为低优先级 SETB EA ;开总中断 SETB EX1 ;允许外中断1中断 MOV B, #01H ;设B的初值 HALT:SJMP HALT ;暂停等待中断 INT: MOV A, B ;AB RL A ;左环移一位 MOV B, A ;回送 RETI ;中断返回 例2 若规定外部中断1为边沿触发方式,低优先级,在中断服务程序中将寄存器B的内容左环移一位,B的初值设为01H。试编写主程序与中断服务
16、程序。解:返 回5.2 定时/计数器课题引入1、定时器/计数器的功能是什么?单片机为何要提供硬件定时/计数器?2、实现定时/计数功能的方法有哪些?1)软件定时2)时基电路定时3)可编程芯片定时 7 0 7 0定时器T0TH0TL08CH 8AH 7 0 7 0定时器T1TH1TL18DH 8BH工作方式启动工作方式TCON(88H)控制寄存器TMOD(89H)方式寄存器溢出溢出启动CPU中断内部总线T1(P3.5)T0(P3.4)各部分如何协调工作完成定时或计数功能?一、结构及原理1、结构一、结构及原理2、工作原理(T0为例)1)方式选择部分:选择不同的计数脉冲2)计数部分:对脉冲进行加一计数
17、3)控制启停部分:控制计数启动/停止定时方式:对内部机器周期计数计数方式:对外部引脚P3.4输入脉冲计数TL0(低8位) + TH0(高8位) TF0(溢出位)TR0(启动位) = 1二、方式和控制寄存器1、TMOD方式寄存器T1 T0TMOD(89H)GATEC/TM1M0GATEC/TM1M0GATE:门控位M1M0:工作方式设置位GATE0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/计数器工作。 定时/计数器有四种工作方式,由M1M0进行设置。C/T :定时/计数模式
18、选择位C/T0为定时模式; C/T = 1为计数模式。 二、方式和控制寄存器2、TCON控制寄存器TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0TR1(TR0):T1(T0)运行控制位TF1(TF0):T1(T0)溢出中断请求标志位三、定时/计数器的工作方式(T0为例)1、方式0(13位)振荡器12定时方式计数方式T0(P3.4)TL0低5位TH08位TF0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制计数范围:1 213(8192)三、定时/计数器的工作方式(T0为例)2、方式1(16位)振荡器12定时方式计数方式T0(P3.4)TL08位TH08位TF
19、0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制计数范围:1 216(65536)三、定时/计数器的工作方式(T0为例)3、方式2(8位重装)振荡器12定时方式计数方式T0(P3.4)TF0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制TL08位TH08位重装初值控制计数范围:1 28(256)三、定时/计数器的工作方式(T0为例)4、方式3(8位,只T0有)振荡器12定时方式计数方式T0(P3.4)TF0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制TL08位计数范围:1 28(256)振荡器12定时方式TF1TH08位TR1控制T1为波
20、特率发生器,可工作在方式0、1、2;T0被拆成两个8位定时/计数器,借用T1的触发位和溢出标志。四、应用1、初始化编程1) 确定并设置工作方式对TMOD赋值 原则:计数值最大计数值 例:设机器周期为1us,则 延时100us:延时100us100次计数各种方式均可(常为1、2) 延时50ms:延时50ms50000次计数方式1适合2) 确定并预置初值TH0(TH1)、TL0(TL1)赋值3) 按需要开定时/计数器中断直接对IE赋值4) 启动定时/计数器工作将TR0或TR1置“1” 定时时间:开始计数溢出定时方式:C=M-X=M-t/T计数方式:C=M-X例1 设单片机系统的晶振频率为12MHz
21、,现用T0实现5ms的延时,试编写初始化程序。解:MOV TMOD, #01HMOV TH0, #0ECHMOV TL0 , #78HSETB TR02) 计算并预置初值3) 启动定时器C=M-X=65536-5000=60536=0EC78HTH0=0ECH, TL0=78H机器周期 T=121/12=1us计数值 X=t/T=5ms/1us=5000(可选方式0或1)TMOD=0 0 0 0 0 0 0 1 B=01H(方式1)T1 T0GATE C/T M1 M02、应用举例1) 确定方式例2 设单片机系统的晶振频率为12MHz,编程实现P1.0输出周期为400us的方波。确定方式并计算初值机器周期 T=121/12=1us计数值 X=t/T=200us/1us=200(可选任一方式)初值 C=M-X=65536-200=65336=FF38HTH0=0FFH, TL0=38HTMOD=0 0 0 0 0 0 0 1 B=01H方式一: T1 T0GATE C/T M1 M0初值 C=M-X=256-200=56=38HTH0=38H, TL0=38HTMOD=0 0 0 0 0 0 1 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山市交通投资集团有限公司招聘考试真题2025
- 羽毛球场地租用合同样本(2026版)
- 徐州市铜山区学校选调教师笔试真题2025
- 辽宁省妇幼保健院招聘院聘工作人员笔试真题2025
- (正式版)DB34∕T 4211-2022 《秸秆好氧快速堆腐还田技术规程》
- 2026 年防范极端降雨守护山区群众安全
- 2026 年高中秋季开学第一课致敬时代楷模青年励志思政班会
- 2026 年初中秋季开学第一课台风预警信号分级认知科普课件
- 2026年山东青岛市市南区中考一模语文试卷(原卷版)
- 人教版七年级英语下册单项选择易错题100题(含答案解析)
- 中国融通资源开发集团有限公司物资接收、仓储人员专项招聘87人笔试备考试题及答案详解
- 2026年出入境辅警理论考试试卷(含答案)
- 2026江苏徐州市市级机关印刷厂有限公司招聘工作人员2人笔试题库附答案详解(基础题)
- 2025年教师选调教育综合知识真题及答案
- 2025-2030年智能农业灌溉系统行业跨境出海战略分析研究报告
- 第一轮-【黄磷企业检查表】-检查表
- 电动汽车动力性能计算表
- 乔木支撑专项施工方案(3篇)
- 数字化解决方案设计师职业资格认定考试复习题库(附答案)
- 商务数据分析师知识考试复习题库(附答案)
- 2026中国电子签名法律效力与行业发展报告
评论
0/150
提交评论