版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.180C51单片机的中断系统
5.280C51中断处理过程
5.380C51的定时/计数器第五章80C51的中断系统及定时/计数器
5.1.180C51中断系统的结构一、中断的概念(1)中断:CPU正在执行事件A的过程中,发生了事件B请求CPU去处理(中断发生);CPU暂时中断当前工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一处理过程称为中断。(2)中断源:引起CPU中断的根源,称为中断源。(3)中断请求:中断源向CPU提出的处理请求,称为中断请求或中断申请。(4)中断系统:
实现中断过程的软、硬件系统。5.180C51单片机的中断系统5.180C51单片机的中断系统中断方式也是一种条件传送。CPU可以与外设同时工作,并执行与外设无关的操作,一旦外设需要服务,就主动向CPU提出申请,CPU暂停现在的操作去执行对外设的输入输出程序,执行完毕又返回继续执行现在的操作。应用范围较广。中断方式中断的优点:●分时操作。●实时响应。●可靠性高。二、80C51中断系统的结构(5个中断源、2个优先级)中断优先级:当多个中断源同时申请中断时,为了使CPU能够按照用户的规定先处理最紧急的,然后再处理其他事件,中断系统设置有中断优先权排队电路,通过用户的设置,排在前面的中断源称为高级中断,排在后面的称为低级中断。
中断嵌套:当CPU响应某一中断源请求而进入中断处理时,若更高级别的中断源发出申请,则CPU暂停现行的中断服务程序,去响应优先级更高的中断,待更高级别的中断处理完毕后,再返回低级中断服务程序,继续原先的处理,这个过程称为中断嵌套。
5.180C51单片机的中断系统5.1.280C51的中断源一、中断源(5个)
5.180C51单片机的中断系统中断源有效的申请信号设置的标志位外部中断0(P3.2)IT0位(TCON.0)=0时,为低电平申请中断;IT0位=1时,有1到0的负跳变信号申请中断。IE0(TCON.1)=1外部中断1(P3.3)IT1位(TCON.2)=0时,为低电平申请中断;IT1位=1时,有1到0的负跳变信号申请中断。IE1(TCON.3)=1TF0(TCON.5)片内定时/计数器T0溢出中断请求标志。当T0计满溢出时申请中断。TF0=1TF1(TCON.7)片内定时/计数器T1溢出中断请求标志。当T1计满溢出时申请中断。TF1=1RI(SCON.0)或T1(SCON.1)串行接口中断请求标志当发送完一帧数据时申请中断TI=1当接收完一帧数据时申请中断RI=189S51中断系统有5个中断源,2级中断优先级。结构框图如图所示。5.180C51单片机的中断系统二、中断请求标志(TCON和SCON属于特殊功能寄存器)TCON、SCON的中断标志(可进行位寻址)
5.180C51单片机的中断系统5.1.380C51中断的控制一、中断允许控制(中断允许寄存器IE)
5.180C51单片机的中断系统二、中断优先级控制中断优先级控制寄存器IP:80C51有两个中断优先级,每一个中断源都可以由软件设置为高级中断或低级中断,由中断优先级控制寄存器IP控制。某位设定为“1”时,此中断为高级中断,清“0”时设置为低级中断。5.180C51单片机的中断系统表5.1各中断源响应优先级及中断服务程序入口表5.180C51单片机的中断系统中断源中断标志中断服务程序入口优先级顺序外部中断0()IE00003H高定时/计数器0(T0)TF0000BH外部中断1()IE10013H定时/计数器1(T1)TF1001BH串行接口RI或TI0023H80C51单片机的中断优先级有三条原则:1.CPU同时接受到几个中断时,首先响应优先级别最高的中断请求。2.正在进行的中断过程不能被新的同级或低优先级中断请求所中断。3.正在进行的低优先级中断服务,能被高优先级中断请求所中断。80C51中断的处理过程:
5.280C51单片机中断处理过程5.2.1中断响应条件和时间一、中断响应条件CPU响应中断的条件是:第一、中断源有中断请求;第二、此中断源的中断允许位为1;第三、CPU中断开放,即EA=1;第四、无同级或更高优先级中断正在被服务;第五、当前查询的机器周期不是所执行指令的最后一个机器周期。第六、若正在执行的指令为RET、RETI或访问IE、IP寄存器指令,必须执行完该指令和紧接着的下一条指令后才能响应中断。5.280C51单片机中断处理过程注:上述只要有一个条件不满足,就不会立即响应中断。二、中断响应时间如果中断响应过程受阻,就要增加等待时间。若同级或高级中断正在执行,所需要的附加等待时间取决于正在执行的中断服务程序的长短,等待的时间不确定;若没有同级或高级中断正在进行,所需要的附加等待时间在3~5个机器周期之间。这是因为:
5.280C51单片机中断处理过程80C51的中断响应时间(从标志置1到进入相应的中断服务),至少需要3个完整的时间周期。第一、如果查询周期不是正在执行的指令的最后的机器周期,附加等待时间不会超过3个机器周期(因执行时间最长的指令MUL和DIV也只有四个机器周期)第二、如果查询周期恰逢RET、RETI或访问IE、IP指令,而这类指令之后又跟着MUL或DIV指令,则由此引起的附加等待时间不会超过5个机器周期(1个机器周期完成正在执行的指令再加上MUL或DIV的4个机器周期)
5.280C51单片机中断处理过程注意:对于没有嵌套的单机中断,响应时间位3~8个机器周期。5.2.2中断响应过程
CPU响应中断的过程如下:
1.将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求);
2.执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。
3.执行中断服务程序。5.280C51单片机中断处理过程编写中断服务程序时应注意:(1)80C51单片机的两个相邻中断源中断服务程序入口地址相距只有8个单元,通常是在相应的中断服务程序入口地址单元放一条长跳转指令LJMP,使中断程序放在64KB程序存储器的任何地方。若在2KB范围内转移,则可用AJMP指令。(2)硬件LCALL指令,只能将PC内的断点地址压入堆栈保护,而对其他寄存器(如PSW、A等)的内容并不作保护处理。在中断服务程序中,应用软件保护现场,在中断服务后,中断返回恢复现场。5.2.3中断返回中断返回指令RETI的具体功能:(1)将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序。(2)将相应中断优先级状态触发器清0,通知中断系统,中断服务已执行完毕。5.280C51单片机中断处理过程注意:1.不能用RET指令代替RETI指令。2.在中断程序中PUSH和POP指令必须成对使用。5.280C51单片机中断处理过程5.280C51单片机中断处理过程5.280C51单片机中断处理过程4.2定时器/计数器
89S51单片机内部集成有两个16位定时器/计数器T0、T1。一、定时器/计数器T0、T1的结构1.定时器的总体结构
定时器/计数器T0、T1的结构如图所示。特殊功能寄存器TH0,TLO.TH1,TL12.定时器方式寄存器TMOD
特殊功能寄存器TMOD用于控制定时器/计数器的启动方式、计数脉冲源的选择、工作方式的选择。其各位含义如图所示。3.定时器控制寄存器TCON
各位含义如图所示。
二、定时器/计数器T0、T1的工作方式
定时器/计数器的基本工作过程如图所示。1.方式0
T0、T1定时器/计数器的方式0相同,为13位计数器结构,方式0的原理图如图所示。TH0最高位进位(即溢出)时,设置TF0=1,申请中断。响应中断后,系统自动对TF0复位。当C/=0,为定时功能;当C/=1,为计数功能。
这三者为启动控制
定时时间t与计数器的位数、设置的计数初值(又称时间常数)、时钟频率有关。计算公式如下:
t=(计数最大值―x初值)×机器周期=(2¹³―x初值)×12/fosc
其中:x初值:时间常数;fosc:时钟频率。若fosc=12MHz,则方式0的最大定时时间T=(2¹³―0)×12/fosc=8.192(ms)例1若设置定时器T1工作在方式0、定时功能,定时时间t=5ms,启动由TR1控制。写出初始化程序。解:方式0:设置M1、M0=00;定时功能:设置C/=0;
TR1启动:设置GATE=0;定时时间t=5ms:由上述公式计算x初=3192=110001111000B,将x初值的低5位(11000B)送给TL1的低5位,TL1的高3位补0,将x初值的其余高位(1100011B)送给TH1,即设置TH1=63H,TL1=18H。初始化程序如下:START:MOVTMOD,#00H ;设置T1方式0,定时功能
MOVTH1,#63H ;送时间常数
MOVTL1,#18H SETBTR1 ;启动T1工作2.方式1
T0、T1定时器/计数器的方式1相同,为16位计数器结构。方式1的原理图如下图所示。
方式1与方式0的唯一区别在于计数位数不同,其它工作过程相同。
方式1的定时时间计算公式如下:t=(计数最大值―x初值)×机器周期
=(
―x初值)×12/fosc若fosc=12MHz,则方式1的最大定时时间T=(―0)×12/fosc=65.536(ms)例2若设置定时器T0工作在方式1、计数功能,计数数目为10000次,启动由引脚控制。写出初始化程序。解:方式1:设置M1、M0=01;计数功能:设置C/=1;控制启动:设置GATE=1;计数10000次:x初值=216―10000=55536=0D8F0H,将x初值的低8位送给TL0,将x初值的其余高位送给TH0,即设置TH0=0D8H,TL0=0F0H。初始化程序如下:START:MOVTMOD,#0DH;设置T0方式1,计数功能
MOVTH0,#0D8H;送计数初值
MOVTL0,#0F0H SETBTR0 ;置TR0=1,T0启动由引脚控制3.方式2
T0、T1定时器/计数器的方式2相同,为可重栽时间常数的8位计数器结构。方式2的原理图如图所示。TH0作为重载时间常数寄存器,当TL0计满溢出后,设置TF0=1申请中断,同时将TH0中的数据自动装载到TL0中重新工作。定时时间计算公式如下:t=(计数最大值―x初值)×机器周期=(―x初值)×12/fosc若fosc=12MHz,则方式2的最大定时时间T=(―0)×12/fosc=0.256(ms)4.方式3
T1设置为方式3时,停止工作;T0设置为方式3时,分成两个独立的8位定时器/计数器。T0方式3原理图如图所示。
任务演示任务T5—生产线零件打包机控制。见动画十三——生产线零件打包机控制课堂实践利用T0定时功能,在P1.0引脚上产生周期为100ms的方波信号,设fosc=12MHz。见动画十四——方波发生器4.3串行口
一、串行通信的基本概念并行通信单位信息(通常为一个字节)的各位数据同时传送串行通信分类同步通信发送和接收同步进行,从而实现数据的不间断传送异步通信发送与接收没有用同步时钟同步,传送过程中数据之间有间隔传送方式单工半双工全双工2.波特率的概念
每秒传送数据的位数称为波特率(BaudRate),单位为波特,即位/秒(b/s)。波特率的倒数称为位传送时间,用Td表示,单位为秒(s)。例如:传送速率每秒10帧数据,每一帧数据11位,则传送波特率为
10帧/秒×11位/帧=110b/s位传送时间Td=9.1ms。二、串行口的结构1.串口的总体结构通过设置特殊功能寄存器SCON、PCON来控制串行口的工作方式与波特率。
2.串口控制寄存器SCON
数据格式如下:
SM0、SM1:串行口工作方式选择位。可以设置4种工作方式。9FH9EH9DH9CH9BH9AH99H98H98HSM0SM1SM2RENTB8RB8TIRISM0SM1工作方式功能说明波特率00方式08位移位寄存器方式fosc/1201方式18位异步通信方式T1溢出率的16或32分频10方式29位异步通信方式fosc的32或64分频11方式39位异步通信方式T1溢出率的16或32分频串行接收允许位。由软件设置1允许接收,设为0禁止接收在9位异步通信方式下,由于缓冲器只有8位,故用TB8作为发送的第9位,RB8作为接收的第9位。发送中断标志与接收中断标志。SM2:允许方式2、3多机通信控制位。
串口工作方式SM2位功能说明方式0SM2=0此位无意义,设为0方式1SM2=1只有接收到有效的停止位,才将数据送入接收缓冲器保存,并置RI=1,否则数据丢失,不置位RISM2=0无论是否接收到有效的停止位,都将数据保存,并置位RI方式2、3SM2=1只有接收到第9位为1,才将数据送入接收缓冲器保存,并置RI=1,否则数据丢失,不置位RISM2=0无论是否接收到第9位为1,都将数据保存,并置位RI3.电源控制寄存器PCON
用来控制串行口的波特率倍增,以及在CHMOS系列单片机中实现电源控制,其格式如下:87HSMODPDIDL波特率倍增位。当SMOD=1时,使串行口波特率加倍。三、串行口方式0
1.方式0的工作过程
(1)发送过程①CPU将数据送入发送缓冲器SBUF后,自动启动串口发送。②8位数据以固定的波特率(fosc/12),低位在前,从RXD引脚串行输出,TXD引脚发送移位时钟信号(频率为fosc/12),每个移位时钟对应一个输出的数据位。③
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防火阻燃材料的应用与测评
- 电子商务平台销售合同
- 寄卖合同范本模板
- 泥工劳务分包合同
- 沙石材料运输合同范本
- 物业管理中的环境保护措施
- 房地产开发投资合同
- 输尿管镜项目可行性研究报告
- 平头式塔式起重机臂架轻量化设计研究
- 委托合同中的利益冲突及其救济
- 三年级上册竖式计算练习300题及答案
- 点亮生命-大学生职业生涯发展与就业指导全套教学课件
- 旅居管家策划方案
- 车间消防安全知识培训课件
- 华为经营管理-华为的研发管理(6版)
- 锂离子电池生产工艺流程图
- 平衡计分卡-化战略为行动
- 幼儿园小班下学期期末家长会PPT模板
- 矿山安全培训课件-地下矿山开采安全技术
- GB/T 6417.1-2005金属熔化焊接头缺欠分类及说明
- 《社会主义市场经济理论(第三版)》第七章社会主义市场经济规则论
评论
0/150
提交评论