欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    工信版(中职)单片机应用技术-项目4&5电子课件.ppt

    • 资源ID:87512124       资源大小:2.35MB        全文页数:65页
    • 资源格式: PPT        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    工信版(中职)单片机应用技术-项目4&5电子课件.ppt

    YCF(中职)单片机应用技术-项目4&5电子课件任务二任务二 交通灯控制交通灯控制 项目项目4 简易交通灯控制简易交通灯控制 v项目描述:项目描述:在夜间十字路口的南北、东西向均以黄灯闪烁提醒来往车辆小心通过;在白天主干道南北向和支道东西向的车辆则以一定的时间间隔分时通过,描述如下。主道(南北方向)主道(南北方向)支道(东西方向)支道(东西方向)说明说明状态状态红灯红灯黄灯黄灯绿灯绿灯红灯红灯黄灯黄灯绿灯绿灯状态状态1灭灭灭灭亮亮亮亮灭灭灭灭主道通行,支道禁行,维持约主道通行,支道禁行,维持约30秒秒状态状态2灭灭亮亮灭灭亮亮灭灭灭灭主道警告,支道禁行,维持约主道警告,支道禁行,维持约4秒秒状态状态3亮亮灭灭灭灭灭灭灭灭亮亮主道禁行,支道通行,维持约主道禁行,支道通行,维持约15秒秒状态状态4亮亮灭灭灭灭灭灭亮亮灭灭主道禁行,支道警告,维持约主道禁行,支道警告,维持约4秒秒一一 能力培养目标能力培养目标 1.会设计交通灯控制电路2.会编写简易交通灯控制程序3.掌握C51函数的编写及调用4.能领会C51变量的作用范围二二 学习组织形式学习组织形式 采取以小组为单位互助学习,有条件的每人一台电脑,条件有限的可以两人合用一台电脑。用仿真实现所需的功能后如果有实物板(或自制硬件电路)可把程序下载到实物上再运行、调试,学习过程鼓励小组成员积极参与讨论。三三 项目实施过程项目实施过程(一)创建硬件电路(二)程序编写1程序流程 开始状态1:主道绿灯,支道红灯延时约30秒状态1:主道黄灯,支道红灯延时约4秒状态1:主道红灯,支道绿灯延时约15秒状态1:主道红灯,支道黄灯延时约4秒图4-2 常规交通灯控制主道黄灯闪烁支道黄灯闪烁sw=0?白天状态夜间状态2编写程序编写程序v#include v#include v#define uchar unsigned charv#define uint unsigned intvsbit SNred=P00;/南北向红灯vsbit SNyellow=P01;/南北向黄灯vsbit SNgreen=P02;/南北向绿灯vsbit EWred=P03;/东西向红灯vsbit EWyellow=P04;/东西向黄灯vsbit EWgreen=P05;/东西向绿灯vsbit sw=P20;/开关vvoid daytime();/白天模式函数说明vvoid eveing();/夜间模式函数说明vvoid ys(uint k)/延时约为(0.1*k)秒v v unsigned int i;vwhile(k-)v for(i=0;ib)temp1=a;else temp1=b;return temp1;二函数的声明和调用 为了调用一个函数,必须事先声明该函数的返回值类型和参数类型,这和使用变量的道理是一样 v温馨提示:如果函数的定义在调用之前,则可以不作函数声明。(如之前各项目中的延时函数)vC51中函数调用的一般形式为:函数名(实际参数表)对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数、变量或表达式。各实参之间用逗号分隔。在C语言中,可以用以下几种方式调用函数 1.函数表达式 函数作表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。2函数语句 函数调用的一般形式加上分号即构成函数语句。(如之前各项目中延时函数的调用就是以函数语句的方式调用的)3函数实参 函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如:t=max(x,max(y,z);即是把max调用的返回值又作为max函数的实参来使用的。创建一个源程序,能够通过函数调用求两个数中的创建一个源程序,能够通过函数调用求两个数中的大数大数 vint max(int a,int b);vvoid main()vv int x=10,y=20,z;v z=max(x,y);vwhile(1);v vint max(int a,int b)vvint temp1;vif(ab)temp1=a;v else temp1=b;v return temp1;v C51函数的参数和函数的值函数的参数和函数的值 一函数的参数v函数的形参和实参具有以下特点:1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。3.实参和形参在数量上,类型上,顺序上应严格一致,否则会发生“类型不匹配”的错误。4.函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。二、函数的值 函数的值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。1.函数的值只能通过return语句返回主调函数。return 语句的一般形式为:return 表达式;或者为:return(表达式);2.函数值的类型和函数定义中函数的类型应保持一致。3.如函数值为整型,在函数定义时可以省去类型说明。4.不返回函数值的函数,可以明确定义为“空类型”,类型说明符为“void”。v函数说明一般形式为:类型说明符类型说明符 被调函数名被调函数名(类型类型 形参,类型形参,类型 形参形参)变量的作用域变量的作用域 一、局部变量 局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内,离开该函数后再使用这种变量是非法的。1.主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。2.形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。3.允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。4.在复合语句中也可定义变量,其作用域只在复合语句范围内。二、全局变量 全局变量也称为外部变量,它是在函数外部定义的变量。它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。v下面是有关全局变量的几点说明:1.外部变量定义必须在所有的函数之外,且只能定义一次。其一般形式为:extern 类型说明符类型说明符 变量名,变量名变量名,变量名(其(其中方括号内的中方括号内的extern可以省去不写)可以省去不写)例如:例如:int a,b;等效于:等效于:extern int a,b;2.外部变量可加强函数模块之间的数据联系,但是又使函数要依赖这些变量,因而使得函数的独立性降低。3.在同一源文件中,允许全局变量和局部变量同名。此时在局部变量的作用域内,全局变量不起作用 变量的存储类型变量的存储类型 v各种变量的作用域不同,就其本质来说是因变量的存储类型相同。所谓存储类型是指变量占用内存空间的方式,也称为存储方式。变量的存储方式可分为变量的存储方式可分为“静态存储静态存储”和和“动态存储动态存储”两种两种 v 静态存储变量通常是在变量定义时就分配存储单元并一直保持不变,直至整个程序结束。而动态存储变量是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。v在C51中,对变量的存储类型说明有以下四种:1.auto 自动变量2.register 寄存器变量3.extern 外部变量4.static 静态变量 v自动变量和寄存器变量属于动态存储方式,外部自动变量和寄存器变量属于动态存储方式,外部变量和静态变量属于静态存储方式。变量和静态变量属于静态存储方式。v 存储类型说明符存储类型说明符 数据类型说明符数据类型说明符 变量名,变量名变量名,变量名;交通灯综合控制交通灯综合控制 v项目描述:项目描述:以项目4为基础,增加一种紧急状态,即正常情况下在夜间十字路口的南北、东西向均以黄灯闪烁提醒来往车辆小心通过;在白天主干道南北向和支道东西向的车辆则以一定的时间间隔分时通过,但如果遇有紧急情况需要南北和东西向都亮红灯一定的时间,过后再恢复到原先的状态。主道(南北方向)支道(东西方向)说明状态红灯黄灯绿灯红灯黄灯绿灯白天状态1灭灭亮亮灭灭主道通行,支道禁行,维持约30秒状态2灭亮灭亮灭灭主道警告,支道禁行,维持约4秒状态3亮灭灭灭灭亮主道禁行,支道通行,维持约15秒状态4亮灭灭灭亮灭主道禁行,支道警告,维持约4秒夜间灭闪灭灭闪灭开关S1闭合紧急状态亮灭灭亮灭灭遇有紧急情况时进入此状态,假设此状态保持20秒后恢复原状态一一 能力培养目标能力培养目标 会编写综合交通灯控制程序能掌握51单片机外部中断的使用二二 学习组织形式学习组织形式 采取以小组为单位互助学习,有条件的每人一台电脑,条件有限的可以两人合用一台电脑。用仿真实现所需的功能后如果有实物板(或自制硬件电路)可把程序下载到实物上再运行、调试,学习过程鼓励小组成员积极参与讨论。三三 项目实施过程项目实施过程 (一)创建硬件电路(二)(二)程序编写程序编写1程序流程 开始图5-2交通灯综合控制调用夜间模式函数sw=0?白天状态夜间状态保护现场:主道红、黄、绿灯状态暂存于tSNr、tSNy、tSNg支道红、黄、绿灯状态暂存于tEWr、tEWy、tEWg主道、支道均亮红灯延时约30秒恢复现场:主道红、黄、绿灯状态恢复原先状态;支道红、黄、绿灯状态恢复原先状态;中断响应返回紧急状态处理调用白天模式函数2编写程序如下编写程序如下 v#include v#include v#define uchar unsigned charv#define uint unsigned intv/定义6个临时变量以便紧急状态下暂存6个灯的状态vbit tSNr,tSNy,tSNg,tEWr,tEWy,tEWg;vsbit sw2=P32;/紧急按钮vsbit SNred=P00;/南北向红灯vsbit SNyellow=P01;/南北向黄灯vsbit SNgreen=P02;/南北向绿灯vsbit EWred=P03;/东西向红灯vsbit EWyellow=P04;/东西向黄灯vsbit EWgreen=P05;/东西向绿灯vsbit sw=P20;/开关vvoid daytime();/白天模式函数说明vvoid eveing();/夜间模式函数说明(此两函数的定义请参见项目4)vvoid ys(uint k)/延时约为(0.1*k)秒v v unsigned int i;vwhile(k-)v for(i=0;i8500;i+);/延时约0.1秒vvmain()/主函数vvIT0=1;/INT0负跳变触发vEA=EX0=1;/开中断vwhile(1)v v if(sw)daytime();/开关断开为白天模式v else eveing();/开关闭合为夜间模式 v vvvoid int0()interrupt 0 /外部中断0函数vv /保留现场v tSNr=SNred;tSNy=SNyellow;tSNg=SNgreen;vtEWr=EWred;tEWy=EWyellow;tEWg=EWgreen;v/进入紧急状态v SNred=0;SNyellow=1;SNgreen=1;vEWred=0;EWyellow=1;EWgreen=1;vys(200);/紧急状态保持约20秒v /恢复现场vSNred=tSNr;SNyellow=tSNy;SNgreen=tSNg;vEWred=tEWr;EWyellow=tEWy;EWgreen=tEWg;v(三)创建程序文件并生成.HEX文件 打开MEDWIN,新建项目文件“P5”,创建程序文件“Proj5.C”,输入上述程序,然后按工具栏上的“产生代码并装入”按钮(或按CTRL+F8),如果编译发现错误需对程序进行修改,直到编译成功,此时将在对应项目文件夹的OUTPUT子目录中生成目标文件“P5.HEX”。(四)运行程序观察结果5.1 中断的概念中断的概念5.1.1 5.1.1 中断及中断源中断及中断源 一、中断的概念一、中断的概念 CPUCPU在处理某一事件在处理某一事件A A时,发生了另一事件时,发生了另一事件B B请求请求CPUCPU迅速迅速去处理(去处理(中断发生中断发生););CPUCPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B B(中断响应和中断响应和中断服务中断服务););待待CPUCPU将事件将事件B B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A A被中断的地被中断的地方继续处理事件方继续处理事件A A(中断返回中断返回),这一过程称为),这一过程称为中断中断 。单片机的中断系统结构执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回引起引起CPU中断的根源,称为中断的根源,称为中断源中断源。中断源向。中断源向CPU提出的中断请提出的中断请求。求。CPU暂时中断原来的事务暂时中断原来的事务A,转去处理事件,转去处理事件B。对事件。对事件B处理完毕处理完毕后,再回到原来被中断的地方(即后,再回到原来被中断的地方(即断点断点),称为中断返回。实现上述中),称为中断返回。实现上述中断功能的部件称为断功能的部件称为中断系统中断系统(中断机构)。(中断机构)。随着计算机技术的应用,人们发现中断技术不仅随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速解决了快速主机与慢速I/O设备的数据传送问题,而设备的数据传送问题,而且还具有如下优点:且还具有如下优点:v 分时操作分时操作。CPU可以分时为多个可以分时为多个I/O设备服务,设备服务,提高了计算机的利用率;提高了计算机的利用率;v实时响应实时响应。CPU能够及时处理应用系统的随机事能够及时处理应用系统的随机事件,系统的实时性大大增强;件,系统的实时性大大增强;v可靠性高可靠性高。CPU具有处理设备故障及掉电等突发具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。性事件能力,从而使系统可靠性提高。二、二、80C51中断系统的结构中断系统的结构 80C51的中断系统有的中断系统有5个中断源个中断源(8052有 6个),2个优个优先级,可实现二级中断嵌套先级,可实现二级中断嵌套。80C51 80C51的中断源的中断源 一、中断源一、中断源 1 1、(P3.2P3.2)。可可由由IT0(TCON.0)IT0(TCON.0)选选择择其其为为低低电电平平有有效效还还是是下下降降沿沿有有效效。当当CPUCPU检检测测到到P3.2P3.2引引脚脚上上出出现现有有效效的的中断信号时,中断标志中断信号时,中断标志IE0(TCON.1)IE0(TCON.1)置置1 1,向,向CPUCPU申请中断。申请中断。2 2、(P3.3(P3.3)。可可由由IT1(TCON.2)IT1(TCON.2)选选择择其其为为低低电电平平有有效效还还是是下下降降沿沿有有效效。当当CPUCPU检检测测到到P3.3P3.3引引脚脚上上出出现现有有效效的的中中断断信号时,中断标志信号时,中断标志IE1(TCON.3)IE1(TCON.3)置置1,1,向向CPUCPU申请中断。申请中断。3 3、TF0TF0(TCON.5TCON.5),片片内内定定时时/计计数数器器T0T0溢溢出出中中断断请请求求标标志志。当当定定时时/计计数数器器T0T0发发生生溢溢出出时时,置置位位TF0TF0,并向,并向CPUCPU申请中断。申请中断。4 4、TF1TF1(TCON.7TCON.7),片内定时),片内定时/计数器计数器T1T1溢出中溢出中断请求标志。当定时断请求标志。当定时/计数器计数器T1T1发生溢出时,置位发生溢出时,置位TF1TF1,并向,并向CPUCPU申请中断。申请中断。5 5、RIRI(SCON.0SCON.0)或)或TITI(SCON.1SCON.1),串行口中断请),串行口中断请求标志。当串行口接收完一帧串行数据时置位求标志。当串行口接收完一帧串行数据时置位RIRI或或当串行口发送完一帧串行数据时置位当串行口发送完一帧串行数据时置位TITI,向,向CPUCPU申申请中断。请中断。二、中断请求标志二、中断请求标志1、TCON的中断标志的中断标志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溢出中断请求标志位。溢出中断请求标志位。2、SCON的中断标志的中断标志vRI(SCON.0),串行口接收中断标志位。当允许串行),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位口接收数据时,每接收完一个串行帧,由硬件置位RI。同。同样,样,RI必须由软件清除。必须由软件清除。vTI(SCON.1),串行口发送中断标志位。当),串行口发送中断标志位。当CPU将一将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位每发送完一个串行帧,由硬件置位TI。CPU响应中断时,响应中断时,不能自动清除不能自动清除TI,TI必须由软件清除。必须由软件清除。一、中断允许控制一、中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器许寄存器IE控制的。控制的。5.1.3 80C515.1.3 80C51中断的控制中断的控制 vEX0(IE.0),外部中断,外部中断0允许位;允许位;vET0(IE.1),定时,定时/计数器计数器T0中断允许位;中断允许位;vEX1(IE.2),外部中断,外部中断0允许位;允许位;vET1(IE.3),定时,定时/计数器计数器T1中断允许位;中断允许位;vES(IE.4),串行口中断允许位;,串行口中断允许位;vEA(IE.7),CPU中断允许(总允许)位。中断允许(总允许)位。二、中断优先级控制二、中断优先级控制 80C51单片机有两个中断优先级,即可实现二级中断服务单片机有两个中断优先级,即可实现二级中断服务嵌套。每个中断源的中断优先级都是由中断优先级寄存器嵌套。每个中断源的中断优先级都是由中断优先级寄存器IP中中的相应位的状态来规定的的相应位的状态来规定的。vPX0(IP.0),外部中断),外部中断0优先级设定位;优先级设定位;vPT0(IP.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;vPX1(IP.2),外部中断),外部中断0优先级设定位;优先级设定位;vPT1(IP.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;vPS (IP.4),串行口优先级设定位;),串行口优先级设定位;vPT2(IP.5),定时,定时/计数器计数器T2优先级设定位。优先级设定位。vPX0(IPH.0),外部中断),外部中断0优先级设定位;优先级设定位;vPT0(IPH.1),定时),定时/计数器计数器T0优先级设定位;优先级设定位;vPX1(IPH.2),外部中断),外部中断0优先级设定位;优先级设定位;vPT1(IPH.3),定时),定时/计数器计数器T1优先级设定位;优先级设定位;vPS (IPH.4),串行口优先级设定位;),串行口优先级设定位;vPT2 (IPH.5),定时,定时/计数器计数器T2优先级设定位。优先级设定位。而而80C52单片机有四个中断优先级,即可实现四级中断服务单片机有四个中断优先级,即可实现四级中断服务嵌套。每个中断源的中断优先级由中断优先级寄存器嵌套。每个中断源的中断优先级由中断优先级寄存器IP和和IPH中的相应位的状态来规定的中的相应位的状态来规定的。同一优先级中的中断申请不止一个时,则有中断优先权同一优先级中的中断申请不止一个时,则有中断优先权排队问题。同一优先级的中断优先权排队,由中断系统硬排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列如所示:件确定的自然优先级形成,其排列如所示:v设置设置52单片机的单片机的4个中断源个中断源,使他们的优顺序为使他们的优顺序为T1,INT1,INT0,T0.IPH=0X08;PT1=1;IP =0X40;PX1=1;80C51单片机的中断优先级有三条原则:单片机的中断优先级有三条原则:vCPU同时接收到几个中断时,同时接收到几个中断时,首先响应优先级别最高的中断首先响应优先级别最高的中断请求请求。v正在进行的中断过程正在进行的中断过程不能被新的同级或低优先级的中断请求不能被新的同级或低优先级的中断请求所中断所中断。v正在进行的低优先级中断服务,正在进行的低优先级中断服务,能被高优先级中断请求所中能被高优先级中断请求所中断断。为了实现上述后两条原则,为了实现上述后两条原则,中断系统内部设有两个用户不中断系统内部设有两个用户不能寻址的优先级状态触发器。能寻址的优先级状态触发器。其中一个置其中一个置1,表示正在响应高,表示正在响应高优先级的中断,它将阻断后来所有的中断请求;另一个置优先级的中断,它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,它将阻断后来所有的低优先级表示正在响应低优先级中断,它将阻断后来所有的低优先级中断请求。中断请求。5.2.2 80C51单片机中断处理过程 MCS-51的中断处理过程大致可分为四步:的中断处理过程大致可分为四步:中断请求、中断响应、中断服务、中断返回中断请求、中断响应、中断服务、中断返回 中断请中断请 中断源发出中断请求信号,相应的中断请中断源发出中断请求信号,相应的中断请求标志位求标志位(在中断允许控制寄存器在中断允许控制寄存器IE中中)置置“1”。v 中断响应v CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。v 中断响应条件:v 该中断已经“开中”;v CPU此时没有响应同级或更高级的中断;v 当前正处于所执行指令的最后一个机器周期;v 正在执行的指令不是中断返回指令或者是访向IE、IP的指令,否则必须再另外执行一条指令后才能响应。v 中断响应操作v CPU响应中断后,进行下列操作:v 保护断点地址;v 撤除该中断源的中断请求标志;v 关闭同级中断;v 将相应中断的入口地址送入PC,以便进入中断服务程序;v v 执行中断服务程序v 中断服务程序应包含以下几部分:v 保护现场v 执行中断服务程序主体,完成相应操作v 恢复现场v 中断返回v 中断服务程序执行完后,系统将通过自动完成下列操作以实现中断的返回。(对汇编程序必须在中断服务程序的最后安排一条中断返回指令RETI,当CPU执行RETI指令后才表示中断服务程序执行完毕)v 恢复断点地址。v 开放同级中断,以便允许同级中断源请求中断。5.2.3 中断请求的撤除中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。对外中断电平触发方式,需要采取软硬结合的方法消除后果。对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。5.2.4 中断优先控制和中断嵌套中断优先控制和中断嵌套 中断优先控制 80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、T0、INT1、T1、串行口。中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。中断优先控制 80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、T0、INT1、T1、串行口。80C51中断优先控制的基本原则:高优先级中断可以中断正在响应的低优先级中断,反之则不能。同优先级中断不能互相中断。同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,后响应优先权低的中断。中断嵌套 当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套 5.3 中断函数中断函数 C51编译器支持在C51源程序中直接以函数形式编写中断服务程序。C51中断函数的基本格式如下:Void 函数名()interrupt n using m 其中 n 为中断类型号,其取值与MCS-51的五个中断源一一对应,如下表所示:中断源INT0T0INT1T1串行口中断入口地址0003H000BH0013H001BH0023H中断号n01234void int0()interrupt 0 /外部中断0函数v关于中断函数的几点说明:v中断函数无返回值;v中断函数不能定义形式参数,函数名由用户指定,只要符合标识符的命名规则即可;v中断函数不能由用户调用,而是由系统在满足一定条件下自动执行的。v中断函数基本格式中using m为可选部分(如果选用了不能带中括号),其中“m”的取值范围为0、1、2、3,它对应于内部的4组寄存器。

    注意事项

    本文(工信版(中职)单片机应用技术-项目4&5电子课件.ppt)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开