单片机原理及应用 C51版 教学课件 ppt 作者 刘瑞新 5章

上传人:E**** 文档编号:89497741 上传时间:2019-05-25 格式:PPT 页数:38 大小:1.27MB
返回 下载 相关 举报
单片机原理及应用 C51版  教学课件 ppt 作者 刘瑞新 5章_第1页
第1页 / 共38页
单片机原理及应用 C51版  教学课件 ppt 作者 刘瑞新 5章_第2页
第2页 / 共38页
单片机原理及应用 C51版  教学课件 ppt 作者 刘瑞新 5章_第3页
第3页 / 共38页
单片机原理及应用 C51版  教学课件 ppt 作者 刘瑞新 5章_第4页
第4页 / 共38页
单片机原理及应用 C51版  教学课件 ppt 作者 刘瑞新 5章_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《单片机原理及应用 C51版 教学课件 ppt 作者 刘瑞新 5章》由会员分享,可在线阅读,更多相关《单片机原理及应用 C51版 教学课件 ppt 作者 刘瑞新 5章(38页珍藏版)》请在金锄头文库上搜索。

1、第5章 MCS-51单片机 典型功能部件结构及应用 5.1 中断系统 5.2 MCS-51单片机定时器/计数器 5.3 串行口,5.1 中断系统 5.1.1 中断的概念 1. 中断及中断源 中断是指在CPU正在执行某一段程序的过程中,如果外界或内部发生了紧急事件,要求CPU暂停正在运行的程序转而去处理这个紧急事件,待处理完后再回到原来被停止执行程序的间断点,继续执行原来被打断了的程序的过程。 实现这种功能的机构称为中断系统,产生中断的请求源叫中断源。 2. 中断嵌套及优先级 当CPU正在处理一个优先级低的中断请求的时候,如果发生另一个优先级比它高的中断请求,CPU暂停正在处理的中断源的处理程序

2、,转而处理优先级高的中断请求,待处理完之后,再回到原来正在处理的低级中断程序,这种 高级中断源能中断低级中断源的中断处理称为中断嵌套。,5.1.2 MCS-51中断系统结构及中断控制 1. 中断源和中断请求标志 (1)中断源 MSC-51系列单片机的5个中断源,包括2个外部中断源和 3个内部中断源。 2个外部中断源是外部中断0和外部中断 1 ; 3个内部中断源是定时器/计数器0溢出中断、定时器/ 计数器1溢出中断、串行口的发送和接收中断(TI和RI)。 (2)TCON寄存器 TCON是定时器/计数器0和1(T0、T1)的控制寄存器, 同时也用来锁存T0、T1的溢出中断请求标志和外部中断请求标志

3、。 (3)SCON寄存器 SCON为串行口控制寄存器,其中的低两位用作串行口中 断请求标志。 TI(SCON.1):串行口发送中断请求标志。 RI(SCON.0):串行口接收中断请求标志。,TCON寄存器: IE1(TCON.3):外部中断请求标志位。 IT1(TCON.2):外部中断触发方式控制位。由软件来置1或清0 IT1=0时,外部中断1为电平触发方式, IT1=1时,外部中断1为边沿触发方式(下降沿有效) IT0(TCON.0):外部中断0()触发方式控制位,由软件置位或复位。IT0=1,外部中断0为边沿触发方式(下降沿有效);IT0=0,外部中断0为电平触发方式。 TF0(TCON.

4、5):定时器/计数器0(T0)的溢出中断请求标志。当T0计数产生溢出时,由硬件将TF0置1 TF1(TCON.7):定时器/计数器1(T1)的溢出中断请求标志 IE0(TCON.1):外部中断请求标志位。当引脚(P3.2)上出现中断请求信号时,由硬件置位IE0,向CPU申请中断。,2. 中断允许控制 在MCS-51单片机中断系统中,中断的允许或禁止是由 片内的中断允许寄存器IE控制的。其引脚定义如下: EA(IE.7):CPU中断允许标志。EA=0时,表示CPU屏蔽所有中断;EA=1,表示CPU开放中断,但每个中断源的中断请求是允许还是被禁止,还需由各自的允许位来确定。 ES(IE.4):串行

5、口中断允许位。ES=0,禁止串行口中断;ES=1时,允许串行口中断。 ET1(IE.3):定时器/计数器T1溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。 EX1(IE.2):外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。 ET0(IE.1):定时器/计数器T0溢出中断允许位,其功能同ET1 EX0(IE.0):外部中断0中断允许位,功能同EX1。 中断允许寄存器IE中各位的状态,可根据要求用软件置位或清零,从而实现对于该中断源允许中断或禁止中断。当CPU复位时,IE被清零。,3. 中断优先级控制 MCS-51系列单片机的中断优先级

6、是由中断优先级寄存器IP控制的。 MSC-51单片机中的中断系统,应遵循以下基本准则: (1) 低优先级中断可被高优先级中断请求所中断,高优先级中断不能被低优先级中断请求所中断。 (2) 同级的中断请求不能打断已经执行的同级中断。 (3) 中断源自然优先级顺序 中断源自然优先级由高到低: 外部中断0 定时器/计数器0 外部中断1 定时器/计数器1 串行口,5.1.3 MCS-51中断响应过程 MCS-51系列单片机的中断响应过程可分为中断响应、中断处理和中断返回三个阶段。 1. 中断响应 CPU响应中断的条件主要有以下几点: (1)有中断源发出中断请求; (2)中断总允许为EA=1,即CPU开

7、中断; (3)请求中断的中断源的中断允许位为1,2. 中断处理 CPU从执行中断处理程序第一条指令开始到返回指令RETI为止,这个过程称为中断处理或中断服务。中断处理一般包括保护现场、处理中断源的请求以及恢复现场三部分内容。 3. 中断返回 中断返回是指执行完中断处理程序的最后指令RETI之后,程序返回到断点,继续执行原来的程序。,5.1.4 中断响应后中断请求的撤除 中断源提出中断申请,在CPU响应此中断请求后,该中断源的中断请求在中断返回之前应当撤除,以免引起重复中断,被再次响应。 5.1.5 中断系统应用 例:单片机读P1.0的状态,把这个状态送到P1.7的指示灯去,当P1.0为高电平,

8、指示灯亮;当P1.0为低电平时,指示灯不亮。要求用中断控制这一输入/输出过程,每请求中断一次,完成一个读写过程。,#include sbit P1_0=P10; sbit P1_7=P17; void main() IE=0x81; /* cpu开中断和外部中断0允许*/ TCON=0x01; /* INT0设置为负边沿触发*/ while (1); void ex_int0(void)interrupt 0 if (P1_0=1) P1_7=1; else P1_7=0; ,5.2 MCS-51单片机定时器/计数器 MCS-51单片机内部有两个16位定时器/计数器,简称定时器0(T0)和定时

9、器1(T1)。它们均可用作定时器或事件计数器,为单片机系统提供计数和定时功能,还可作为串行接口的波特率发生器 5.2.1 定时器/计数器概述 定时器/计数器实际上是加1计数器,当它对外部事件进行计数时,由于频率不固定,此时称之为计数器; 当它对内部固定频率的机器周期进行计数时,称之为定时器。 它们的工作状态及工作方式由两个特殊功能寄存器TMOD和TCON的各位来决定。工作状态有定时和计数两种,由TMOD的第2位(T0)或第6位(T1)决定。工作模式共有03四种,也是由TMOD其中的两位(1个定时器)来决定。TMOD和TCON的内容由软件写入。,定时器/计数器内部结构框图,定时器/计数器的基本结

10、构: TH1、TL1是T1的计数器,TH0、TL0是T0的计数器。TH1和TL1、TH0和TL0分别构成两个16位加法计数器 。,5.2.2 定时器/计数器的控制 定时器/计数器有4种工作模式,由TMOD设置并由TCON控制。 1. 工作方式控制寄存器TMOD 特殊功能寄存器TMOD的地址为89H,它不能位寻址,在设置时一次写入。高4位用于定时器T1,低4位用于定时器T0 M1M0工作模式控制位 M1M0对应4种不同的二进制组合,分别对应4种工作模式。 C/T :定时器方式和计数器方式选择控制位 为1:定时/计数器工作在计数器方式。 为0:定时/计数器工作在定时器方式。 GATE定时器/计数器

11、运行控制位(门控位) 2. 定时器控制寄存器TCON 定时器控制寄存器TCON除可字节寻址外,还可以位寻址。TCON的字节地址为88H,位地址为88H8FH 。,5.2.3 定时器/计数器的工作模式 MCS-51系列单片机的定时器/计数器T0和T1可由软件对特殊功能寄存器TMOD中控制位C/进行设置,以选择定时功能或计数功能。对M1和M0位的设置对应于四种工作模式,即模式0、模式1、模式2、模式3。 1. 工作模式0 模式0是选择定时器/计数器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。其逻辑框图如图5-4所示。,定时器/计数器T0工作模式0逻辑结构框图,2. 工作模式1 该

12、模式对应的是一个16位的定时器/计数器,其结构与操作几乎与模式0完全相同,惟一的差别是:在模式1中,寄存器TH0和TL0是以全部16位参与操作。用于定时工作方式时,定时时间为 t=(216-T0初值)振荡周期12 用于计数工作方式时,计数最大长度为21665535个外部脉冲。,定时器/计数器T0工作模式1逻辑结构框图,3. 工作模式2 模式2把TL0(或TL1)设置成一个可以自动重装载的8位定时器/计数器。 TL0计数溢出时,不仅使溢出中断标志位TF0置1,而且还自动把TH0中的内容重新装载到TL0中。TL0用作8位计数器,TH0用以保存初值。 用于定时工作方式时,其定时时间(TF0溢出周期)

13、为 t=(28-TH0初值)振荡周期12 用于计数工作方式时, 最大计数长度为28=256 个外部脉冲。,定时器/计数器T0工作模式2逻辑结构框图,4. 工作模式3 工作模式3对T0和T1大不相同。若将T0设置为模式3,TL0和TH0被分成为两个相互独立的8位计数器。,定时器/计数器T0工作模式3逻辑结构框图,5. 波特率发生器 定时器T0和T1可同时工作在不同的工作方式。在定时器T0工作在模式3时,尽管TR1和TF1被T0占用,但T1仍可通过M0M1设置其工作模式为02。此时,T1常用作串口的波特率发生器。,5.2.4 定时器/计数器的应用举例 设单片机晶振为6MHz,P1.0连接一个发光二

14、极管,利用定时器使发光二极管每1s其状态改变一次。 由于定时器最长定时时间是有限的,因此,为实现1s的延时,可以设置定时器T0定时时间为100ms,通过程序设置一个软件计数器,对定时器溢出次数(10次)计数。 计数初值的算法: 65536-100000/2 = 15536=(3CB0H),C51程序如下: #include #define uchar unsigned char sbit led = P10; void Init (void) TMOD = 0x01; /设置T0为方式1 TH0 =0-50000 / 256; /对于16位计数器0-50000=15536, 免于计算直接装入初

15、值 TL0 =0-50000 % 256; /装入初值(15536 mod256) TR0 = 1; led = 1; ,void main(void) uchar i = 0; Init ( ); while(1) TH0 =0-50000 / 256; /重新装入初值 TL0 =0-50000 % 256; while(!TF0) ; /等待T0溢出 TF0 = 0; /清除溢出标志位 i +; /软件计数加1 if(i = 10) led = led; / P1.0取反输出 i = 0; /软件计数器清0 ,5.3 串行口 CPU与外部设备的基本通信方式有两种: 并行通信,数据的各位同时

16、进行传送。其特点是传送速度快、效率高,数据有多少位,就需要有多少根传输线。 串行通信,数据一位一位地按顺序进行传送。其特点是只需一对传输线就可实现通信,当传输的数据较多、 距离较远时,它可以显著减少传输线,降低通信成本,但是串行传送的速度慢。 5.3.1 串行通信的基本概念 串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。 1. 异步通信和同步通信 串行通信有两种基本通信方式:异步通信和同步通信。 (1)异步通信 在异步通信中,数据通常以字符(或字节)为单位组成数 据帧传送。,异步通信的字符帧格式,(2)同步通信 在同步通信中,每个数据块传送开始时,采用一个或两个 同步字符作为起始标志 , 数据在同步字符之后,个 数不受限制,由所需传送 的数据块长度确定。,同步传送的数据格式,2. 串行通信的制式 在串行通信中,数据是在由通信线连接的两个工作站之间传送的。按照数据传送方向,串行通信可分为单工、半双工和全双工三种方式 (1)单工制

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

当前位置:首页 > 高等教育 > 大学课件

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