单片机内部资源ppt培训课件

上传人:aa****6 文档编号:54292157 上传时间:2018-09-10 格式:PPT 页数:83 大小:556.50KB
返回 下载 相关 举报
单片机内部资源ppt培训课件_第1页
第1页 / 共83页
单片机内部资源ppt培训课件_第2页
第2页 / 共83页
单片机内部资源ppt培训课件_第3页
第3页 / 共83页
单片机内部资源ppt培训课件_第4页
第4页 / 共83页
单片机内部资源ppt培训课件_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《单片机内部资源ppt培训课件》由会员分享,可在线阅读,更多相关《单片机内部资源ppt培训课件(83页珍藏版)》请在金锄头文库上搜索。

1、第6 章 单片机内部资源及编程,实验安排,实验一:keil-c51软件使用及编程12月4日 地点:2教中237第1批:上午08:0010:15 (8042120-8072133)第2批:上午10:1512:30 (5045128-8042119) 实验二:proteus软件使用及联合调试12月11日 地点:2教中237第1批:上午08:0010:15第2批:上午10:1512:30 实验二:定时中断显示综合实验12月18日 地点:2教中237第1批:上午08:0010:15第2批:上午10:1512:30课内停止上课的时间为11月12日的课、12月31日的课和1月7日的课,本章主要介绍51系列

2、单片机内部资源及其编程。其中包括中断系统、定时器/计数器、串行口三部分。,6.2定时/计数器-定时/计数器的定时和计数功能、定时器计数器的控制寄存器、定时器计数器的工作方式、定时计数器用作外部中断扩展、定时中断联合举例。 6.3串行通信口,6.1中断系统-中断源、中断控制、中断响应过程、中断请求的撤除、中断服务流程。,中断是一项重要的计算机技术,这一技术在我们的日常生活中也同样存在,请看例子: 任务1 :学习 任务2 :接电话如果你是学生,那学习肯定是重点 ,也就把它当作是(主任务),而接电话呢是(次要任务)。如果你用中断的话,也就是允许中断的话,等到电话响,再去接电话也不迟,可是如果你不用中

3、断的话,要接电话怎么办呢,就是一整天一直守侯在电话旁边,一直在看有没有电话来,这样其实你浪费了大部分不必要的时间,而如果用中断的话,释放出了大部分的时间来学习,就不用守在电话边上了.,6.1.1单片机中断技术概述,任务分解路人甲在看书 电话铃响了 路人甲在书上做了个记号,走到电话旁 路人甲拿起电话和对方通话 通话结束,挂上电话,回到书桌旁 从做记号的地方继续读书。,路人甲在看书(任务1) 电话铃(中断源)响了(中断请求) 路人甲听见铃声(中断控制)在书上做了个记号(断点保护),走到电话旁(中断响应) 路人甲拿起电话和对方通话(任务2) 通话结束,挂上电话,回到书桌旁(中断返回) 从作记号的地方

4、继续读书(恢复断点,继续执行主程序)。,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,中断的基本概念,中断的定义所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理紧急的,突发的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 中断涉及的几个环节:中断源、 中断申请、开放中断、保护现场、中断响应、恢复现场、中断返回。,6.1.2 中

5、断源与中断向量 1、中断源:计算机的中断服务需求是以中断请求(Interrup Request)的形式提出来的,这些中断请求来源都统称为中断源。,共有五个中断源(52子系列提供6个),分别是外部中断两个、定时中断两个和串行中断一个,它们是: 外部中断0-INT0,由P3.2提供, 外部中断1INT1,由P3.3提供, 外部中断有两种信号方式,即电平方式和脉冲方式。,T0溢出中断; 由片内定时/计数器0提供 T1溢出中断; 由片内定时/计数器1提供 串行口中断RI/TI; 由片内串行口提供,2 中断向量中断向量(Interrup Vector)就是程序存储器的一个地址,表明一个中断的服务程序从这

6、里开始存放。当中断发生后要通过它引导CPU转向相应的中断服务。,3 中断方式,单片机的中断为固定入口式中断,即一响应中断就转入固定入口地址执行中断服务程序。具体入口如下: 编号 中断源 中断向量(汇编) C语言 0 INT0 0003 interrupt 0 1 T0 000BH interrupt 1 2 INT1 0013H interrupt 2 3 T1 001BH interrupt 3 4 RI/TI 0023H interrupt 4在这些单元中往往是一些跳转指令,跳到真正的中断服务程序,这是因为给每个中断源安排的空间只有8个单元。,51系列单片机的5个中断源的中断服务入口地址之

7、间相差8个单元。这8个存储单元用来存储中断服务程序一般来说是不够的。用户常在中断服务程序地址入口处放一条三字节的长转移指令。一般地,主程序从0030H单元以后开始存放。例如:ORG 0000H LJMP START ; 转入主程序,START为主程序地址标号ORG 0003H LJMP INT0 ; 转外中断中断服务程序ORG 000BH LJMP T0 ; 转定时器T0中断服务程序ORG 0030H START: ; 主程序开始,中断控制:指提供给用户使用的中断控制手段,由硬件实现。,6.1.3 中断控制,与中断控制有关的控制寄存器有四个:,TCON-定时控制寄存器, IE-中断允许控制寄存

8、器, IP-中断优先级控制寄存器(Priority), SCON-串行口控制寄存器(Serie)。,PS:中断控制是通过硬件实现的,但须进行软件设置。,中断请求标志,高级,入口地址,入口地址,中断允许控制,中断优先级,中断源,1,低级,内 部 查 询,内 部 查 询,EA,1定时控制寄存器TCON(88H),中断请求标志,触发方式选择,0 低电平1 下降沿,2串行口控制寄存器SCON(98H),串行中断请求标志,3中断允许控制寄存器IE(0A8H),4中断优先级控制寄存器IP (0B8H),0 禁止,1允许,0 低级别,1高级别,从中断请求发生到中断被响应,再转向执行中断服务程序去完成中断所要

9、求的操作,是一个完整的中断处理过程。 外部中断响应过程如下: 1.外部中断请求采样:采样在每个机器周期的S5P2(第5状态第2拍节)对芯片引脚INT0(P3.2) ,INT1(P3.3)进行的。若采样到有效的中断请求信号,IE0(或IE1)被置1.,6.1.4 中断响应过程,2.中断查询:中断发生是随机的,必须主动检测,这一过程称为中断查询。中断查询操作是由CPU逐个检测TCON和SCON中各中断标志位的状态而实现的。中断查询发生在每一个机器周期的最后一个状态S6。,3.中断响应:中断响应就是对中断源提出中断请求的接受。在中断查询后,发现有中断请求时,马上进行中断响应。中断响应的内容:由硬件自

10、动生产一条长调用指令,“LCALL addr16”,举例:单片机对外部中断0的响应,产生的调用指令为:LCALL 0003H,*4 中断响应过程,响应过程-单片机响应中断后,自动执行下列操作: 置位中断优先级有效触发器,即关闭同级和低级 中断: 调用入口地址,断点入栈(相当于LCALL指令); 进入中断服务程序。,4 响应时间-从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期:1个周期(查询)2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,

11、紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,中断返回中断处理程序的最后一条指令是RETI,它使CPU结束中断处理程序的执行,返回到断点处,继续执行主程序。,Cx51编译器支持在C源程序中直接开发中断程序, 中断程序定义语法: 返回值 函数名 interrupt m interrupt m:定义中断函数修饰符,系统编译时把对应函数转化为中断函数,按51系统中断的处理方式自动把该函数安排在程序存储器的相应位置。 该修饰符中,m的取值为031,对应的中断情况如下: 编号 中断源 入口地址 0 INT0 0003

12、 1 T0 000BH 2 INT1 0013H 3 T1 001BH 4 RI/TI 0023H 5 T2 002BH PS:其它值预留 例:void timer0()interrupt 1,什么是寄存器组切换 为什么要进行寄存器组切换 在Cx51中如何进行切换:使用using指定,using后的变量为0-3的常整数例:void timer0()interrupt 1 using 3对函数的目标代码影响如下: a、函数入口处将当前寄存器组保留 b、使用寄存器组3 c、函数退出前,寄存器组恢复,*寄存器组切换,6.1.6 中断程序设计,当单片机接收到一个中断请求信号后,就挂起当前操作,保存其工

13、作状态,并将控制权交给中断服务程序,来完成该中断所对应的操作内容。 1 主程序中的中断初始化 2 中断服务流程,1 主程序中的中断初始化,中断发生在主程序运行时,是主程序的随机事件。是否允许发生以及如何发生,都应该在主程序中预先设置。 1)开相应中断允许( IE ) 2)根据需要选择优先级( IP ) 3)选择外中断触发方式(TCON) 4)设置计数器、串行口的有关参数,例6.1.1 试写出为低电平触发的中断系统初始化程序。,解:(1)采样位操作指令SETB EA ;CPU开中断SETB EX1 ;开中断SETB PX1 ;令为高优先级CLR IT1 ;令为电平触发方式(2)采样字节操作指令M

14、OV IE , #84H ;开中断ORL IP , #04H ;令为高优先级ANL TCON , # 0FBH ;令为电平触发方式,补1:以外中断0为例进行说明,中断地址区从0003H开始,假定外部中断0的中断服务程序入口地址标号为EXINT0,则转向中断服务程序的设置和中断初始化的内容表示如下:,ORG 0000H AJMP MAIN ORG 0003H AJMP EXINT0 ;转向中断服务程序 MAIN:MOV IE, #81H; 中断开放,外中断0允许 ;=SETB EA,SETB EX0 MOV TCON,#01H ;脉冲触发方式MOV IP, #01H ; INT0为高优先级MOV

15、 SP, #3FH ; 设置堆栈。SJMP $ ORG 0200H EXINT0: ;INT0中断服务程序。RETI,C语言,include Main() /主程序 IE = 0X81; TCON = 0X01; IP = 0X01; While(1); ,EXINT0(void) interrupt 0 /中断服务函数 ,2 中断服务流程,1)、现场保护和现场恢复,现场-指中断时刻单片机中存储单元中的数据或状态。 现场保护-防止中断服务程序的执行不破坏这些数据或状态,将它们送入堆栈进行保护的过程。 现场恢复-返回主程序前,把保存的现场内容从堆栈中弹出,即现场恢复。,例2:用汇编代码说明中断调用和中断返回,中断调用(保护现场): PUSH ACC ;保存累加器和数据指针 PUSH DPH PUSH DPL PUSH PSW MOV PSW,#08H;选择寄存器组1,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号