单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt

上传人:wj 文档编号:2484872 上传时间:2023-05-03 格式:PPT 页数:161 大小:1.22MB
下载 相关 举报
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第1页
第1页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第2页
第2页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第3页
第3页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第4页
第4页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第5页
第5页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第6页
第6页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第7页
第7页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第8页
第8页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第9页
第9页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第10页
第10页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第11页
第11页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第12页
第12页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第13页
第13页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第14页
第14页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第15页
第15页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第16页
第16页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第17页
第17页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第18页
第18页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第19页
第19页 / 共161页
单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt_第20页
第20页 / 共161页
亲,该文档总共161页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt

《单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt》由会员分享,可在线阅读,更多相关《单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt(161页珍藏版)》请在冰点文库上搜索。

单片机原理与接口技术(第3版)-第5章中断、定时计数器及串行接口.ppt.ppt

1,18:

38,单片机原理与接口技术,第5章MCS-51中断、定时/计数器及串行接口,2,18:

38,

(1)了解MCS-51单片机中断系统的内部结构和工作方式,熟悉中断源和中断控制寄存器,掌握中断服务程序的设计方法。

(2)了解MCS-51单片机定时/计数器的结构和工作方式,熟悉定时/计数器的控制寄存器,掌握定时/计数器的应用编程。

(3)了解MCS-51单片机串行通信接口的结构和工作方式,熟悉串行接口的控制寄存器,掌握串行通信接口的应用编程。

本章教学要求,3,18:

38,本章目录,5.1中断系统5.1.1中断系统概述5.1.2MCS-51中断系统5.1.3中断系统应用举例5.2定时/计数器5.2.1定时/计数器的结构与原理5.2.2定时/计数器的工作方式,5.2.3定时/计数器对输入信号的要求5.2.4定时/计数器的应用5.3串行通信接口5.3.1串行通信基础知识5.3.2MCS-51串行通信接口5.3.3串行通信接口的应用习题与思考题,4,18:

38,5.1中断系统,中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。

如图5-1所示。

实现这种中断功能的硬件系统和软件系统统称为中断系统。

-中断概念,5,18:

38,主程序:

CPU正常情况下运行的程序称为主程序。

中断源:

把向CPU提出中断申请的设备称为中断源。

中断请求:

由中断源向CPU所发出的请求中断的信号称中断请求。

中断响应:

CPU在满足条件情况下接受中断申请,终止现行程序执行转而为申请中断的对象服务称中断响应。

中断服务程序:

为服务对象服务的程序称为中断服务程序。

断点:

现行程序被中断的地址称为断点。

中断返回:

中断服务程序结束后返回到原来程序称中断返回。

-中断概念,5.1.1中断系统概述,6,18:

38,

(1)中断源

(2)中断优先级控制(3)中断响应的过程,-中断系统的基本问题,1)检测中断2)保护现场3)中断服务4)清除中断标志位5)恢复现场6)中断返回,5.1.1中断系统概述,7,18:

38,保护现场是指由于CPU执行中断处理程序时,可能要使用主程序中使用过的累加器、寄存器或标志位。

为了使这些寄存器的值在中断服务程序中不被冲掉,在进入中断服务程序前,要将有关寄存器保护起来。

在中断服务程序执行完时,还必须恢复原寄存器的内容及原程序中断处的地址。

即恢复现场和恢复断点。

保护现场和恢复现场是通过在中断服务程序中采用堆栈操作指令PUSH及POP实现的。

而保护断点、恢复断点是由CPU响应中断和中断返回时自动完成的。

-保护现场和保护现场,5.1.1中断系统概述,8,18:

38,5.1.2MCS-51中断系统,1中断系统内部结构MCS-51单片机的中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路组成。

-中断系统的内部结构,9,18:

38,MCS-51单片机的中断系统提供了5个中断源。

-中断源及种类,2中断源,5.1.2MCS-51中断系统,10,18:

38,通常,在实际应用中有以下几种情况可采取中断方式工作。

(1)I/O设备。

(2)硬件故障。

(3)实时时钟。

(4)为调试程序而设置的中断源。

-中断方式应用,5.1.2MCS-51中断系统,11,18:

38,-中断方式,3中断方式MCS-51单片机的中断系统有两种中断方式,即外部中断和内部中断。

(1)外部中断外部中断是指从单片机外部引脚INT0和INT1输入中断请求信号的中断,即外部中断源有两个。

如输入/输出的中断请求、实时事件的中断请求、掉电和设备故障的中断请求都可以作为外部中断源,从引脚INT0和INT1输入。

外部中断请求和有电平触发和跳变(边沿)触发两种触发方式。

这两种触发方式可以通过对特殊功能寄存器TCON编程来选择。

5.1.2MCS-51中断系统,12,18:

38,-中断方式,

(2)内部中断内部中断是单片机芯片内部产生的中断。

MCS-51单片机(51子系列)的内部中断有定时/计数器T0和T1的溢出中断,串行口的发送/接收中断。

5.1.2MCS-51中断系统,13,18:

38,4.中断控制寄存器,MCS-51中断系统在4个特殊功能寄存器控制下工作。

这4个特殊功能寄存器是定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)、中断允许控制寄存器(IE)和中断优先级控制寄存器(IP)。

通过对这4个特殊功能寄存器的各位进行置位或复位操作,可实现各种中断控制功能。

14,18:

38,

(1)TCON中的中断请求标志位TCON为定时/计数器控制寄存器,其字节地址为88H,可位寻址,位地址范围为88H8FH。

这个寄存器有两个作用,即除了控制定时/计数器T0和T1的溢出中断外,还控制外部中断的触发方式和锁存外部中断请求标志位。

TCON中的各位定义如图5-3所示。

-中断请求控制,1)中断请求控制,4.中断控制寄存器,15,18:

38,IT0:

选择外部中断0的中断触发方式。

IT0=0,为电平触发方式,低电平有效;IT0=1,为边沿触发方式,P3.2引脚信号出现负跳变有效。

IT1:

选择外部中断1的中断触发方式。

其功能与IT0类同。

IE0:

外部中断0的中断请求标志。

当INT0输入端口有中断时IE0=1,由硬件置位。

-TCON寄存器,4.中断控制寄存器,16,18:

38,IE1:

外部中断INT1的中断请求标志。

功能与IE0类似。

TF0:

片内定时/计数器0溢出中断请求标志。

定时/计数器的核心为加法计数器,当定时/计数器T0发生定时或计数溢出时,由硬件置位TF0或TF1,向CPU申请中断,CPU响应中断后,会自动清零TF0或TF1。

TF1:

片内定时/计数器1溢出中断请求标志。

功能与TF0类同。

-TCON寄存器,4.中断控制寄存器,17,18:

38,中断请求标志IE0和IE1及中断信号的撤销问题无论是采用边沿触发方式(IT0=1)还是电平触发方式(IT0=0),在CPU响应中断请求后,中断请求标志位IE0即由硬件自动清零。

由于CPU对INT0引脚没有控制作用,在采用电平触发方式时中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清零的IE0标志位重新置1,这有可能再次引起中断而造成出错。

所以,在中断响应后必须采用其他方法撤销该引脚上的低电平,以撤除外部中断请求信号,可以采用外接电路来撤除中断请求信号。

中断请求标志位IE1的清零及中断请求信号的撤销问题与IE0类似。

-中断撤销,4.中断控制寄存器,18,18:

38,例5-1图5-4所示为对于外部中断采用电平触发方式时的撤除外部中断请求信号参考电路。

-TCON寄存器,分析:

外部中断请求信号通过D触发器加到单片机引脚INTx(x=0,1)上。

当外部中断请求信号使D触发器的CLK端发生正跳变时,由于D端接地,Q端输出0,向单片机发出中断请求。

CPU响应中断后,利用一根口线,如P1.0做应答线,在中断服务程序中用两条指令:

ANLP1.0,#0FEHORLP1.0,#01H,4.中断控制寄存器,19,18:

38,-TCON寄存器,ANLP1.0,#0FEHORLP1.0,#01H通过以上两条命令来撤除中断请求。

第1条指令使P1.0为0,而P1口其他各位的状态不变。

由于P1.0与D触发器的置1端相连,故D触发器Q=1,撤除了中断请求信号。

第2条指令将P1.0变成1,从而使以后产生的新的外部中断请求信号又能向单片机申请中断。

4.中断控制寄存器,20,18:

38,

(2)SCON中的中断请求标志位,SCON为串行口控制寄存器,其字节地址为98H,可以进行位寻址。

串行口的接收和发送数据中断请求标志位(RI、TI)被锁存在串行口控制寄存器SCON中,其格式如图5-5所示。

-SCON寄存器,4.中断控制寄存器,21,18:

38,TI:

串行口发送中断请求标志位CPU将一个数据写入发送缓冲器SBUF时,就启动发送,每发送完一帧串行数据后,硬件置位TI。

但CPU响应中断时,并不清除TI中断标志,必须在中断服务程序中由软件对TI清0。

RI:

串行口接收中断请求标志位在串行口允许接收时,每接收完一帧数据,由硬件自动将RI位置为1。

CPU响应中断时,并不清除RI中断标志,也必须在中断服务程序中由软件对TI标志清0。

-SCON寄存器,4.中断控制寄存器,22,18:

38,2)中断允许控制,MCS-51对中断源的开放或屏蔽是由中断允许寄存器IE控制的,IE的字节地址为0A8H,可以按位寻址,当单片机复位时,IE被清为0。

通过对IE的各位置1或清0操作,实现开放或屏蔽某个中断,其格式如图5-6所示。

-IE寄存器,4.中断控制寄存器,23,18:

38,EA:

总中断允许控制位。

当EA=0时,屏蔽所有的中断;当EA=1时,开放所有的中断。

ES:

串行口中断允许控制位。

当ES=0时,屏蔽串行口中断;当ES=1且EA=1时,开放串行口中断。

ET1:

定时/计数器T1的中断允许控制位。

当ET1=0时,屏蔽T1的溢出中断;当ET1=1且EA=1时,开放T1的溢出中断。

-IE寄存器,4.中断控制寄存器,24,18:

38,EX1:

外部中断1的中断允许控制位。

当EX1=0时,屏蔽外部中断1的中断;当EX1=1且EA=1时,开放外部中断1的中断。

ET0:

定时/计数器T0的中断允许控制位。

功能与ET1相同。

EX0:

外部中断0的中断允许控制位。

功能与EX1相同。

单片机复位以后,IE被清0,所有的中断请求被禁止。

由用户程序对IE相应的位置1或清0,即可允许或禁止各中断源的中断申请。

改变IE的内容,即可由位操作指令来实现(即SETBbit;CLRbit),也可用字节操作指令实现(即MOVIE,#data;ORLIE,#data;MOVIE,A等)。

-IE寄存器,4.中断控制寄存器,25,18:

38,

(1)用位操作指令CLREX0;禁止外部中断0中断CLREX1;禁止外部中断1中断CLRES;禁止串行口中断SETBET0;允许定时/计数器T0中断SETBET1;允许定时/计数器T1中断SETBEA;CPU开中断,例5-2若允许片内2个定时/计数器中断,禁止其它中断源的中断请求,试编写出设置IE的相应程序。

(2)用字节操作指令MOVIE,#8AH或MOVA8H,#8AH;IE寄存器的字节地址为A8H,-IE的设置,4.中断控制寄存器,26,18:

38,3)中断优先级控制,8051有2个中断优先级,每一个中断请求源均可编程为高优先级中断或低优先级中断,从而实现2级中断嵌套。

-2级中断嵌套,4.中断控制寄存器,27,18:

38,1)正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,一直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,CPU才响应新的中断请求。

2)正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。

3)CPU同时接收到几个中断请求时,首先响应优先级最高的中断请求。

-中断优先级控制,以上所述可归纳为下面3条基本规则:

4.中断控制寄存器,28,18:

38,-中断优先级寄存器IP,1)PS:

串行口中断优先级控制位PS=1,设定串行口为高优先级;PS=0,设定串行口为低优先级。

2)PT1:

定时器T1中断优先级控制位PT1=1,设定T1为高优先级;PT1=0,设定T1为低优先级。

在MCS-51内部提供了一个中断优先级控制寄存器(IP)。

其字节地址为B8H,既可按字节形式访问,又可按位形式访问,其位地址范围为0B8H0BFH。

4.中断控制寄存器,29,18:

38,-中断优先级寄存器IP,3)PX1:

外部中断1中断优先级控制位PX1=1,设定外部中断1为高优先级;PX1=0,设定外部中断1为低优先级。

4)PT0:

定时器T0中断优先级控制位PT0=1,设定T0为高优先级;PT0=0,设定T0为低优先级。

5)PX0:

外部中断0中断优先级控制位PX0=1,设定外部中断0为高优先级;PX0=0,设定外部中断0为低优先级。

4.中断控制寄存器,30,18:

38,在同时收到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部查询次序,这相当于在同一个优先级内,还同时存在按次序决定的第二优先级结构,其查询次序见表5-2所示。

-中断优先级控制,4.中断控制寄存器,31,18:

38,

(1)用位操作指令CLRPS;串行口、定时/计数器T0、T1为低优先级CLRPT0CLRPT1SETBPX0;外中断0、1为高优先级SETBPX1,例5-3设置IP寄存器的初始值,使得MCS-51的片内中断为低优先级,片外中断为高优先级。

(2)用字节操作指令MOVIP,#05H或MOVB8H,#05H;IP寄存器的字节地址为B8H,-中断优先级设置,4.中断控制寄存器,32,18:

38,例5-4某程序中对IE、IP的初始化为:

MOVIE,#8FHMOVIP,#06H则此时该系统中:

1)CPU中断允许;2)允许外部中断0、外部中断1、定时器0和定时器1提出的中断申请,屏蔽串口中断;3)允许中断源的中断优先次序为:

定时/计数器0外部中断1外部中断0定时/计数器1,-中断优先级设置,4.中断控制寄存器,33,18:

38,5.中断响应,单片机响应中断的条件为中断源有请求且CPU开中断(即EA=1)。

(1)无同级或高级中断正在处理。

(2)现行指令执行到最后1个机器周期且已结束。

(3)若现行指令为RETI或访问特殊功能寄存器IE、IP的指令时,执行完该指令且紧随其后的另一条指令也已执行完毕。

-中断响应的条件,1)中断响应的条件,34,18:

38,-中断响应过程,CPU响应中断后,由硬件自动执行如下的功能操作:

(1)根据中断请求源的优先级高低,对相应的优先级状态触发器置1,硬件自动生成常调用指令LCALLaddr16。

(2)保护断点,即把程序计数器PC的内容压入堆栈保存。

(3)清除相应的中断请求标志位。

(4)把被响应的中断源所对应的中断服务程序入口地址(中断矢量)送入PC,从而转入相应的中断服务程序执行。

5.中断响应,2)中断响应过程,上述调用指令LCALLaddr16中的addr16是程序存储区中相应的中断入口地址。

例如对于外中断1的响应,系统自动生成的长调用指令为:

LCALL0013H,35,18:

38,MCS-51系统的中断服务程序的入口地址即中断矢量也是由硬件自动生成的。

各中断源与它所对应的中断服务程序入口地址见表5-3所示。

5.中断响应,-中断服务程序的入口地址,36,18:

38,由于MCS-51系列单片机的相邻中断源中断服务程序入口地址相距只有8个单元,一般的中断服务程序是容纳不下的,通常是在相应的中断服务程序入口地址中放一条长跳转指令LJMP,这样就可以转到64KB的任何可用区域。

若在2KB范围内转移,则可存放AJMP指令。

5.中断响应,-中断服务程序部署,37,18:

38,电平触发方式适合于外部中断输入以低电平输入且中断服务程序能清除外部中断请求源的情况。

例如,并行接口芯片8255的中断请求线在接受读或写操作后即被复位,因此,以其去请求电平触发方式的中断比较方便。

边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为MCS-51单片机的中断输入。

5.中断响应,-中断信号的极性,38,18:

38,ORG0000HAJMPMAINORG0003HLJMPINT0ORG0100HMAIN:

5.中断响应,例5-5设外部中断0提出申请,且主程序中需对累加器A、DPTR、R0和R1进行保护,则程序如下:

ORG1000H;1000H为;中断入口地址INT0:

PUSHACCPUSHDPHPUSHDPLPOPDPLPOPDPHPOPACCRETI,-保护现场,39,18:

38,在中断服务程序中,PUSH指令与POP指令必须成对使用,否则不能正确返回断点。

而且最后一条指令必须为中断返回指令RETI,RETI的具体功能是:

(1)将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;

(2)将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。

如果有多个中断源,就对应有多个“ORG中断入口地址”,且这多个“ORG中断入口地址”必须依次由小到大排列。

5.中断响应,-PUSH和POP指令的功能,40,18:

38,-中断响应时间,所谓中断响应时间是指CPU检测到中断请求信号到转入中断服务程序入口所需要的机器周期数。

MCS-51单片机响应中断的最短时间为3个机器周期。

若CPU检测到中断请求信号时间正好是一条指令的最后一个机器周期,则不需等待就可以立即响应。

所谓响应中断就是由内部硬件执行一条长调用指令,需要2个机器周期,加上检测需要1个机器周期,一共需要3个机器周期才开始执行中断服务程序。

5.中断响应,3)中断响应时间,41,18:

38,中断响应的最长时间由下列情况所决定:

若中断检测时正在执行RETI或访问IE或IP指令的第一个机器周期,这样包括检测在内需要2个机器周期(以上三条指令需两个机器周期);若紧接着要执行的指令恰好是执行时间最长的乘除法指令,其执行时间均为4个机器周期;再用2个机器周期执行一条长调用指令才转入中断服务程序。

这样,总共需要8个机器周期。

5.中断响应,-中断响应最长时间,42,18:

38,如果已经在处理同级或更高级中断,外部中断请求的响应时间取决于正在执行的中断服务程序的处理时间,这种情况下,响应时间就无法计算。

因此,在1个单一中断的系统里,MCS-51单片机对外部中断请求的响应时间为38个机器周期。

5.中断响应,-中断响应最长时间,43,18:

38,5.1.3中断应用举例,中断系统虽然是硬件系统,但中断系统的应用需要硬件系统和软件系统相互配合才能正确使用。

在设计中断服务程序时需要注意以下几个问题。

在主程序的初始化程序段中:

(1)设置中断允许控制寄存器IE

(2)设置中断优先级寄存器IP(3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0在中断服务程序中:

(1)现场保护和现场恢复

(2)开中断和关中断(3)中断返回,-设计中断服务程序需要注意,44,18:

38,1)设置中断允许控制寄存器IE,允许相应的中断源请求中断。

2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。

3)若是外部中断源,还要设置中断请求的触发方式IT1或IT0,以决定采用电平触发方式还是边沿触发方式。

4)编写中断服务程序,处理中断请求。

一般将前3条都放在主程序的初始化程序段中。

1中断服务程序设计的基本任务,-中断服务程序的任务,5.1.3中断应用举例,45,18:

38,

(1)现场保护和现场恢复

(2)开中断和关中断(3)中断返回,2中断服务程序的流程,-中断服务程序的流程,5.1.3中断应用举例,46,18:

38,3.中断系统应用实例,例5-6中断初始化程序举例。

分析:

假设允许外部中断0和1中断,并设定外部中断0为高级中断,外部中断1为低级中断,外部中断0采用边沿触发方式,外部中断1采用电平触发方式。

对应的主程序中程序段如下:

SETBEA;CPU开中断SETBET0;允许外中断0产生中断SETBET1;允许外中断1产生中断SETBPX0;外中断0为高级中断CLRPX1;外中断1为低级中断SETBIT0;外中断0为跳沿触发方式CLRIT1;外中断0为电平触发方式,-例5-6,47,18:

38,当外部中断源多于两个时,可以采用硬件申请与软件查询方法,把多个中断源通过或非门引入外部中断源输入端,同时又连到某I/O口。

这样,每个“源”都可能引起中断,但在中断服务程序中通过软件查询,便可确定哪一个是正在申请的中断源,其查询的次序则由中断源优先级决定。

这样就可实现多个外部中断源的扩展。

3.中断系统应用实例,例5-7中断和查询结合的方法扩展多个外中断源,-例5-7,48,18:

38,图5-10中的LED可实现系统的故障显示。

当系统的各部分工作正常时,4个故障源输入端全为低电平,显示灯全熄灭。

只有当某部分出现故障时,则对应的输入线由低电平变为高电平,从而引起8051的中断,在中断服务中通过查询即可判断故障源,并进行相应的LED显示。

3.中断系统应用实例,-例5-7,49,18:

38,;汇编语言主程序:

ORG0000H;复位入口地址AJMPMAIN;转主程序ORG0003H;外部0中断入口AJMPIO;转中断服务程序MAIN:

ANLP1,#0AAH;置P1口输出全为0SETBIT0;外部中断0为边沿触发中断方式SETBEX0;允许外部中断0中断SETBEA;CPU开中断LOOP1:

SJMPLOOP1;等待中断,3.中断系统应用实例,-例5-7,50,18:

38,;汇编语言中断服务程序:

IO:

JNBP1.1,L1;查询中断源,P1.1为0转L1执行SETBP1.0;P1.0送出1使对应的灯点亮L1:

JNBP1.3,L2SETBP1.2L2:

JNBP1.5,L3SETBP1.4L3:

JNBP1.7,L4SETBP1.6L4:

RETI;返回主程序END,3.中断系统应用实例,-例5-7,51,18:

38,例5-8结合如图所示电路,编写由P1口控制发光二极管状态的程序。

分析:

要求P1口输出控制8只发光二极管呈循环点亮状态,当开关S按下时,发光二极管全部熄灭一段时间,然后回到原来的循环点亮状态。

3.中断系统应用实例,-例5-8,52,18:

38,;汇编语言主程序:

ORG0000H;复位入口地址AJMPST;转主程序ORG0003H;外部0中断入口AJMPSER;转中断服务程序ORG0100HST:

MOVSP,#40HMOVIE,#81HMOVIP,#01HMOVTCON,#00HMOVA,#01H;ACC初始化RES:

MOVP1,A;显示RLA;循环移位LCALLDEL;延时保持SJMPRES;循环,3.中断系统应用实例,-例5-8,53,18:

38,;汇编语言中断服务程序:

SER:

PUSHACC;存当前的ACC值MOV30H,R1;存延时;程序的计数值MOV31H,R2MOVP1,#00H;把二极;管熄灭MOVR3,#10;保持LOOP:

LCALLDELDJNZR3,LOOPMOVR1,30H;取延时;程序的计数值MOVR2,31H,3.中断系统应用实例,-例5-8,POPACC;取当前的ACC值MOVP1,ACCRETI;中断返回DEL:

MOVR1,#123;延时程序DEL1:

MOVR2,#200DEL2:

DJNZR2,DEL2DJNZR1,DEL1RETEND,54,18:

38,5.2定时/计数器,MCS-51单片机内有2个16位可编程的定时/计数器,即定时器0(T0)和定时器1(T1)。

两个定时/计数器都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等应用。

55,18:

38,5.2.1定时/计数器的结构与原理,T0和T1受特殊功能寄存器TMOD和TCON控制。

可由软件设置为定时或计数工作方式。

1定时/计数器T0、T1结构,-T0、T1结构,56,18:

38,2加1计数器,T0、T1都是16位加1计数器,TH0、TL0构成定时/计数器T0加1计数器的高8位和低8位。

加1计数器的初值可以通过程序进行设定,设定不同的初值,就可以获得不同的计数值或定时时间。

5.2.1定时/计数器的结构与原理,-加1计数器,57,18:

38,3定时控制寄存器(TCON),TF0、TF1:

计数溢出标志位。

TF0=1或TF1=1是计数溢出;TF0=0或TF1=0是计数未满。

TR0、TR1:

启/停控制位。

TR0=1或TR1=1,使T0或T1启动计数;TR0=0或TR1=0,使T0或T1停止计数。

5.2.1定时/计数器的结构与原理,-TCON,58,18:

38,4工作方式控

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2