版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外部中断实验复习回顾
程序框架
IO口的相关寄存器P1P1DIRP1SEL程序架构1)预定义#include#define初始化全局变量申请自定义函数的定义1.判断相关条件2.根据条件处理对应功能3.返回循环入口2)主函数voidmain(){……见右图所示}CC2530的实验板当前模板LED、KEY的位置
LED2LED1LED4LED3SW1LED2LED1SW1LED4LED3当前模块电路SW1控制LED3灯的亮与灭:SW1开关按下时,LED3灯亮,松开则灭SW1接在P1.2引脚上,低电平0有效。SW1外接10K上拉电阻,所以不用设置P1口的输入模式的上拉电阻模式。导入回顾实验3作业2:按键1次,灯1亮,再按1次,灯2亮,…,再按1次,全灭;循环……演示小视频做一个测试:如果在实验3作业的主循环值加delay(10000),观察按键反应???演示小视频实验4IO中断控制LED实验目的:熟悉CC2530芯片I/O中断引脚的配置,了解外部中断的基本原理及处理流程。中断1.什么是中断?为什么要使用中断?2.硬中断与软中断?触发源?3.中断设计步骤?1.什么是中断?
举个日常生活中的例子:如果我们想要同时做烧一壶水与看电脑播放电视剧二件事,请设计一下实施方案…方案1:先烧开水,再看电视剧方案2:同时进行,但是可能忘记烧水,导致事故方案3:中断机制,同时进行,使用带响的水壶,水烧开时中断看电视剧,可以暂停,然后处理好开水之后再重新继续看电视…你能再举个例子吗?中断示意图程序架构主程序:中断程序:初始化独立的特定结构的中断服务程序1.判断相关条件2.根据条件处理对应功能3.返回循环入口主程序与中断服务程序通过全局变量交流数据1.为什么要使用中断
回顾一下实验3的加大延时时间的控制效果…
主程序在循环的过程中,检测到外设的信号的与外设按键按下的时间之间的间隔是不确定的,所以反应时间也是不确定的,按键反应效果自然不确定啦2.硬中断与软中断?触发源?中断分类:
硬中断
软中断如:按键触发如:定时器、看门狗触发3.中断设计实验内容:实验原理:中断设计理念
将主程序中的一部分功能,提取出来,放到中断处理程序中。在主程序中初始化时初次开放中断…
进入中断处理程序,立即关闭中断;中断处理程序,主要完成一些判断功能,然后根据判断信息,设置标志或计数,退出时重新开放中断。中断程序设计尽量短平快…
主程序循环检查标志或计数进行相对应的处理中断寄存器----参见常用SFR中断寄存器表CPU有18个中断源,每个中断源有自己的一系列SFR寄存器设置中断标志,相应标志可以设置中断使能或者禁止;中断分别组合,可以设置优先级别。每个中断请求可以通过设置中断使能SFR寄存器的中断使能位IEN0,IEN1或者IEN2使能或禁止。某些外部设备有若干事件,可以产生与外设相关的中断请求。这些中断请求可以作用在端口0、端口1、端口2、定时器1、定时器2、定时器3、定时器4和无线收发上。对于每个内部中断源对应的SFR寄存器,这些外部设备都有中断屏蔽位。CC2530中文数据手册完全版.pdf中断设计基本步骤
中断初始化,配置SFP寄存器的基本参数,配置中断使能位,清零中断标志位;
设计中断服务程序(有固定的框架),标识中断对应的中断向量地址,指示中断发生时程序跳转的程序入口,结束中断处理程序前清零该中断对应的中断标志位;
主程序的一部分实时性要求高的功能移到中断服务程序中。外中断(硬中断)使能步骤
1.沿----寄存器PICTL中设置上升沿或下降沿触发中断2.位----P1.2对应的位使能中断3.口----P1端口使能中断4.总中断----使能全局中断
外中断初始化:中断服务程序框架:中断服务程序的固定框架上指定外中断是P1INT的中断名称退出中断服务程序前,必须清除中断标志位中断必备元素
每个中断有自己的固定名称P1INT
每个中断都有自己的使能位P1IEN|=0x04;(00000100bIEN2|=0x10(00010000bd4)P1.2)使能P1.2中断使能P1口中断功能
每个中断都有自己的标志位P1IFGP1端口1中断标志
任意中断使用,总中断必须使能EA=1;orEA=0;中断服务程序固定框架/*******************************函数名称:P1INT_ISR功入口参数:无出口参数:无返回值:无*******************************/#pragmavector=P1INT_VECTOR__interruptvoidP1INT_ISR(void){能:外部中断服务函数功能程序设计书写区域EA=0;//关闭全局中断……EA=1;//使能全局中断}实验相关寄存器P1I/O输入输出端口1,0-7个bit位P1DIR端口1的方向,0-7个bit位0:输入1:输出P1SEL端口1功能选择,0-7个bit位0为IO口,1为外设功能P1IFGP1端口1中断标志PICTLI/O中断控制P1IEN端口1中断屏蔽IEN2中断使能寄存器2d4是P1口的中断使能位IEN0中断使能寄存器0d7是总的中断使能位P1口的某位中断相应标志位d2d1是P1口的中断沿设置位P1口的某位中断使能位,P1.2外部中断实验复习回顾
什么是中断?为什么引入中断?
中断分类?
中断程序设计的要点
中断设计的基本步骤程序架构主程序:中断程序:初始化独立的特定结构的中断服务程序1.判断相关条件2.根据条件处理对应功能3.返回循环入口主程序与中断服务程序通过全局变量交流数据外中断(硬中断)设计步骤
1.沿----寄存器PICTL中设置上升沿或下降沿触发中断2.位----P1.2对应的位使能中断3.口----P1端口使能中断4.总中断----使能全局中断
外中断初始化:中断服务程序框架:中断服务程序的固定框架上指定外中断是P1INT的中断名称退出中断服务程序前,必须清除中断标志位
主程序框架中断服务程序固定框架/*******************************函数名称:P1INT_ISR功入口参数:无出口参数:无返回值:无*******************************/#pragmavector=P1INT_VECTOR__interruptvoidP1INT_ISR(void){能:外部中断服务函数功能程序设计书写区域EA=0;//关闭全局中断……EA=1;//使能全局中断}练习
根据前面实验组织程序框架中断必备元素
每个中断有自己的固定名称P1INT
每个中断都有自己的使能位P1IEN|=0x04;(00000100bIEN2|=0x10(00010000bd4)P1.2)使能P1.2中断使能P1口中断功能
每个中断都有自己的标志位P1IFGP1端口1中断标志
任意中断使用,总中断必须使能EA=1;orEA=0;实验相关寄存器P1I/O输入输出端口1,0-7个bit位P1DIR端口1的方向,0-7个bit位0:输入1:输出P1SEL端口1功能选择,0-7个bit位0为IO口,1为外设功能P1IFGP1端口1中断标志PICTLI/O中断控制P1IEN端口1中断屏蔽IEN2中断使能寄存器2d4是P1口的中断使能位IEN0中断使能寄存器0d7是总的中断使能位P1口的某位中断相应标志位d2d1是P1口的中断沿设置位P1口的某位中断使能位实验4外中断控制LED实验实验内容:在IAR集成环境中配置好应用开发环境,编写IAR程序,实现控制为:开始LED1、LED2、LED3、LED4全灭;按键SW1一次,LED1亮,按键SW1二次,LED2亮,按键SW1三次,LED3亮,按键SW1四次,LED4亮;再次按键SW1,LED1-4全灭。重新回到初始状态。如此往复…实验4外中断控制LED实验实验原理:
实验板SW1连接在CC2530实验板的P1口的P1.2位上,通过配置P1.2生产中断而实现外部中断触发,来执行中断服务程序,在中断服务程序中实时响应对LED的亮灭。实验操作中需要配置的寄存器有P1、P1DIR、P1SEL、P1IFG、PICTL、P0IEN。P1、P1DIR、P1SEL关于I/O的配置与实验3相同。
下面介绍外中断初始化的配置……寄存器设置----P1SELP1SEL端口1功能选择,0-7个bit位0为IO口,1为外设功能P1SEL&=~(0x1F)(00011111b)即将P1SEL的低5位置0,定义LED1-LED4,SW1为普通I/O口寄存器设置----P1DIRP1DIR端口1的方向,0-7个bit位0:输入1:输出P1DIR|=0x1B(000011011b)或运算将P1DIR的LED均置1,定义为输出P1DIR&=~0x04(000000100b)将P1DIR的P1.2置0,定义为输入寄存器设置----沿PICTLI/O中断控制寄存器寄存器设置----沿PICTL寄存器设置PICTL&=~0x02;(00000010b)清零d1位即配置P1的中断边沿为上升沿产生中断也可以使用下降沿:???参数使用P0_1的下降沿产生中断…PICTL|=0x02;寄存器设置----位P1IENP1中断屏蔽寄存器P1IEN|=0x04(00000100bP1.2)使能P1.2中断寄存器设置----口IEN2中断使能寄存器2IEN2|=0x10(00010000bd4)使能P1口中断功能寄存器设置----全局中断IEN0中断使能寄存器0位操作:EA=0;禁止全局中断EA=1;使能全局中断寄存器设置----P1中断标志位每个中断发生时,都会有一个相应的标志位被置1(初始化时一般默认为0),执行完中断服务程序后退出之前,需要将其置0,否则后续中断将无法再次被触发。P1端口的中断标志寄存器为P1IFG寄存器(参见附录的的表1-12P1IFG寄存器表)。P1IFG寄存器的每一位和P1寄存器的每一位一一对应,当P1口的某一位发生中断时,P1IFG寄存器的对应位就会被系统自动置1,等待中断服务程序中人工编程将其置0(复位)。对应P1.2的中断标志位是P1IFG的d2位。寄存器设置----P1中断标志位P1IFGP1端口1中断标志P1IFG状态寄存器判断P1IFG&0x04(00000100b)结果为1则判断P1.2是发生中断申请了P1IFG&=~0x04;清零P1.2中断标志位实现代码解释4.实现代码初始化端口名,申请全局变量keyTouchtimes记录按键次数实现代码解释---延时函数代码/**********************************************************************函数名称:delay*功*入口参数:无*出口参数:无*返回值:无********************************************************************/voiddelay(unsignedinttime){能:软件延时unsignedinti;unsignedcharj;for(i{=0;i<time;i++)for(j=0;j<240;j++){asm("NOP");//asm是内嵌汇编,nop是空操作,执行一个指令周期asm("NOP");asm("NOP");}}}实现代码解释4.实现代码初始化端口init函数代码:voidinit(void){①设置P1口的LED1-4为I/O输出,SW1,对应P1.2脚,为I/O输入,灭中断配置由小到大!LED1-4灯②配置P1口的中断边沿为上升沿中断,使能P1.2位中断,使能P1口中断③使能全局中断EA=1}实现代码解释外部中断服务函数代码:①判P1IFG&0x04是否为1,即是否有按键外部中断状态②如果为1,等待用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级道德与法治下学期综合模块寒假巩固练习卷能力提升版精练组
- 工程防造假管理制度
- 摔倒预防健康内容
- 幼儿发展心理基础 课程标准
- 人工智能硕士课程详解
- 富源县就业前景分析
- 公司组织机构管理制度范本
- 施工质量(装饰装修工程)强条实施监理检查表
- 2026年度法治宣传教育(普法)专项经费预算方案
- 计算机科学概论-32学时教案总体安排表
- 2026年廉洁从业教育培训测试题及答案
- 2026年吉林省国资委监管企业2026年度第一次集中招聘(613人)考试备考题库及答案详解
- 金融赋能:我国城镇化建设中金融发展与城镇化关系的深度剖析与实证研究
- 二年级孤独的小螃蟹故事
- 代理记账100问(完整版带答案)
- TSG 08-2026 特种设备使用管理规则
- 危化品企业法人责任制度
- 快递网点管理制度牌
- jb-qb-5ei型火灾报警控制器使用说明书(船用)v2.0
- 一河一策合同范本
- 药品GMP新规与药用辅料包材管理培训课件
评论
0/150
提交评论