第六章 输入输出与中断_第1页
第六章 输入输出与中断_第2页
第六章 输入输出与中断_第3页
第六章 输入输出与中断_第4页
第六章 输入输出与中断_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、华中科技大学电气与电子工程学院2015年秋季学期1 6.1 输入/输出与接口技术概述 6.2 CPU与外设之间交换信息的控制方式 6.3 中断技术概述 6.4 51单片机的中断系统及其应用2 6.1 输入/输出与接口技术概述 6.2 CPU与外设之间交换信息的控制方式 6.3 中断技术概述 6.4 51单片机的中断系统及其应用3 I/O接口是CPU和外围设备(简称为外设)之间交换信息的连接部件 。 I/O接口的功能 数据缓冲和锁存 信息转换 通信联络 I/O接口是CPU和外围设备(简称为外设)之间交换信息的连接部件 ,其硬件部分称为接口电路。 接口电路中已编址并能进行读写操作的寄存器称为端口(

2、port)。 (1)I/O端口与存储器统一编址 (2)I/O端口独立编址(端口映射编址) 6.1 输入/输出与接口技术概述 6.2 CPU与外设之间交换信息的控制方式 6.3 中断技术概述 6.4 51单片机的中断系统及其应用7 从信息传送的控方式考虑,单片机与外设之间的信息传送方式可分为三种,即: 程序控制传送方式 无条件传送 有条件传送 中断传送方式 DMA传送方式 6.1 输入/输出与接口技术概述 6.2 CPU与外设之间交换信息的控制方式 6.3 中断技术概述 6.4 51单片机的中断系统及其应用9一般情况下,程序是顺序执行的,但是在程序运行过程中,一旦出现意外事件和特殊请求,计算机就

3、应尽快在适当的时候暂时停止现行程序的执行,为意外事件和特殊请求服务。通常把计算机停止现行程序的运行而为意外事件和特殊请求服务的过程称之为中断,为意外事件和特殊请求服务称为中断服务或者中断处理。中断源在中断系统中,将引起中断请求的设备或事件的来源,般统称为中断源。常见中断源: 1输入、输出设备中断源 一般计算机的输入、输出设备,如键盘、磁盘驱动器、打印机等,可通过接口电路向CPU申请中断。 2故障源 故障源是产生故障信息的来源。例如:CPU内部故障源,如除法中除数为零时的情况;外部故障源,如电源掉电情况。在电源掉电时可以接入备用的电池供电,以保存存储器中的信息。当电压因掉电降到定值时,就发出中断

4、申请,由计算机的中断系统完成替换备用电源的控制。 3实时中断源 在实时控制中,常常将被控参数、信息作为实时中断源。例如,电压、电流、温度等超越上限或下限时,以及继电器、开关闭合断开时,都可以作为中断源申请中断。 4定时计数脉冲中断源 内部定时计数中断是由单片机内部的定时器计数器溢出时自动产生的;外部定时/计数中断是由外部定时脉冲通过CPU的中断请求输入线或定时器计数器的输入线引起的。 中断请求是否一定被CPU响应? 可屏蔽中断与不可屏蔽中断 不同重要程度的中断源如何处理? 中断优先级与中断嵌套 计算机怎样找到中断服务程序并执行 中断矢量:存放中断服务程序入口的存储单元的地址。CPU响应中断时,

5、硬件电路自动生成中断矢量,从而找到中断服务程序入口。 6.1 输入/输出与接口技术概述 6.2 CPU与外设之间交换信息的控制方式 6.3 中断技术概述 6.4 51单片机的中断系统及其应用15 MCS-51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套 MCS-51与中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器TCON和SCON的相关位)、中断允许控制寄存器IE和中断优先级控制寄存器IP。 定时器/计数器1定时器/计数器0T1RXDTXDINT1T0INT00ET0中断请求中断优先级PT1PX1SCONTF1R1T1串行口10IT1IE1EAESET1PS

6、010EX1101中断优先级低优先IPPT0PX0TCON01TF0IT0IE0IEEX0011中断入口地址高优先 MCS-51的中断系统结构框图的中断系统结构框图 MCS-51的中断源可分为三类:外部中断、定时中断和串行口中断。 1外部中断类 外部中断是由外部原因引起的,即外部中断0 (INT0)和外部中断1 (INT1): INT0外部中断0请求信号,由P3.2引脚输入。由IT0 (TCON0) 决定中断请求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且使IE01。 INT1外部中断1请求信号,由P3.3引脚输入。由IT1 (TCON.2) 决定中断请求信号是低

7、电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且使IE11。 定时中断是为满足定时或计数溢出处理的需要而设置的,当定时器计数器中的计数结构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位,这种中断请求是在单片机芯片内部发生的,无需在芯片上设置引入端,但在计数方式时,中断源可以由单片机芯片外部引入。 TF0一定时器T0溢出中断请求。当定时器T0产生溢出时,其中断请求标志TF01,请求中断处理。 TF1定时器T1溢出中断请求。当定时器T1产生溢出时,其中断请求标志TF11,请求中断处理。 串行口中断是为串行数据的传送需要而设置的

8、。 RI或TI串行中断请求。当接收或发送完一串行帧数据时,使内部串行口中断请求标志RI或TI1,并请求中断。 各中断源对应的中断服务程序入口地址: 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013 定时器T1中断 001BH 串行口中断 0023HTFl TF0 IE1 IT1 IE0 IT0 (88H)MCS-51中断请求中断请求 TF0T0溢出中断标志。其操作功能类似于TF1。 IE1INT1外部中断1标志。IE11表明外部中断1向CPU申请中断。IT1外部中断1触发方式控制位。 (1)ITl0,外部中断1为电平触发方式,低电平有效。 (2)ITl

9、1,外部中断1控制为边沿(先高后低的负跳变)触发方式。 IE0INT0外部中断0标志。其操作功能与IE1类同。 IT0外部中断0触发方式控制位。其操作功能与IT1类同。 SCON是串行口控制寄存器,其低2位TI和RI锁存串口的发送中断和接收中断标志。其格式和各位含义如下: SCON 99H 98H TI串行发送中断标志。CPU将一个字节数据写入发送缓冲器SBUF后启动发送,每发送完一个串行帧,硬件置位TI。TI标志由软件清除。 RI串行接收中断标志。在串行口允许接收时,每接收完一个串行帧,硬件置位RI。RI标志由软件清除。 MCS51系统复位后,TCON和SCON中各位均被清“0”。 (98H

10、)SMOD TIRI 中断允许寄存器IE格式和各位含义如下: IE AFH ACH ABH AAH A9H A8HEACPU中断总允许位。EA1,CPU开放中断,每个中断源是被允许还是被禁止,分别由各自的允许位确定;EA0,CPU屏蔽所有的中断请求,称关中断。 ES串行口中断允许位。ES1,允许串行口中断;ES0,禁止串行口中断 ET1一T1中断允许位。ET11,允许T1中断;ET10,禁止T1中断。 EX1外部中断l允许位。EX11,允许外部中断1中断;EXl0,禁止外部中断1中断。 ET0一T0中断允许位。ET0l,允许T0中断;ET00,禁止T0中断。 EX0外部中断0允许位。EX01,

11、允许外部中断0中断;EX00,禁止外部中断0中断。MCS5l系统复位后,IE中各中断允许位均被清“0”,即禁止所有中断。EA ESET1EX1ET0EX0(A8H) 中断优先级系统设计人员给每个中断源,事先安排一个中断响应的优先顺序。然后按照轻重缓急的次序响应中断。中断源的这种优先顺序常被称为中断优先权级别,或简称中断优先级。 专用寄存器IP统一管理中断优先级。它具有两个中断优先级,由软件设置每个中断源为高优先级中断或低优先级中断,并可实现两级中断嵌套。 高优先级中断源可以中断正在执行的低优先级中断服务程序,除非在执行低优先级中断服务程序时设置了CPU关中断或禁止某些高优先级中断源的中断。同级

12、或低优先级的中断源不能中断正在执行的中断服务程序。 专用寄存器IP为中断优先级寄存器,其格式和各位含义如下: IP BCH BBH BAH B9H B8HPS串行口中断优先级控制位。 PT1T1中断优先级控制位。 PX1外部中断l中断优先级控制位。 PT0T0中断优先级控制位。PX0外部中断0中断优先级控制位。 以上对应位为1,高优先级;为0,低优先级。 当系统复位后,IP低5位全部清“0”,将所有中断源设置为低优先级中断。 PSPT1 PX1 PX1 PX0 (B8H)自然优先级由硬件形成,排列次序如下: 中断源 自然优先级 外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断 串

13、行口中断 最低级 当重新设置优先级时,则顺序查询逻辑电路将会相应改变排队顺序。例如,给中断优先级寄存器IP中设置的优先级控制字为11H,则PS和PX0均为高优先级中断。当这两个中断源同时发出中断申请时,CPU将先响应自然优先级高的PX0的中断申请,而后响应自然优先级低的PS的中断申请。不同的情况对中断响应的时间不同:(1) 最短的响应时间,需要5个机器周期。调用指令本身要用2个机器周期,从外部中断请求有效到开始执行中断服务程序的第一条指令,至少需要3个机器周期。(2)如果遇到中断受阻的情况,中断响应时间会更长一些。 不同中断受阻情况,附加的等待时间为15个机器周期。(3)若系统中只有一个中断源

14、,则响应时间为38个机器周期。(4)如果有两个以上中断源同时申请中断,则响应时间将更长。 般情况下,可不考虑响应时间,但在精确定时控制的场合需要考虑此问题。 CPU响应某中断请求后,在中断返回前,应该撤消该中断请求,否则会引起另一次中断。(1)定时器0或1溢出中断,CPU在响应中断后,中断请求自动撤除。(2)边沿激活的外部中断,CPU在响应中断后,硬件自动清除有关的中断请求 。(3)串行口中断,CPU响应中断后,靠软件来清除相应的标志。 电平激活的外部中断撤除方法较复杂。 用P1.0接在触发器的S端作为应答线,当CPU响应中断后可使用如下两条指令: ANL Pl,# 0FEH ORL P1,#

15、 01H 执行第一条指令使P1.0输出为“0”,其持续时间为2个机器周期,足以使D触发器置位,从而撤除中断请求。执行第二条指令使P1.0变为“1”,否则D触发器的S端始终有效,INT0端始终为“1”,无法再次申请中断。P1.0MCS-51或 INT1INT0外 部 中 断请 求 信 号DR0QS0CQ例6.5.1 如图6-14所示,8031单片机的P1口接有8个LED,使用外部中断0,当每按下一次按钮,使一只LED亮3秒后熄灭,再按一次按钮,再使下一只LED亮3秒,再熄灭,如此一直循环下去。 ORG 0000H LJMP MAIN ;主程序跳转 ORG 0003H LJMP EXTER ;中断跳转 ORG 0030HMAIN:MOV SP,#60H;设置堆栈指针 MOV A,#0H;熄灭所有LED MOV P1,A MOV A,#01H;点亮第一只LED初值SETB IT0 ;INT0下降沿方式 SETB EX0 ;INT0允许 SETB EA ;总中断允许LOOP:

温馨提示

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

评论

0/150

提交评论