任务5-1 外部中断统计器_第1页
任务5-1 外部中断统计器_第2页
任务5-1 外部中断统计器_第3页
任务5-1 外部中断统计器_第4页
任务5-1 外部中断统计器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

单片机应用技术18物联网核心课程项目化实施课程嵌入式系统(智能终端)的中断应用场景

查询模式:CPU不停地轮流查询外设(片上或片外)的过程,效率低;中断模式:CPU“主人”正常工作,外设有需求及时请求告知CPU外设按键的查询模式效率低中断模式的优点提高CPU的效率

CPU和外设可以同时工作实时处理

CPU可以及时处理随机事件,增强实时控制性故障处理针对难以预料的情况或故障进行及时处理,保证系统可靠性

任务5-1外部中断统计器5.1.1何为中断5.1.2中断初始化配置流程5.1.3中断的关键寄存器5.1.4中断服务子程序项目5中断系统应用案例引入任务5-1外部中断统计器

使用数码管实现一位外部中断统计器• 按键按下产生下降沿脉冲,提出片外外设的中断请求信号(外部中断INT0);•CPU响应外部中断INT0,统计并显示外部中断的请求次数(静态数码管),9次归零;已知/未知

何为中断?5.1.1何为中断生活中的中断主人看书——主人业务A电话铃响——出现“外部”提出的需要立刻解决的事务B暂停看书——中断主人业务A放好书签——记录主人业务断点,便于接续接听电话——处理“外部”事务B继续看书——继续主人业务A协调主人业务和“外部”事务?

查询方式VS.中断方式主人主人单片机的中断主程序:“主人”CPU正在运行的程序中断源:打断主程序的外设或软件异常等特定事件

(有原因)——中断请求中断服务函数:

处理外设或软件异常事件的一段程序(有结果)——中断响应中断系统interruptsystem:协调解决外设与CPU间沟通的效率问题外设:片上(如定时器等片上资源)或片外(如按键)“主人”——CPU为中心因果外设与CPU沟通:断而不乱片外外设片上外设如:按键因——CPU以外的模块统称“外设”,包括:片上外设+片外外设“主人”CPU案例引入任务5-1外部中断统计器

使用数码管实现一位外部中断统计器• 按键按下产生下降沿脉冲,提出片外外设的中断请求信号(外部中断INT0);•CPU响应外部中断INT0,统计并显示外部中断的请求次数(静态数码管),9次归零;如何配置中断模式?5.1.2中断初始化配置流程中断服务函数因(中断源)果(中断服务函数)中断请求触发方式中断响应允许中断标志硬件置1中断优先级(可略)中断源1、中断源的初始化配置2、编写中断服务函数中断源(5个)P3.2外部中断请求0(低电平或下降沿有效)T0定时器T0内部定时器T0计满溢出后P3.3外部中断请求1(低电平或下降沿有效)T1定时器T1内部定时器T0计满溢出后RX或TX串行口接收或发送完一帧串行数据后因——单片机的中断源(P167)

(片上外设、片外外设)5.1.3中断的关键寄存器TCON——认知中断请求标志;(P167)

配置请求触发方式请求方式:Interrupttrigger中断请求的标志——SCON(项目6串口)响应中断后需软件清0中断请求响应的条件①中断源发出中断请求(标志)②总中断允许位EA置1③申请中断的中断源允许位置1。满足所有的条件①CPU正在响应同级或更高优先级的中断;②当前指令未执行完;③正在执行中断返回或访问寄存器IE和IP阻断的情况(无)中断允许寄存器IE(P168)例,若允许T1中断,则指令如下:ET1=1;//位操作EA=1;或:IE=0X88;//字节操作该寄存器可以位寻址?中断优先级寄存器IP(后续)中断优先级寄存器1:高优先级0:低优先级低优先级可被高优先级中断注意高优先级不能被低优先级中断中断源同一级自然优先权外部中断0最高级最低级定时器T0外部中断1定时器T1串行口案例引入任务5-1外部中断统计器

使用数码管实现一位外部中断统计器• 按键按下产生下降沿脉冲,提出片外外设的中断请求信号(外部中断INT0);•CPU响应外部中断INT0,统计并显示外部中断的请求次数(静态数码管),9次归零;1、配置中断初始化2、编写中断服务函数5.1.3中断服务函数入口地址-PC0x00030x000B0x00130x001B0x0023中断服务函数的定义中断服务函数以函数形式存在(但区别于函数,无需调用,CPU自动执行);中断服务函数定义语法如下:

void函数名()

interrupt

n

[using

m]{

语句…;}中断源n外部中断00定时器01外部中断12定时器13串行口4寄存器组m组00组11组22组33案例引入任务5-1外部中断统计器

使用数码管实现一位外部中断统计器• 按键按下产生下降沿脉冲,提出片外外设的中断请求信号;•CPU响应外部中断INT0,统计并显示外部中断的请求次数(静态数码管),9次归零;下面来小组协作动手实践一下吧子函数init_int0():中断源初始化(因),寄存器配置中断请求的边沿触发方式;外部中断int0允许;总中断允许;中断服务函数int0()interrupt0:按键按下(中断请求)

进入中断服务函数执行(果)total++主函数main():初始化(变量;片上外设);

while(1){显示;逻辑处理;}拓展调试:1、按键去抖检测?任务5_1外部中断统计器main开始数码管显示total初始化变量total***调用init_int0()实现中断初始化total=10total

温馨提示

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

最新文档

评论

0/150

提交评论