




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Zigbee无线传感网技术与应用数字电子时钟0301了解按钮驱动原理03掌握编写按钮程序方法05掌握编写外部中断方法04了解中断概念02掌握设置I/O输入方法学习目标Learningobjectives任务二:打造更灵敏的按键任务要求要求读者学习CC2530单片机外部中断的使用方法,通过任务来学习单片机中断的基本知识、外部中断的使用方法,从而实现按键的外部中断识别应用。任务目标Missionobjectives01了解外部中断的概念03掌握CC2530外部中断的配置方法04能够编写外部中断的中断处理函数02了解中断的处理过程储备知识什么是中断,我们从一个生活中的例程引入。你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。“中断”即打断,是指CPU在执行当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另一段特殊程序来处理出现的紧急事务,处理结束后CPU自动返回到原先暂停的程序中去继续执行。这种程序在执行过程中由于外界的原因而被中间打断的情况称为中断。1.什么是中断中断的概念中断的作用中断使得计算机系统具备应对突发事件能力,提高了CPU的工作效率。如果没有中断系统,CPU就只能按照程序编写的先后次序,对各个外设进行依次查询和处理,即轮询工作方式。轮询方式貌似公平,但实际工作效率却很低,且不能及时响应紧急事件。储备知识采用中断技术后,可以为计算机系统带来以下好处:
实现分时操作速度较快的CPU和速度较慢的外设可以各做各的事情,外设可以在完成工作后再与CPU进行交互,而不需要CPU去等待外设完成工作,能够有效提高CPU的工作效率。
实现实时处理在控制过程中,CPU能够根据当时情况及时做出反应,实现实时控制的要求。
实现异常处理系统在运行过程中往往会出现一些异常情况,中断系统能够保证CPU及时知道出现的异常,以便CPU去解决这些异常,避免整个系统出现大的问题。1.什么是中断中断系统中的相关概念在中断系统的工作过程中,还有以下几个与中断相关的概念需要了解。储备知识CC2530具有18个中断源,每个中断源都由各自的一系列特殊功能寄存器来进行控制。18个中断源的描述如右表所示。2.CC2530的中断系统CC2530的中断源中断号中断名称描述中断向量0RFERRRF发送完成或接收完成03H1ADCADC转换结束0BH2URX0USART0接收完成13H3URX1USART1接收完成1BH4ENCAES加密/解密完成23H5ST睡眠计时器比较2BH6P2INTI/O端口2外部中断33H7UTX0USART0发送完成3BH8DMADMA传输完成43H9T1定时器1捕获/比较/溢出4BH10T2定时器2中断53H11T3定时器3捕获/比较/溢出5BH12T4定时器4捕获/比较/溢出63H13P0INTI/O端口0外部中断6BH14UTX1USART1发送完成73H15P1INTI/O端口1外部中断7BH16RFRF通用中断83H17WDT看门狗计时溢出8BH18个中断源可以根据需要来决定是否让CPU对其进行响应,只需要编程设置相关特殊功能寄存器便可,在后续学习过程中我们会逐步接触各个中断源的使用方法。储备知识3.外部中断什么是外部中断外部中断,即从单片机的I/O口向单片机输入电平信号,当输入电平信号的改变符合设置的触发条件时,中断系统便会向CPU提出中断请求。使用外部中断可以方便的监测单片机外接器件的状态或请求,如按键按下、信号出现或是通信请求等。查看芯片手册使能外部中断打开芯片手册,搜索关键字“中断”,在目录上找到I/O中断(即外部中断),根据目录找到具体内容在71页,跳转至71页,查看内容与相关寄存器。使能:负责控制信号的输入和输出叫做使能,是一个动词,英文“Enable”,使能通俗点说就是一个“开启”信号,进给使能也就是开启允许的信号。知识补充储备知识3.外部中断在71页找到一个寄存器“IEN1”、IEN2”寄存器,文中对其描述为P0口、P1口中断使能,搜索对应寄存器介绍找到一张表,如图所示,由图表可见IEN1、与IEN2两个寄存器分别控制着芯片内几乎所有的中断使能。开启P1口中断使能则需将“IEN2|=0x10”。图:IEN1中断使能图:IEN2寄存器说明储备知识3.外部中断芯片资料72页还列举了几个必要的寄存器,如下所示。
P0IEN、P1IEN、P2IEN资料介绍为中断使能,这里上述不同的在于它控制着每个I/O口的使能位置。通过搜索到的对应内容如图所示。根据表格所示需开启P1.2中断使能代码为P1IEN|=0x04。图:PxIEN寄存器储备知识3.外部中断
PICTL(注意是英文I不是数字1),资料介绍为P0、P1、P2触发沿设置,通过搜索到的对应内容如图所示。根据表格所示需开启P1.2下降沿触发代码为PICTL|=0x02。图:PICTL寄存器储备知识3.外部中断
P0IFG、P1IFG、P2IFG,为资料介绍为P0、P1、P2中断标志,即当进入中断后该寄存器对应的位会发生改变,软件只需要判断该位是否存在即可,标志不能自动清0,所以需要手动清除标志。通过搜索到的对应内容如图所示。图:PxIFG寄存器储备知识3.外部中断开启外部中断必要几个寄存器,IENx、PxIEN、PITCL、PxIFG。代码如下所示。其中EA为总中断开关必须为1。IEN2|=0x10;//端口1中断使能P1IEN|=0x04;//端口P1_2外部中断使能PICTL|=0x02;//端口P1_0到P1_3下降沿触发EA=1;//使能总中断一、根据要求在空白处编写符合要求的程序。1.开启P2.0、P2.1端口外部中断使能,中断为上升沿触发。2.开启P0.1、P1.5端口外部中断使能,中断为下降沿触发。思考练习:4.打造高效按钮本任务所需软件已安装至电脑可直接使用。本任务所需硬件:下载器、ZigBee开发板、5V电源适配器、USB下载线。环境准备任务实施4.打造高效按钮任务实施
使用外部中断方式,按下抬起sw1按钮后累加变量hour,达到24后清0;
使用外部中断方式,按下抬起sw2按钮后累加变量min,达到60后清0。任务要求编写代码步骤1:新建工程->工程名称为“外部中断”->保存->新建语言程序.c文件名称为“main.c”->设置Opion->编写最简单的代码,代码如右所示。(新建工程具体步骤,不再重复介绍)#include"iocc2530.h"voidmain(){
while(1){
}}任务实施步骤2:使能外部中断,设置外部中断4步走,1、使能端口外部中断请求,2、使能外部中断口P1_2、P0_1外部中断使能,3、控制下降沿触发中断,4、使能总中断信号。代码如下所示。4.打造高效按钮IEN2|=0x10;//端口1中断使能P1IEN|=0x04;//端口P1_2外部中断使能PICTL|=0x02;//端口P1_0到P1_3下降沿触发IEN1|=0x20;
//端口2中断使能P0IEN|=0x02;
//端口P0_1外部中断使能PICTL|=0x01;
//端口P0_1到P0_7下降沿触发EA=1;//使能总中断步骤3:编写中断响应函数也可以称做入口函数,代码如下所示。#pragmavector=P1INT_VECTOR//外部中断1的向量入口__interruptvoidInt1_Sevice(){
/*先清除引脚标志位,再清除端口标志位,否则会不断进入中断*/P1IFG&=~0x04;//软件清除P1_2引脚的标志位
P1IF=0;//软件清除P1端口组的标志位}任务实施4.打造高效按钮
步骤4:在中断函数中编写hour累加代码与判断24之后清0的代码,代码如下所示。#pragmavector=P1INT_VECTOR//外部中断1的向量入口__interruptvoidInt1_Sevice(){/*先清除引脚标志位,再清除端口标志位,否则会不断进入中断*/if(P1IFG&0x04){ P1IFG&=~0x04;//软件清除P1_2引脚的标志 hour++; if(hour==24) { hour=0; }}P1IF=0;//软件清除P1端口组的标志位}任务实施4.打造高效按钮
步骤5:在中断函数中编写min累加代码与判断60之后清0的代码,代码如下所示。#pragmavector=P0INT_VECTOR//外部中断0的向量入口__interruptvoidInt0_Sevice(){/*先清除引脚标志位,再清除端口标志位,否则会不断进入中断*/if(P0IFG&0x02){ P0IFG&=~0x02;//软件清除P0.1引脚的标志 min++;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西师范大学《中学体育教材教法》2023-2024学年第一学期期末试卷
- SCI论文写作与投稿 第2版-课件 7-SCI论文摘要写作
- 陕西理工大学《艺术素养拓展(美术一)》2023-2024学年第二学期期末试卷
- 陕西省商洛市第3中学2025届高中毕业班第二次模拟考试语文试题含解析
- 陕西省度西安中学2024-2025学年3月高三线上自我检测试题英语试题含解析
- 陕西省渭南市韩城市2024-2025学年高三下学期第二次月考试题生物试题含解析
- 陕西省西安交通大学附中2025届高中毕业班综合测试(二)历史试题含解析
- 陕西省西安市莲湖区七十中2025届高三下学期期中联考物理试题(创新班)试题含解析
- 扁腺双切护理
- 小学生舌尖上的浪费教育
- 2024年电力交易员(中级工)职业鉴定理论考试题库-上(单选题)
- 内蒙古赤峰市2025届高三下学期3·20模拟考试英语试卷(含答案)
- 门诊护士沟通培训课件
- 大学生实习证明模板(8篇)
- Unit 3 My hometown Grammar 课件 2024-2025学年译林版英语七年级下册
- 2025年辽宁医药职业学院单招职业技能考试题库附答案
- 2025年高中语文课内古诗文《蜀道难》《蜀相》联读教学设计
- 舞台剧联合投资协议书范本
- 北京市房山区2024-2025学年九年级上学期期末英语试题(含答案)
- DB34-T 4665-2024 高速公路建设项目决算文件编制规范
- 江苏教育报刊总社公开招聘4人高频重点提升(共500题)附带答案详解
评论
0/150
提交评论