预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共52页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章MCS-51的中断系统1、无条件传送方式 一直为数据I/O传送作好准备的外部设备,才能使用无条件传送方式。这种传送方式不需要测试外部设备的状态,可以根据需要随时进行数据传送操作。2、查询传送方式 查询传送又称为条件传送,即数据输入/输出之前,先要检测外设的状态,只有在确认外设已“准备好”的情况下,CPU才能执行数据输入/输出操作。 通常把通过程序对外设状态的检测称之为“查询”,查询的流程图如图所示。3、中断传送方式 由于查询传送方式为CPU主动要求传送数据,因此只能用等待的方式来解决配合的问题。 中断方式则是在外设为数据传送作好准备之后,就向CPU发出中断请求信号(相当于通知CPU),CPU接收到中断请求信号之后立即作出中断响应,暂停正在执行的原程序(主程序),而转去为外设的数据输入输出的中断服务,待服务完之后,程序返回,CPU再继续执行被中断的原程序。二、中断的概念中断源——中断的原因,或中断申请的来源,称为中断源。 中断请求——中断源要求服务的请求称为中断请求或中断申请。 中断响应——处理器对请求的应答。 断点——主程序被断开的位置(下一条指令的地址)称为断点。 中断服务程序——中断所执行的处理程序通常称为中断服务程序。 中断返回——中断服务程序完成后,回到主程序的断点处。中断技术是计算机中的重要技术之一。对于各种计算机来说,其中断源的允许数目是不一样的,例如Z80允许128个中断源(不包括非屏蔽中断),而8086/8088则允许256个中断源。1).可屏蔽中断INTR1、中断判优(优先权排队)CPU执行某中断服务程序时,可以响应中断优先级别更高的中断请求,这就是中断嵌套。MCS-51单片机相对来说较为简单,只提供了5个中断源:2个外部中断请求,2个片内定时器/计数器T0和T1的溢出中断请求TF0和TF1及串行口中断请求TI或RI(合为一个中断源)。 可提供两个中断优先级,即可实现二级中断嵌套。3、中断响应①关中断4、中断的返回一、中断源和中断标志1.外部中断类 外部中断是由外部原因引起的,即外部中断0(INT0)和外部中断1(INT1): INT0——外部中断0请求信号,由P3.2引脚输入。由IT0(TCON.0)决定中断请求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且使IE0=1。 INT1——外部中断1请求信号,由P3.3引脚输入。由IT1(TCON.2)决定中断请求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU申请中断,并且使IE1=1。2.定时中断:当定时器/计数器中的计数结构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位,中断源可以由单片机芯片外部引入。 TF0——溢出中断请求。当定时器T0产生溢出时,其中断请求标志TF0=1,请求中断处理。 TF1——定时器T1溢出中断请求。当定时器T1产生溢出时,其中断请求标志TF1=1,请求中断处理。1、定时器/计数器控制寄存器TCON(88H)IE0—外部中断0(INT0)的中断请求标志位。二、MCS-51对中断请求的控制ES—串行口中断允许控制位,位地址为ACH。当ES=1,允许串行口中断,当ES=0,禁止串行口中断。中断允许寄存器IE的单元地址是A8H,各控制位也可位寻址,故既可以用字节传送指令也可以用位操作指令来对各个中断请求加以控制。2、对中断优先级的控制PX1—外部中断1中断优先级控制位。当PX1=1时,外部中断1中断被定义为高优先级中断,当PX1=0,外部中断1中断被定义为低优先级中断。中断源的自然优先级顺序:单片机响应中断的条件为中断源有请求(中断允许寄存器IE=1),且CPU开中断(即EA=1)。这样,在每个机器周期内,单片机对所有中断源都进行顺序检测,并可在任1个周期的S6期间,找到所有有效的中断请求,还对其优先级进行排队。但是,必须满足下列条件: 中断响应的条件 (1)无同级或高级中断正在服务; (2)现行指令执行到最后1个机器周期且已结束; (3)若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。①关中断CPU从上面相应的地址开始执行中断服务程序直到遇到RETI指令为止。4、中断的响应时间5、中断请求的撤消3.串行口中断请求的撤消 响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能用软件清除。6、中断系统的初始化及应用例:写出INT1为低电平触发的中断系统初始化程序例:写出INT0为负边沿触发的中断系统初始化程序6.3中断控制器8259A1.控制电路:根据IRR的置位情况和优先