版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机应用技术18物联网核心课程项目化实施课程中断系统应用(按键外部中断+定时器中断)任务5-1外部中断统计器(静态数码管+按键外部中断)任务5-2按键中断控制流水灯(按键外部中断)任务5-3中断实现24秒倒计时(定时器中断)项目5中断系统应用任务5-1外部中断统计器5.1.1何为中断(P165)5.1.2中断的关键寄存器(P167-P169)5.1.3中断初始化配置流程(P170开中断)5.1.4中断服务函数(P170特殊程序段)项目5中断系统应用外设与CPU沟通:断而不乱片外外设片上外设如:按键CPU以外的模块统称“外设”,包括:片上外设+片外外设“主人”CPU单片机中断KeyWords中断源:外设(片上或片外)产生的特定事件;有5个中断源外部中断(片外外设):int0,int1;内部中断(片上外设):定时器T0;定时器T1;串行口TI或RI中断请求:中断源要求CPU中断而提出的请求;断点:主程序被打断的地方;中断响应:CPU转去执行中断服务的过程中断服务函数:为特定的事件而编写的一段处理程序因果中断请求中断响应中断服务中断返回中断响应的条件①中断源发出中断请求②总中断允许位EA置1③申请中断的中断源允许位置1。满足所有的条件①CPU正在响应同级或更高优先级的中断②当前指令未执行完;③正在执行中断返回或访问关键寄存器IE和IP无法中断响应的情况中断初始化寄存器配置TCON——认知中断请求标志;(P167)
配置请求触发方式请求方式:Interrupttrigger中断请求的标志——SCON响应中断后需软件清0中断允许寄存器IE例,若允许T1中断,则指令如下:ET1=1;//位操作EA=1;或:IE=0X88;//字节操作该寄存器可以位寻址?中断优先级寄存器IP中断优先级寄存器1:高优先级0:低优先级低优先级的中断可被高优先级中断源所中断注意高优先级中断则不能被低优先级中断中断源同一级自然优先权外部中断0最高最低定时器T0外部中断1定时器T1串行口已经得到响应的中断,不会被它的同级中断源所中断仅有的中断嵌套中断服务子程序中断请求触发方式中断响应允许中断标志硬件置1中断优先级(高、低两级)1、中断的初始化配置;2、中断服务函数中断源因(中断源)果(中断服务程序)任务5-2按键中断控制流水灯5.2.1中断响应过程揭秘(P170)5.2.2中断请求的撤除(硬件清+软件清)5.2.3中断服务子程序探究(保护现场)(P170)5.2.4中断优先级与中断嵌套(P169)项目5中断系统应用中断响应中断响应:因
果从中断请求标志有效,到CPU开始执行中断服务程序的那一段过程。中断响应判断思考:只要提出中断请求,CPU会立刻响应中断?中断响应的过程1、保存断点地址2、自动调用中断服务程序主程序main(){语句1;语句2;语句3:语句4:语句n;}中断服务程序voidint_1()interrupt2using2{语句1;语句2;语句3:语句4:具体的中断处理程序语句n;}断点撤除中断请求标志TF1TF0IE1IE0TIRITCONSCON定时器T1定时器T0外部中断1外部中断0串行口1:有中断请求0:无中断请求中断请求:中断源要求CPU中断而提出的请求,中断请求标志硬件置1;中断请求撤除:中断请求标志位要恢复为0,即中断请求撤除,以避免重复中断操作。定时器T0和定时器T1:
中断标志硬件自动清除外部中断0和外部中断1(下降沿触发):中断标志硬件自动清除外部中断0和外部中断1(低电平触发):硬件电路和软件编程串行口中断:软件编程清除标志TI、RI入口地址->PC0x00030x000B0x00130x001B0x0023中断服务程序语法格式中断服务程序以函数形式存在(但区别于函数,无需调用,CPU自动响应执行);中断函数定义语法如下:
void函数名()
interrupt
n
[using
m]{
语句…;}中断源n外部中断00定时器01外部中断12定时器13串行口4寄存器组m组00组11组22组33中断服务子程序与子函数的区别——自动调用执行;保护和恢复现场解决共享资源的冲突问题!保护现场:
保护在中断服务子程序中使用了的SFR、全局变量等相关共享资源案例引入任务5-1外部中断统计器
使用数码管实现一位外部中断统计器• 按键按下产生下降沿脉冲,提出片外外设的中断请求信号;•CPU响应外部中断INT0,统计并显示外部中断的请求次数(静态数码管),9次归零;下面来小组协作动手实践一下吧子函数init_int0():中断源初始化(因),寄存器配置中断请求的边沿触发方式;外部中断int0允许;总中断允许;中断服务函数int0()interrupt0:按键按下(中断请求)
则
进入中断服务函数执行(果)total++主函数main():初始化(变量;片上外设);
while(1){显示;逻辑处理;}拓展调试:1、按键去抖检测?任务5_1外部中断统计器main开始数码管显示total初始化变量total***调用init_int0()实现中断初始化total=10total=0while(1)循环案例引入任务5-2按键中断控制流水灯主程序状态:从高位到低位D8到D1流水灯(状态0);当K1按下(INT0)时:从两边到中间再到两边点亮,完成一次(状态1);当K2按下(INT1)时:从D1到D8逐盏点亮,直到全亮,完成一次(状态2);要求:1)流水灯采用定时器查询方式,T0的工作方式1,基准定时50ms,实现1s的delays()子函数;
2)K1、K2分别连接INT0、INT1的外部中断引脚,实现按键的中断方式,快速响应处理;
3)外部中断INT1有更高优先级,即按下K2能够打断低优先级的外部中断源INT0的中断服务函数(状态1),进入高优先级的INT1中断服务函数(状态2);——中断嵌套(中断被中断)K1K2综合任务1交通灯系统任务5-3中断实现24秒倒计时5.3.1定时器的中断方式项目5中断系统应用中断方式下的定时器初始化(三部曲)第一步:设置定时器的工作方式(TMOD);(一般只初始化一次,放在main函数)第二步:计算并加载初始值
到计数寄存器(THX、TLX);
T初值=M计数最大值-
t基准定时/T机器周期第三步:启动定时器(TCON中的TRX);第四步:等待查询定时器是否溢出(TCON中的TFX)。中断服务子程序中断请求触发方式中断响应允许中断标志硬件置1中断优先级(高、低两级)定时器的中断初始化配置:定时器三部曲+开中断中断源入口地址->PC0x00030x000B0x00130x001B0x0023定时器中断服务程序定时时间到,则溢出标志TFx硬件置1,触发定时器的中断请求,并响应执行中服;定时器中断服务程序:如果重复定时,需根据定时器工作方式重装初值:
void函数名()
interruptn
[using
m]{[TH1=(65536-50000)/256;]
[TL1=(65536-50000)%256;]
…;}中断源n外部中断00定时器01外部中断12定时器13串行口4寄存器组m组00组11组22组33案例实现任务5-3:中断实现24秒倒计时
参考查询方式代码,综合应用定时器中断,实现24秒倒计时精准计时,24秒到则蜂鸣器报警。基础功能:
上电即开始计时,24-》23-》22-》…-》02-》01-》00(蜂鸣器响报警)
Tips:秒计时功能,使用定时器T1的方式1基准50ms,中断方式,即每50ms中断一次,20次中断即为1s;1、统计50ms的次数的变量count等;2、定时器及其中断方式的初始化子函数init_timer1()定义与调用:定时器三部曲+开中断;
3、定时器中断服务函数timer1():重装初值;计算count和second;判断计时到报警?
4、main函数:初始化;while(1){显示;逻辑处理等}K1K2Tips:1秒的实现
初始化定时器T1实现中断方式的50ms基准定时;50ms计满则进入定时器中断服务函数,统计20次,即实现秒变量的更新。案例实现综合应用外部中断,实现按键控制的24秒倒计时。
拓展功能:
上电显示24;
K1键(外部中断0):启动/暂停;
K2键(外部中断1):second复位24,定时器停止,重装定时器初值
Tips:按键的中断方式1、补充外部中断初始化子函数init_int0_1()的定义和调用;
2、外部中断0的中断服务函数int0();
3、外部中断1的中断服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026贵阳招行面试题目及答案
- 2026护林员面试题及答案
- 2026金明小学面试题及答案解析
- 保险AI模型的可解释性与可信度-第4篇
- 人工智能模型可信度评估方法
- 交易行为深度学习分析
- 人工智能驱动的市场预测研究-第3篇
- 2026年宁波市中西医结合医院招聘编外人员2人笔试备考题库及答案详解
- 2026年白银市白银区住房和城乡建设局人员招聘笔试参考试题及答案详解
- 2026年高安市公开选调教师【90人】考试参考题库及答案详解
- 体重管理健康科普教育
- 供热管网项目安全文明施工保证措施
- QBT 2602-2003 影剧院公共座椅
- (正式版)SHT 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范
- 水库安全生产责任书 水库安全责任协议书(3篇)
- 大区经理竞聘报告
- NB-T 10985-2022 风力发电场维护规程
- 医疗康养项目建议书
- 不谈计算精细解析LLC的工作原理
- 文言文曹冲称象课件
- 脱硫装置检修导则实施细则
评论
0/150
提交评论