项目8手控信号灯控制.ppt
《项目8手控信号灯控制.ppt》由会员分享,可在线阅读,更多相关《项目8手控信号灯控制.ppt(99页珍藏版)》请在三一办公上搜索。
1、项目8 手控信号灯控制,主要内容中断的基本概念和功能。中断系统的结构和控制方式。中断系统的中断处理过程。用C51编写控制程序的基本方法。用Proteus实现单片机控制信号灯的仿真。用Keil软件进行单片机控制程序的调试。,项目8 手控信号灯控制,学习目标了解中断的基本概念和功能。理解中断系统的中断处理过程。掌握中断系统的结构和控制方式。掌握中断系统的初始化步骤。掌握用C51编写控制程序的基本方法。掌握用中断系统实现手控信号灯控制的方法。,项目8 手控信号灯控制,主要操作实例用外部中断方式控制信号灯,项目8 手控信号灯控制,教学重点和难点中断系统结构与控制方式中断系统的初始化步骤用C51编写控制
2、程序教学方法讲授法、演示法教学学时6课时,项目8 手控信号灯控制 8.0 复习 8.1 项目引入 8.2 MCS-51中断系统 8.3 单片机的C语言程序设计,8.0 复习,汇编语言程序具有顺序结构、循环结构、分支结构和子程序结构四种结构形式。实际的应用程序一般都由一个主程序和多个子程序构成,即采用模块化的程序设计方法。,8.0 复习习 题,1.程序设计语言有哪几类?各有什么特点?2.汇编语言有哪两类语句?各有什么特点?3.汇编语言源程序有哪两类汇编?各采用什么方法来实现?4.汇编语言程序设计一般分哪几个步骤?5.有两个4位十六进制数分别存放在片内RAM 20H、21H单元和30H、31H单元
3、内,请编程求它们的和,并将和存放到片内RAM 40H、41H单元。6.有一个16位二进制负数的原码存放在片内RAM 60H、61H单元内,请编程求它的补码,并将它存放到片内RAM 70H、71H单元。7.片内RAM中存放有20个数据,首地址为40H,请编程将数据块传送到片外RAM以50H为首地址的存储单元中。8.片外RAM中存放有20个数据,首地址为40H,请编程将数据块传送到片外RAM以5000H为首地址的存储单元中,同时将片外RAM以40H为首地址的20个存储单元中的内容全部清零。9.片内RAM区30H34H单元中存放有5个十六进制数,请编程计算这5个数的算术平均值,结果存放到片内RAM区
4、35H单元中。10.请分别编写延时1 min、1 h的子程序,晶振频率12MHz。,11.自变量X为一无符号数,存放在片内RAM区30H单元,函数Y存放在31H单元。请编写满足如下关系的程序:X95时,Y=1;95X105时,Y=2;X105时,Y=3。12.在片内RAM区从30H单元开始存放了50个数据,请编程找出某一关键值并将该值在片内RAM区存储单元的地址存放到片内RAM区70H单元中。13.编写双字节无符号数加法子程序。14.编写双字节无符号数减法子程序。,8.0 复习习 题,实训 手控信号灯的控制 1实训目的(1)利用单片机的中断控制系统,实现对信号灯的复杂控制。(2)通过程序调试,
5、学会外部中断的使用。(3)通过中断程序调试,熟练掌握中断的基本概念及相应控制方式。2实训设备与环境(1)实训设备:微机。(2)实训环境:proteus、keil。,8.1 项目引入,3.实训要求要求:P1口做输出口控制八只信号灯依次循环点亮,时间间隔为1s。利用按钮产生外部中断信号,改变八只信号灯的控制规律。晶振频率6MHz。(1)从外部中断0请求输入端(P3.2)输入中断请求信号从右向左循环点亮两只信号灯。(2)从外部中断1请求输入端(P3.3)输入中断请求信号从左向右循环点亮两只信号灯。2)方法:用外部中断控制方式编制主控程序,实现对信号灯的控制。系统采用6MHz晶振,采用软件延时方式,延
6、时1s。,8.1 项目引入,4.实验参考电路,P1口做输出口接发光二极管的阴极,P1口的管脚输出低电平时对应的发光二极管点亮。两只按钮分别接P3.2和P3.3。按钮输出下降沿有效。实验电路图如图8-1所示。,图8-1 手控信号灯控制实验电路,5.参考源程序,#include#include void delay(void);void main()EA=1;EX0=1;EX1=1;PX1=1;IT0=1;IT1=1;P1=0 xFE;dodelay();P1=_crol_(P1,1);while(1);,C参考代码:,void service_int0()interrupt 0 using 1
7、unsigned char x,z1;z1=P1;P1=0 xFC;for(x=0;x7;x+)delay();P1=_crol_(P1,1);P1=z1;,void service_int1()interrupt 2 using 1 unsigned char y,z2;z2=P1;P1=0 x3F;for(y=0;y7;y+)delay();P1=_cror_(P1,1);P1=z2;,void delay()#pragma asm MOV R3,#10 L1:MOV R5,#200 L2:MOV R6,#123 NOP L3:DJNZ R6,L3 DJNZ R5,L2 DJNZ R3,L
8、1#pragma endasm,6 实训总结与分析本项目和项目3相比,硬件电路基本一致,效果相似,但二者软件的编制方法不同。后者采用查询方式实现对信号灯的不同控制;前者采用中断方式,提高了CPU的工作效率,更有利于精确实时控制。二者工作机理不同,设置方式也不同,相比之下外部中断方式无论是方便程度还是精确程度都高于查询方式。,一、概述1、什么叫中断?举例:某同学正在教室写作业,忽然被人叫出去,回来后,继续写作业。这就是生活中中断的例子。与上对比,单片机中也有同样的问题。CPU正在执行原程序,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫中断。
9、,8.2 MCS-51 中 断 系 统,MCS-51单片机的中断系统,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,“中断”之后所执行的相应的处理程序通常称之为中断服务或中断处理子程序,原来正常运行的程序称为主程序。主程序被断开的位置(或地址)称为“断点”。引起中断的原因,或能发出中断申请的来源,称为“中断源”。中断源要求服务的
10、请求称为“中断请求”(或中断申请)。,调用中断服务程序的过程类似于调用子程序,其区别在于调用子程序在程序中是事先安排好的,而何时调用中断服务程序事先却无法确定,因为“中断”的发生是由外部因素决定的,程序中无法事先安排调用指令,因此,调用中断服务程序的过程是由硬件自动完成的。,2中断的特点1)分时操作 中断可以解决快速的CPU与慢速的外设之间的矛盾,使CPU和外设同时工作。CPU在启动外设工作后继续执行主程序,同时外设也在工作。每当外设做完一件事就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序中断处理完之后,CPU恢复执行主程序,外设也继续工作。这样,CPU可启动多个外设同时
11、工作,大大地提高了CPU的效率。,2)实时处理 在实时控制中,现场的各种参数、信息均随时间和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU及时处理中断请求。如中断条件满足,CPU马上就会响应,进行相应的处理,从而实现实时处理。3)故障处理 针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到相应的故障处理程序进行处理。,对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。CPU与外部设备并行工作,以中断方式相联系,提高工作效率。解决快速CPU与慢速外设之间的矛盾。在多项外部设备同时提出中
12、断请求情况下,CPU能根据轻重缓急响应外设的中断请求。,由中断的特点可知其作用有:,3.中断源 通常,计算机的中断源有如下几种:(1)一般的输入/输出设备。如键盘、打印机等,它们通过接口电路向CPU发出中断请求。(2)实时时钟及外界计数信号。如定时时间或计数次数一到,在中断允许时,由硬件则向CPU发出中断请求。(3)故障源。当采样或运算结果溢出或系统掉电时,可通过报警、掉电等信号向CPU发出中断请求。,(4)为调试程序而设置的中断源。调试程序时,为检查中间结果或寻找问题所在,往往要求设置断点或进行单步工作(一次执行一条指令),这些人为设置的中断源的申请与响应均由中断系统来实现。MCS-51的5
13、个中断源详述如下:(1):外部中断0请求,由P3.2脚输入。通过IT0脚(TCON.0)来决定是低电平有效还是下跳变有效。一旦输入信号有效,就向CPU申请中断,并建立IE0标志。(2):外部中断1请求,由P3.3脚输入。通过IT1脚TCON.2)来决定是低电平有效还是下跳变有效。一旦输入信号有效,就向CPU申请中断,并建立IE1标志。,(3)TF0:定时器T0溢出中断请求。当定时器0产生溢出时,定时器0中断请求标志位(TCON.5)置位(由硬件自动执行),请求中断处理。(4)TF1:定时器1溢出中断请求。当定时器1产生溢出时,定时器1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中
14、断处理。(5)RI或TI:串行中断请求。当接收或发送完一串行帧时,内部串行口中断请求标志位RI(SCON.0)或TI(SCON.1)置位(由硬件自动执行),请求中断。,中断源的中断请求,如何通知CPU?,利用中断请求标志位来通知!,由图可知,与中断有关的寄存器有4个,分别为中断源寄存器TCON和SCON、中断允许控制寄存器IE和中断优先级控制寄存器IP;中断源有5个,分别为外部中断0请求、外部中断1请求、定时器0溢出中断请求TF0、定时器1溢出中断请求TF1和串行中断请求RI或TI。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定,5个中断源分别对应5个固定的中断入口地
15、址。,二、中断控制,对于MCS-51单片机中断系统的组成可以用一句话来讲,叫做:“五源中断,两级管理”,五个中断源:入口地址 外部中断0(/INT0)0003H T0溢出中断 000BH 外部中断1(/INT1)0013H T1溢出中断 001BH 串口中断 0023H,中断请求源(“五源中断”),TCON,1、中断源请求标志位(1)定时器控制寄存器,TCON为定时器T0和定时器T1的控制寄存器,同时也锁存定时器T0和定时器T1的溢出中断标志及外部中断0和1的中断标志等。与中断有关位如下:(1)TCON.7 TF1:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置
16、位TF1,同时向CPU发出中断请求,此标志一直保持到CPU响应中断后才由硬件自动清0。也可由软件查询该标志,并由软件清0。,SCON,SCON是串行口控制寄存器,其低两位TI和RI锁存串行口的发送中断标志和接收中断标志。,(2)串行口控制寄存器SCON,在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为五个分开关,由IE控制。,2、中断允许控制,IE,(1)IE.7 EA:总中断允许控制位。EA=1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA=0,禁止所有中断。(2)IE.4 ES:串行口中断允许位。ES=1,允许串行口中
17、断;ES=0,禁止串行口中断。(3)IE.3 ET1:定时器1中断允许位。ET1=1,允许定时器1中断;ET1=0,禁止定时器1中断。,若为“1”,开关接通,允许例如 SETB EA若为“0”,开关断开,不允许例如 CLR IE.7,(4)IE.2 EX1:外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。(5)IE.1 ET0:定时器0中断允许位。ET0=1,允许定时器0中断;ET0=0,禁止定时器0中断。,3、中断优先级,P S 串口的中断优先级别PT1 定时/计数器T1的中断优先级别PX1 外部中断1 的中断优先级别PT0 定时/计数器T0的中断优先级
18、别PX0 外部中断0 的中断优先级别,该位是“1”时,为高级优先级该位是“0”时,为低级优先级,为什么要有中断优先级?,实训中用到中断,优先级设定采用的是自然优先级,因为其有两个中断源,有必要考虑优先级的问题。如果程序中没有中断优先级设置指令,则中断源按自然优先级进行排列。实际应用中常把IP寄存器和自然优先级相结合,使中断的使用更加方便、灵活。,如果几个同一优先级的中断源同时向CPU申请中断,CPU 通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由硬件形成,排列如下:,同一级中的5个中断源的优先顺序是:,中断优先原则:(概括为四句话)1、低级不打断高级2、高级不睬低级
19、3、同级不能打断4、同级、同时中断,事先约定。,实现中断嵌套 当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套。如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。,四、中断处理过程,中断处理过程可分为中断响应、中断处理和中断返回三个阶段。不同的计算机因其中断系统的硬件结构不同,因此,中断响应的方式也有所不同。这
20、里,仅以8051单片机为例进行叙述。1.中断响应 中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。CPU并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。,(1)中断响应条件 CPU响应中断的条件有:a有中断源发出中断请求。b中断总允许位EA=1。c申请中断的中断源允许。满足以上基本条件,CPU一般会响应中断,但若有下列任何一种情况存在,则中断响应会受到阻断。,(1)CPU正处理相同级别或更高级别的中断;(2)正在执行指令,还未到最后一个机器周期;(3)正在执行的指令是RETI或访问IP、IE指令,则执行完上述指令后,再执
21、行一条指令后,才会响应新中断。,若存在上述任何一种情况,中断查询结果即被取消,CPU不响应中断请求而在下一机器周期继续查询,否则,CPU在下一机器周期响应中断。,2)中断响应过程 中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。首先,中断系统通过硬件自动生成长调用指令(LACLL),该指令将自动把断点地址压入堆栈保护(不保护累加器A、状态寄存器PSW和其它寄存器的内容),然后,将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转向该中断入口地址,执行中断服务程序。MCS-51系列单片机各中断源的入口地址由硬件事先设定,分配如下:,中断源 入口地址外部中断0 0003H
22、定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H 使用时,通常在这些中断入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断服务程序的起始地址上去。,实训中采用外部中断0和1中断,其中断入口地址为0003H和0013H,中断服务程序名为INT00和INT11,因此,指令形式为:ORG 0003H;外部中断0中断入口 AJMP INT00;转向中断服务程序ORG 0013H;外部中断0中断入口 AJMP INT11;转向中断服务程序2中断处理中断处理就是执行中断服务程序。中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 信号灯 控制

链接地址:https://www.31ppt.com/p-5888760.html