单片机应用技术课件:外部中断控制_第1页
单片机应用技术课件:外部中断控制_第2页
单片机应用技术课件:外部中断控制_第3页
单片机应用技术课件:外部中断控制_第4页
单片机应用技术课件:外部中断控制_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

知识点◎中断的概念与中断的执行;◎MCS-51单片机的三种中断源及对应的中断号;◎中断控制相关的特殊功能寄存器TCON、IP、IE;◎外部中断的设置和对应的中断响应条件。技能点◎能正确连接外部中断控制电路;◎能编写外部中断的初始化程序;◎能编写外部中断的中断服务程序;◎能利用外部中断的方式实现检测信号与控制。任务电动机转动圈数测量在机电控制系统中,有时需要对电动机转动圈数或机械行程进行测量,例如出租车计价器和行驶里程表。由于电动机或轴承转动的圈数与行驶距离成正比,因此只要测得这个比例系数和电动机或轴承转动的圈数就可以计算出行驶距离。本任务是要利用单片机控制直流电动机的启停,测量电动机的转动圈数并显示。任务提出根据任务所要实现的控制功能,整个控制过程应分为三个部分,一是检测按键并控制电动机转动或停止;二是测量电动机转动圈数,即对检测到的电动机转动产生的脉冲进行计数;三是调用动态显示程序显示转动圈数。任务分析在这三个并行控制功能中,检测电动机转动脉冲这个控制功能是实时进行的,要求最高。若让单片机轮流处理这三个任务,即主程序采用动态显示数据一段时间,再查询一次按键和电动机转动脉冲。这种抽样检测输入信号的方式对具体的按键能够适用,但对于时间较短的输入脉冲可能无效,因为输入脉冲频率较高,会造成漏检。可以看出,采用这种查询的方式进行检测和控制是有缺陷的。为了解决实时检测输入信号和其他程序的运行之间的矛盾,常采用单片机的外部中断方式实现检测输入信号的处理。因此,本任务采用外部中断的方式实现检测电动机转动脉冲和按键的输入。根据任务要求,以单片机为控制核心,其信号输入部分是电动机转动脉冲检测电路和控制电动机转动或停止的按键,控制输出部分是电动机驱动电路和转动圈数的显示电路,整个系统的结构框图如图所示。电动机转动圈数测量系统框图一、中断的概念所谓中断,是指CPU在正常执行程序时,系统中出现特殊请求,CPU暂时中止当前运行程序,转去处理更紧急的事件,处理完毕后,CPU返回被中止的源程序过程。如图所示为中断程序执行顺序示意图。相关知识中断响应过程二、中断控制寄存器的用途及设置要完成中断调用,在程序中必须对相应的中断控制寄存器进行设置,即中断的初始化。设置好中断初始条件后,当系统检测到中断信号时,硬件自动保护好正在执行程序的现场,转而执行中断服务程序。中断初始化就是对定时器控制寄存器TCON、中断允许寄存器IE、中断优先控制寄存器IP等进行设置。这些寄存器在单片机内部,是单片机内部存储器的一部分,称为特殊功能寄存器(SFR),可以用命令对寄存器的各位进行设置(置0或置1)或随工作状态变化。下面先介绍外部中断用到的相关寄存器及其初始设置方法。1.定时器控制寄存器TCON定时器控制寄存器TCON芯片内部存储器地址为88H。2.中断允许控制寄存器IEMCS51系列单片机中断的开启和关闭是通过中断允许寄存器IE的设置来实现控制的。3.中断优先级寄存器IP中断优先级寄存器IP内部存储器地址为B8H。三、外部中断的实现过程外部中断设置和工作示意图四、中断源和优先次序中断源和优先次序五、C51中的中断函数1.中断源和中断号从上表可以看出,C51系列单片机有5个中断源和两个优先级,高优先级中断源可中断低优先级的服务程序,而两个同样优先级别的中断申请到来时,则按一个固定的查询次序来处理中断响应。2.中断服务程序的格式3.中断服务程序的执行一、硬件设计本任务主要实现单片机控制直流电动机转动和停止,测量电动机转动圈数并显示,故整个系统硬件电路由单片机最小系统、功能按键和电动机驱动电路组成。在本任务中单片机选择AT89S51单片机芯片为系统控制芯片,其参数选择原则见相关说明,选择系统晶振频率为12MHz。任务实施1.输入部分2.输出部分根据系统分析和电路及元器件选择,电动机转动圈数测量、显示、按键控制转动/停止的整个硬件电路如图所示。电动机转动圈数测量电路原理图二、软件设计本任务中系统要实现对电动机转动圈数的检测、计数,并在数码管上显示电动机转动圈数,同时还要检测控制电动机转动或停止的按键是否按下,以实现电动机的转停控制。要完成这三个并行任务,程序设计采用中断进行任务分配。具体的软件设计方案是将按键控制电动机操作用外部中断0的服务程序实现,对电动机转动脉冲计数并得到转动圈数用外部中断1的服务程序来实现,而实时要求较低的动态显示程序则在主程序中调用。单片机外形电动机转动圈数测量系统程序框图a)主程序流程图

b)外部中断0服务程序流程图c)外部中断1服务程序流程图封装举例三、Proteus仿真1.打开ProteusISIS软件,绘制Proteus仿真电路,如图所示。2.在Keil软件开发环境下,创建项目,编辑源程序,编译生成HEX文件,并装载到Proteus虚拟仿真硬件电路的AT89C51芯片中。3.运行ProteusISIS软件,仔细观察运行结果,如果有不完全符合设计要求的情况,调整源程序并重复步骤1、2,直至完全符合本项目提出的各项设计要求。电动机转动圈数

温馨提示

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

评论

0/150

提交评论