版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章MCS-51单片机内部标准功能单元 教学提示:51子系列单片机应用广泛的一个重要 原因是它在一个芯片里集成了应用系统所需的大部分(或所有)硬件功能,本章叙述的是完成这些硬件功能的内部标准功能单元,构成了51子系列单片机的核心体系结构,51子系列单片机的许多变体都是以这些内部标准功能单元为基础,通过简化单元部件,或新增其他功能单元,有效满足了大量项目的需要,而不必借助于使用很多的外部器件。 教学要求:本章让学生掌握内部标准功能单元中断系统、定时/计数器和串行通信接口的逻辑结构、功能和应用设计方法。 4.1 MCS-51的中断系统 4.2 MCS-51的定时/计数器 4.3 MCS-51的串
2、行接口 4.5本章小结第4章绪论4.1.1 中断系统的概念和基本结构中断系统的概念和基本结构 CPU正在处理某一程序时,发生了另一突发事件请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作,转到需要处理的中断源的服务程序的入口(中断响应),一般在入口处执行一跳转指令转去处理中断事件(中断服务);待CPU将中断事件处理完毕后,再回到原来程序被中断的地方继续处理执行程序(中断返回),这一处理过程称为中断。 4.1.1 中断系统的概念和基本结构中断系统的概念和基本结构 图4.1 中断过程示意图4.1.1 中断系统的概念和基本结构为什么要用中断? 当CPU与外设交换信息时,由于外设的速度比较慢
3、,若用查询的方式,则CPU就要浪费很多时间去等待外设。这样就存在一个快速的CPU与慢速的外设之间的矛盾。为了解决这个问题,就发展了中断的概念。 4.1.1 中断系统的概念和基本结构中断的优点1) 分时操作:有了中断功能,就可以使CPU和外设同时工作。提高了CPU的利用率。2) 实时处理:实时控制时,需要现场的各种参数、信息,可在任何时间发出中断申请,CPU就可以马上响应加以处理。3) 故障处理:计算机在运行过程中,往往会出现事先预料不到的情况,或出现一些故障:如掉电,存储出错,运算溢出等。计算机就可以利用中断系统自行处理,而不必停机或报告工作人员。 4.1.1 中断系统的概念和基本结构中断源引
4、起中断的原因,或能发出中断申请的来源,称为中断源。通常中断源有以下几种:(1) 一般的输入、输出设备,如键盘、打印机、A/D转换、D/A转换等;(2) 实时时钟,如定时器;(3) 故障源,如电源掉电。 4.1.1 中断系统的概念和基本结构中断系统的功能1) 实现中断及返回:当某一中断源发出中断申请时,CPU能决定是否响应这个中断申请,若允许响应这个中断申请,CPU必须在现行的指令执行完后,把断点处的PC值压入堆栈保留下来称为保护断点和现场。然后转到需要处理的中断源的服务程序的入口。当中断处理完后,恢复被保留下来的PC值称为恢复断点和现场,使CPU返回断点,继续执行主程序。2) 能实现优先权排队
5、:当多个中断源同时提出中断申请时,CPU能找到优先权级别最高的中断源,响应它的中断申请;在优先权级别最高的中断源处理完后,再响应级别较低的中断源。3) 高级中断源能中断低级的中断处理 4.1.1 中断系统的概念和基本结构MCS-51单片机的中断系统 MCS-51单片机的中断系统提供5个中断申请源:外部中断0和外部中断1;定时/计数器(T0)和(T1)的溢出中断;串行接口的接收和发送中断。这5个中断源可分为两个优先级,可实现两级中断服务程序嵌套。4.1.1 中断系统的概念和基本结构MCS-51单片机的中断系统结构示意图如图4.2所示。图4.2 MCS-51中断系统结构示意图4.1.2 中断系统的
6、控制与实现MCS-51单片机的中断系统可以提供5个中断申请源,它们的控制与实现由片内4个SFR来完成。定时/计数器的控制寄存器(TCON)和串行接口控制寄存器(SCON)的相应位规定中断类型和触发方式;中断允许寄存器(IE)控制CPU是否响应中断请求;中断优先级寄存器(IP)安排各中断源的优先级,同一优先级内各中断同时提出中断请求时,由内部的查询逻辑按规定的自然优先级确定其响应次序。4.1.2 中断系统的控制与实现1. MCS-51的中断源外部中断0:来自P3.2引脚上的外部中断请求;外部中断1:来自P3.3引脚上的外部中断请求;T0:片内定时/计数器0溢出(TF0)中断请求;T1:片内定时/
7、计数器1溢出(TF1)中断请求;串行接口:片内串行接口完成一帧数据的发送或接收后,产生中断请求TI或RI。4.1.2 中断系统的控制与实现2. 和中断有关的特殊功能寄存器1) 定时/计数器控制寄存器TCON(88H)TCON:它锁存2个定时/计数器的溢出中断标志及外部中断()和()的中断标志,与中断有关的各位定义如下:位D7D6D5D4D3D2D1D0字节地址TCONTF1TR1TF0TR0IE1IT1IE0IT088H位地址8FH8EH8DH8CH8BH8AH89H88H4.1.2 中断系统的控制与实现IT0:外部中断触发方式控制位。IE0:外部中断中断请求标志位。IE0=1时,表示向CPU
8、请求中断。IT1:外部中断 触发方式控制位。其操作功能与IT0类同。IE1:外部中断 中断请求标志位。IE1=1时,表示向CPU请求中断。TF0:定时/计数器T0溢出中断请求标志位。在T0启动后就开始由初值加“1”计数,直至最高位产生溢出由硬件置位(TF0),向CPU请求中断。CPU响应中断时,TF0由硬件自动清“0”。TF1:定时/计数器T1溢出中断请求标志位。其操作功能与TF0类同。4.1.2 中断系统的控制与实现2) 串行接口控制寄存器(98H) SCON是串行接口控制寄存器,与中断有关的是它的低位TI和RI。位D7D6D5D4D3D2D1D0字节地址SCONTIRI98H位地址9FH9
9、EH9DH9CH9BH9AH99H98H4.1.2 中断系统的控制与实现(1) RI:串行接口接收中断标志位。当允许串行接口接收数据时,每接收完一个串行帧,由硬件置位RI,向CPU请求中断。CPU响应中断时,不能自动清除RI,RI必须由软件清除。(2) TI:串行接口发送中断标志位。当CPU将一个发送数据写入串行接口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位(TI),向CPU请求中断。同样,TI必须由软件清除。4.1.2 中断系统的控制与实现3) 中断允许寄存器IE(A8H)CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器(IE)控制的。IE的状态可通过
10、程序由软件设定;某位设定为“1”,相应的中断源中断允许;某位设定为“0”,相应的中断源中断屏蔽;CPU复位时,IE各位清“0”,禁止所有中断。4.1.2 中断系统的控制与实现IE各位的定义如下:(1) EX0:外部中断(0)中断允许位;(2) ET0:定时/计数器T0中断允许位;(3) EX1:外部中断(1)中断允许位;(4) ET1:定时/计数器(T1)中断允许位;(5) ES:串行接口中断允许位;(6) EA:CPU中断总允许位。位D7D6D5D4D3D2D1D0字节地址IEEAESET1EX1ET0EX0A8H位地址AFHAEHADHACHABHAAHA9HA8H4.1.2 中断系统的控
11、制与实现4) 中断优先级寄存器IP(B8H)MCS-51单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器(IP)中的相应位的状态来规定的。某位设定为“1”,则相应的中断源为高优先级中断;某位设定为“0”,则相应的中断源为低优先级中断。单片机复位时,IP各位清“0”,各中断源同为低优先级中断。4.1.2 中断系统的控制与实现IP寄存器各位的定义如下:(1) PX0:外部中断()中断优先级设定位;(2) PT0:定时/计数器(T0)中断优先级设定位;(3) PX1:外部中断()中断优先级设定位;(4) PT1:定时/计数器(T1)中断优先级设定位;(5
12、) PS:串行接口中断优先级设定位。位D7D6D5D4D3D2D1D0字节地址IPPSPT1PX1PT0PX0B8H位地址BFHBEHBDHBCHBBHBAHB9HB8H4.1.2 中断系统的控制与实现同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如表4-1所示。表4-1 各中断源响应优先级及中断服务程序入口表中断源中断标志中断服务程序入口优先级顺序外部中断()IE00003H高定时/计数器0(T0)TF0000BH外部中断()IE10013H定时/计数器1(T1)TF1001BH串行口RI或TI0023H低4.1.2 中断系统的控制与实现MCS-51单片机的中断优先级
13、控制原则:(1) CPU同时接收到几个中断时,则由单片机内部硬件查询,按自然响应优先级顺序确定执行哪一个中断;(2) 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断;(3) 正在进行的低优先级中断服务,能被高优先级中断请求所中断。4.1.3 中断系统的处理过程中断处理过程分为4个阶段:中断请求中断响应中断服务中断返回。1. 中断响应条件 CPU在每个机器周期的S5P2时刻对各个中断源的中断标志进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。如果某个中断标志在上一个机器周期的S5P2被置成了“1”,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系
14、统提供的硬件LCALL指令,转向被称作中断向量的特定入口地址,进入相应的中断服务程序。4.1.3 中断系统的处理过程2. 中断响应过程(1) 将相应的优先级状态触发器置“1”(以阻断后来的同级或低级的中断请求);(2) 执行一条硬件LCALL指令,把程序计数器(PC)的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC; (3) 进入中断服务程序后,CPU自动清除中断请求标志TF0、TF1、IE0、IE1,但不能清除TI和RI。4.1.3 中断系统的处理过程3. 执行中断服务程序(1)在主程序中事先进行中断初始化, (2)在中断服务程序入口地址单元放一条长转移指令 LJMP,这样中断服
15、务程序能灵活地安排在64KB程 序存储器的任何 地方。(3)在中断服务程序中,首先用软件保护现场,在中断 服务之后、中断返回前恢复现场,以防止中断返回 后,丢失原寄存器的内容。4.1.3 中断系统的处理过程4. 中断返回 中断服务程序的最后一条指令必须是中断返回指令RETI。RETI指令能使CPU结束中断服务程序的执行,返回到曾经被中断过的程序处,继续执行主程序。RETI指令的具体功能是:(1) 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;(2) 将相应中断优先级状态触发器清“0”,通知中断系统,中断服务程序已执行完毕。4.1.4 中断系统设计举例中断系统的设计过程通常由以下几个部分构成:(1) 中断初始化,在主程序中完成;(2) 在中断入口地址处安排一跳转指令,跳转至中断 服务子程序入口;(3) 中断服务子程序开始保护现场,保护与主程序或 其他中断系统共享的资源,如A,PSW,DPTR, Rn等,如果没有共享资源,可以不必保护;(4) 编制中断服务子程序功能主体;(5) 恢复现场;4.1.4 中断系统设计举例【例】【功能】如图4.3所示,按键S接至外部中断,按一次键LED点亮,蜂鸣器发声,再按一次键LED灭,蜂鸣器关闭,循环往复。图4.3 按键控制声光电路4.1.4 中断系统设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度农贸场农产品溯源系统开发合同3篇
- 2025版无人驾驶车辆测试场租赁合同范本4篇
- 二零二五版智慧家居系统定制开发合同范本及智能家居生态圈构建4篇
- 二零二五年度旅游度假区内部控制制度咨询与旅游服务提升合同4篇
- 2025年绿色环保服装定制生产合同范本3篇
- 二零二五年度体育赛事组织与管理聘用合同
- 2025年度泥工班组劳务承包施工合同范本
- 二零二五年度房地产代持权证登记合同范本4篇
- 2025年度个人知识产权许可欠款合同模板3篇
- 2025版门窗行业绿色制造与安装合同4篇
- 二零二五隐名股东合作协议书及公司股权代持及回购协议
- 四川省成都市武侯区2023-2024学年九年级上学期期末考试化学试题
- 教育部《中小学校园食品安全和膳食经费管理工作指引》知识培训
- 碎屑岩油藏注水水质指标及分析方法
- 【S洲际酒店婚礼策划方案设计6800字(论文)】
- 铁路项目征地拆迁工作体会课件
- 医院死亡报告年终分析报告
- 中国教育史(第四版)全套教学课件
- 2023年11月英语二级笔译真题及答案(笔译实务)
- 上海民办杨浦实验学校初一新生分班(摸底)语文考试模拟试卷(10套试卷带答案解析)
- 元明时期左江上思州黄姓土司问题研究
评论
0/150
提交评论