单片机应用课件三(精品)

上传人:无*** 文档编号:244286212 上传时间:2024-10-03 格式:PPT 页数:43 大小:652KB
返回 下载 相关 举报
单片机应用课件三(精品)_第1页
第1页 / 共43页
单片机应用课件三(精品)_第2页
第2页 / 共43页
单片机应用课件三(精品)_第3页
第3页 / 共43页
点击查看更多>>
资源描述
,任务一:数字电子钟的设计(,LED,数码显示),二级标题,三级标题,四级标题,广东机电职业技术学院,第六章 中断的应用,广东机电职业技术学院,-,单片机应用,智能电子教研室,张永亮,1,、,中断概述,第六章、中断的应用,CPU,在处理某一事件,A,时,发生了另一事件,B,请求,CPU,迅速去处理(中断发生);,CPU,暂时中断当前的工作,转去处理事件,B,(中断响应和中断服务);,待,CPU,将事件,B,处理完毕后,再回到原来事件,A,被中断的地方继续处理事件,A,(中断返回),这一过程称为中断 。,MCS-51,单片机的中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,1,、,中断概述,2,、采用中断控制方式的优点,(,1,)可以提高,CPU,的工作效率,(,2,)可以提高实时数据的处理时效,3,、中断源,(,1,)外部设备中断源,(,2,)控制对象中断源,(,3,)故障中断,(,4,)定时脉冲中断源,中断源是指引起中断的设备、部件或事件。通常,中断源有以下几种:,4,、中断优先级与中断嵌套,中断优先级,:一个,CPU,总会有若干中断源,但在同一瞬间,,CPU,只能响应其中的一个中断请求,为了避免在同一瞬间若干个中断源请求中断而带来的混乱,必须给每个中断源的中断请求设定一个中断优先级,,CPU,先响应中断优先级高的中断请求。,中断嵌套:,在某一瞬间,,CPU,因响应某一中断源的中断请求而正在执行它的中断服务程序时,若有中断优先级更高的中断源提出中断请求,那它可以把正在执行的中断服务程序停下来,转而响应和处理中断优先权更高中断源的中断请求,等到处理完后再转回来继续执行原来的中断服务程序,这就是中断嵌套 。,5,、,MCS-51,单片机中断系统,5,个中断源,(,8052,有,6,个),,,2,个优先级,可实现二级中断嵌套。,(,1,)外部中断,INT0,、,INT1,输入输出设备的中断请求,系统故障的中断请求等都可以作为外部中断源,从引脚,INT0,或,INT1,输入。外部中断请求,INT0,、,INT1,有,电平触发,及,边沿触发,两种。,(,2,)定时器计数器,0,、,l,溢出中断,定时器计数器计数溢出时,由硬件分别置,TF0 =,“,1,”,或,TF1 =,“,1,”,,向,CPU,申请中断。,CPU,响应中断转入中断服务程序时,由硬件自动清除,TFO,或,TF1,。,(,3,)串行口中断,串行口中断由单片机内部串行口中断源产生。串行口中断分为单行口发送中断和串行口接收中断两种。在串行口进行发送接收数据时,每当发送接收完一组数据,使串行口控制寄存器,SCON,中的,RI =,“,1,”,或,TI =,“,1,”,,并向,CPU,发出串行口中断请求。,5,、,MCS-51,单片机中断系统,1,)中断请求,1,)中断请求,IT0,(,TCON.0,),外部中断,0,触发方式控制位。,当,IT0=0,时,为电平触发方式。,当,IT0=1,时,为边沿触发方式(下降沿有效)。,IE0,(,TCON.1,),外部中断,0,中断请求标志位。,IT1,(,TCON.2,),外部中断,1,触发方式控制位。,IE1,(,TCON.3,),外部中断,1,中断请求标志位。,TF0,(,TCON.5,),定时,/,计数器,T0,溢出中断请求标志位。,TF1,(,TCON.7,),定时,/,计数器,T1,溢出中断请求标志位。,TCON,的中断标志,(,1,)中断允许控制,MCS - 51,单片机有,5,个(,8052,有,6,个)中断源,为了使每个中断源都能独立地被允许或禁止,以便用户能灵活使用, CPU,内部在每个中断信号的通道中设置了一个,中断允许触发器,IE,(,0A8H,),它控制,CPU,能否响应中断。只有对应的中断允许触发器被使能(置“,1”,),相应的中断才能得到相应。,2,)中断控制,EA,ES,ET1,EX1,ET0,EX0,(MSB),(LSB),中断允许控制寄存器,IE,(,0A8H,),2,)中断控制,EX0(IE.0),,,外部中断,0,允许位;,ET0(IE.1),,,定时,/,计数器,T0,中断允许位;,EX1(IE.2),,,外部中断,0,允许位;,ET1(IE.3),,,定时,/,计数器,T1,中断允许位;,ES,(,IE.4),,,串行口中断允许位;,EA (IE.7),,,CPU,中断允许(总允许)位。,(,2,)中断优先级控制,MCS - 51,单片机有,5,个(,8052,有,6,个)中断源,两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器,IP,中的相应位的状态来规定的,。,2,)中断控制,中断优先级控制寄存器,IP,(,0B8H,),PS,PT1,PX1,PT0,PX0,(MSB),(LSB),2,)中断控制,PX0,(,IP.0,),外部中断,0,优先级设定位;,PT0,(,IP.1,),定时,/,计数器,T0,优先级设定位;,PX1,(,IP.2,),外部中断,0,优先级设定位;,PT1,(,IP.3,),定时,/,计数器,T1,优先级设定位;,PS,(,IP.4,),串行口优先级设定位;,PT2,(IP.5),,定时,/,计数器,T2,优先级设定位。,同一级中的,5,个中断源的优先顺序是:,/INT0,中断,T0,溢出中断,/INT1,中断,T1,溢出中断,串口中断,高,低,2,)中断控制,(,3,)中断源优先顺序,3,)中断响应,中断源有中断请求;,此中断源的中断允许位为,1,;,CPU,开中断(即,EA=1,)。,响应条件,当上述条件同时满足时,响应中断。,CPU,正在处理同级或高优先级中断;,当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所,执行指令前,不会响应中断,从而保证指令在执行过程中不被打断;,正在执行的指令为,RET,、,RETI,或任何访问,IE,或,IP,寄存器的指令。即只有,在这些指令后面至少再执行一条指令时才能接受中断请求。,遇以下任一条件,硬件将受阻,不产生,LCALL,指令:,CPU,执行程序过程中,在,每个机器周期的,S5P2,期间,,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。,如果某个中断标志在上一个机器周期的,S5P2,时被置成了,1,,那么它将于现在的查询周期中及时被发现。接着,CPU,便执行一条由中断系统提供的硬件,LCALL,指令,转向被称作中断向量的特定地址单元,进入相应的,中断服务程序,。,3,)中断响应,中断服务的进入,五个中断源:,入口地址,外部中断,0,(,/INT0,),0003H,T0,溢出中断,000BH,外部中断,1,(,/INT1,),0013H,T1,溢出中断,001BH,串口中断,0023H,中断服务程序入口地址,中断服务入口地址,3,)中断响应,将相应的优先级状态触发器置,1,(以阻断后来的同级或低级,的中断请求)。,执行一条硬件,LCALL,指令,即把程序计数器,PC,的内容压入堆,栈保存,再将相应的中断服务程序的入口地址送入,PC,。,执行中断服务程序。,中断响应过程,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,3,)中断响应,RETI,指令的具体功能是:,将中断响应时压入堆栈保存的断点地址从栈顶弹出送回,PC,,,CPU,从原来中断的地方继续执行程序;,将相应中断优先级状态触发器清,0,,通知中断系统,中断服,务程序已执行完毕。,注意,不能用,RET,指令代替,RETI,指令。在中断服务程序中,PUSH,指令与,POP,指令必须成对使用,否则不能正确返回断点 。,4,)中断返回,5,、,C51,中断程序设计,void,函数名,( ),interrupt,n,using,m,n,是中断号;,using m,选项用于实现工作寄存器组的切换;,m,是中断服务子程序中选用的工作寄存器组号,(0-3),。,中断号,中断源,入口地址,0,外中断,0,0003H,1,定时,/,计数器,0,000BH,2,外中断,1,0013H,3,定时,/,计数器,1,001BH,4,串行口中断,0023H,void,函数名,( ) interrupt n using m,例如:,/*,外部中断,0,初始化程序*,/,void,Ex0Init(),IT0,= 1;,/,边沿触发方式,EA,= 1;,/,开中断,EX0,= 1;,/,开外部中断,0,/*,外部中断,0,中断服务程序*,/,void,Ex0Srv(,void,),interrupt,0,using,0,5,、,C51,中断程序设计,(,1,)中断函数不能进行参数传递。,(,2,)中断函数没有返回值,应定义为,void,型。,(,3,)禁止对中断函数的直接调用。,(,4,)如果中断函数调用了其他函数,被调函数与中断函数,使用相同的寄存器组。,(,5,)中断函数最好写在程序尾部。,编写中断函数要点,5,、,C51,中断程序设计,计数器(外部中断),工学结合任务四:,广东机电职业技术学院,-,单片机应用,目的和意义,1,掌握计数器的工作原理。,2,、掌握单片机外部中断概念,外部中断原理、工作方式。,3,掌握,C51,编写中断程序。,4,掌握,PROTEUS,仿真,烧写器的使用,硬件电路设计、,焊接、装配,培养学生利用单片机技术解决生活,中的实际问题的能力。,一、任务描述,1,、设计一个按键计数器,利用单片机,外部中断,这进行加、减计数。,2,、利用,Keil,C,软件编写主函数、外部,中断,C,程序代码。,3,、可采用数码管显示,也可用液晶显,示计数值。,4,、加减计数每,10,次,,LED,亮灯提示。,二、任务分析,1,、任务所需硬件知识,单片机最小系统(晶振,复位电路),中断接口、工作方式,数码管工作原理,显示电路设计,字符型,LCD,原理、,接口电路设计,2,、任务所需软件知识,单片机,C,语言数据类型,结构,中断等程序设计,3,、任务所需环境,安装操作系统的微机,1,台、单片机集成开发环境,keil,C2.0,、软,硬件开发平台,proteus,6.9,、单片机下载软件,STC_ISP_V3.3,、,单片机实验板、下载线。,项目实施过程,理实一体化模式,提,出,项,目,和,任,务,学,生,思,考,老,师,指,点,规,划,学,习,内,容,程,序,设,计,安,装,与,调,试,单,片,机,基,础,知,识,系统设计规划,二、任务分析,要求会使用,Keil,C,开发环境,要求文件夹命名规范,要求工程项目命名规范,要求文件名命名规范,要求程序是否功能齐全,要求仿真软件达到设计要求,要求硬件电路满足设计要求,要求产品设计文档充分,二、任务分析,程序设计要求,1,、进行功能分析,工作框架搭建,工作分工。,2,、使用软硬件开发平台,proteus,7.4,进行电路仿真。设计要点:新建电路图设计文件,查找元器件,放置元器件,布局布线,修改元器件属性,进行仿真单片机程序。,3,、使用单片机集成开发环境,keil,C2.0,。要点:,C,程序构成, 关键词,运算符与表达式,数据结构,结构化语句。,4,、使用单片机下载软件,STC_ISP_V3.3,,通过串口或,USB,将单片机程序下载到单片机芯片中进行调试。,5,、完善单片机产品硬件电路,进行合适的电容、电阻、芯片、传感器、显示器件等进行焊接,通电运行后观察硬件电路是否满足要求。,6,、完成实验文档编写,包括:题目、作者、摘要、关键词,绪论,硬件电路,软件流程、代码,数据分析。,任务实施步骤,三、任务设计,1,)驱动硬件分析,.,此电路核心件是,MCS-51,单片机(,AT89C51,)。,2.,包括时钟电路、复位电路及输出电路。,3.,用,P2,口作输出口,驱动,LED,。,4,、加,1,键和减,1,键分别接接外部中断,0,和,1,。,三、任务设计,1,、,LED,计数器的设计,硬件电路参考原理图,2,)仿真电路图,(,3,)程序设计,#include,/,包含,52,单片机头文件,unsigned char,num=0;,/-,unsigned char,x10=0x3f,0x06,0x5b,0x4f,0x66,/,段码,01234,0x6d,0x7d,0x07,0x7f,0x6f;,/,段码,56789,void,main() /,主函数,IT0,= 1;,EA,= 1;,EX0,= 1;,/,外部中断,0,的初始化,IT1,= 1;,EA,= 1;,EX1,= 1;,/,外部中断,1,的初始化,loop1:,P2=xnum%10;,goto,loop1;,(,1,)头文件和主程序,(,2,)中断服务程序,/-,void,ex0_sev(),interrupt,0,/,外部中断,0,的入口,num+;,/-,void,ex1_sev(),interrupt,2,/,外部中断,1,的入口,num-;,1,)驱动硬件分析,.,此电路核心件是,MCS-51,单片机(,AT89C51,)。,2.,包括时钟电路、复位电路及输出电路。,3.,用,P0,、,P2,口作输出口,驱动,LCD,,其中,P0,口加,10K,上拉电阻。,4,、按键接外部中断,0,。,三、任务设计,2,、,LCD,计数器的设计,硬件电路参考原理图,2,)仿真电路图,3,),LCD,计数器程序设计,#include,/,包含,52,单片机头文件,#define,uchar,unsigned char,#define,uint,unsigned,int,sbit,LCD_RS =P03;,/RS 1:DATA,0 :COMMAND,sbit,LCD_RW =P04;,/R/W 1:READ,0 :WRITE,sbit,LCD_E =P05;,/E 1:ENABLE,#define,LCD_ch,P2,/-,延时子程序,-,void,delay(uint,i),while,(i,-);,(,1,),LCD,线路连接、声明,/*,写指令进入,LCD1602*/,void,LCD_command,(),LCD_RS=0;,LCD_RW=0;,LCD_E=0; delay(200);,/,延时大约,2ms,LCD_E=1;,/*,把数据写入,LCD1602*/,void,LCD_data,(),LCD_RS=1;,LCD_RW=0;,LCD_E=0; delay(200);,LCD_E=1;,(,2,)写程序,/-,void,Init_LCD(void,),/*,初始化液晶*,/,LCD_ch,=0x01;,/,清屏,LCD_command,();,LCD_ch,=0x38;,/8,位数据,两行显示,,5*7,点阵,LCD_command,();,LCD_ch,=0x0c;,/,开显示,关光标,关闪烁,LCD_command,();,LCD_ch,=0x06;,/,读写数据后,AC,自动增一,画面不动,LCD_command,();,(,3,)液晶初始化,/*,将数据,ch,显示在第,i,行第,j,列,*,/,void,LCD_dis(,uchar,i,uchar,j,uchar,ch,),uchar,addr,;,if,(i,=0),addr,= 0x80+j;,/,设置为第一行,else,addr,= 0xc0+j;,/,设置为第二行,LCD_ch,=,addr,;,LCD_command,();,/,先写地址,LCD_ch,=,ch,;,LCD_data,();,/,后送数据,(,4,)液晶单个字符显示,(,5,)主程序,#include,/,包含,51,单片机头文件,#include,sbit,LED=P07;,bit,flag=1;,unsigned,int,num=0;,/-,void,main(),/,主函数,Init_LCD,();,/,液晶初始化,IT0,= 1;,EA,= 1;,EX0,= 1;,/,外部中断初始化,loop1:,if,(flag,=1) flag=0;,display(num,); ,if,(num,=10) num=0; LED=0;delay(60000);LED=1;,goto,loop1;,(,6,)显示子程序,/-,void,display(,unsigned,int,num),/,液晶显示数字,unsigned,int,i;,i=5;LCD_dis(0,i,0x30+num/10000);,/ 0-0 =0x30,i+;LCD_dis(0,i,0x30+num%10000/1000);,i+;LCD_dis(0,i,0x30+num%1000/100);,i+;LCD_dis(0,i,0x30+num%100/10);,i+;LCD_dis(0,i,0x30+num%10);,(,7,)中断服务程序,/-,void,ex0_sev(),interrupt,0,/,中断服务,num+;,flag=1;,检查的标准要求,四、检查反馈,序号,质量报告内容,分数,存在问题,得分,1,检查文件夹命名是否规范,5,2,检查工程项目命名是否规范,5,3,检查文件名命名是否规范,5,4,检查程序是否功能齐全,35,5,检查,仿真电路元件型号是否正确、齐全,5,6,检查,仿真软件仿真结果是否达标,15,7,检查硬件电路是否满足设计要求,10,8,检查产品设计文档是否完整、简洁,20,9,元件损坏,-20,设备损坏,-30,,人受伤,-100,。,10,总分,1,、交流展示,指导学生对产品进行展示,互相交流。,2,、检测反馈,指导学生对他人产品检测,提出反馈意见。,3,、学生评价,学生对他人产品进行评价,提出产品的优点和缺点,以及,分数。,4,、教师评价,根据教师点评进行分组讨论,并对自己的项目进行修改、完善。,四、检查反馈,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!