[信息与通信]51定时器实验

上传人:豆浆 文档编号:49551518 上传时间:2018-07-30 格式:PPT 页数:37 大小:276KB
返回 下载 相关 举报
[信息与通信]51定时器实验_第1页
第1页 / 共37页
[信息与通信]51定时器实验_第2页
第2页 / 共37页
[信息与通信]51定时器实验_第3页
第3页 / 共37页
[信息与通信]51定时器实验_第4页
第4页 / 共37页
[信息与通信]51定时器实验_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《[信息与通信]51定时器实验》由会员分享,可在线阅读,更多相关《[信息与通信]51定时器实验(37页珍藏版)》请在金锄头文库上搜索。

1、MCS-51单片机内部功能部件第6章 中断系统第7章 定时/计数器中断的概念现代的计算机都具有实时处理功能,能对外部发 生的事件如人工干预、外部事件及意外故障做出及时 的响应或处理,这是依靠计算机的中断系统来实现的。在MCS51应用系统中,经常需要处理如下问题:1定时器问题在温度控制系统中,需对受控对象的温度进行定 时采样,两次采样之间的时间间隔是固定的,如每秒 一次。在电机恒速控制系统中,需对受控电机的转速 进行定时采样,两次采样之间的时间间隔也是固定的, 如每秒两次。为了定时采样,就必须使用定时器。当 CPU启动定时器后,就要等待定时器的定时超时标志, 然后就进行采样,周而复始,循环不止。

2、 2键盘按键问题键盘是计算机系统操作者对系统进行参数设置和状态 控制的常用设备,操作者何时对键盘进行操作是无法事先 确定的。单片机应快速响应键盘操作。 3串行通信问题一个单片机控制系统可能与另一个计算机系统有联系, 它们之间的数据交换是通过异步串行通信接口RS-232C进 行的。MCS51单片机有一个串行通信控制器,当CPU将 要发送的一个字节数据提交给串行通信控制器后,需要等 串行通信控制器把这个字节数据发送完毕,才能发送下一 个字节数据。这时,CPU要等待串行通信控制器的一个标 志,表明串行通信控制器的发送缓冲器空闲,才能把下一 个要发送字节数据提交给串行通信控制器。CPU除了发送 数据之

3、外,还要接收对方发送来的数据,而对方什么时候 要发送数据是无法确定的。MCS51单片机的串行通信控 制器会自动处理数据接收,一旦接收到一个字节的数据, 串行通信控制器会设置数据接收完成标志,CPU检测到该 标志后,就从串行通信控制器中将数据读出。 上述三个问题中,一个共性的问题是:CPU需要对 一个标志进行检测判断,以决定是否进行一项预定的工 作(即执行一个特定的程序段)。对一个可能随机出现 的标志进行检测判断,可以采用两种方法:查询/中断 。查询是指CPU在程序流程中循环判断标志的改变。 如:启动定时器时,定时器的定时超时标志TF为0,定 时间隔到时,定时器将定时超时标志TF置为1,程序中

4、CPU用循环结构判断该标志是否为1等待定时结束:while(TF = = 0);TF = 1;调用采样函数,(TF定时到标志)所谓中断是指,单片机内部有一个中断管理系统, 它对内部的定时器事件、串行通信的发送和接收事 件及外部事件(如键盘按键动作)等进行自动的检 测判断,当有某个事件产生时,中断管理系统会置 位相应标志通知CPU,请求CPU迅速去处理。CPU 检测到某个标志时,会停止当前正在处理的程序流 程,转去处理所发生的事件(针对发生的事件,调 用某一特定的函数,称为该事件的中断服务函数) ,处理完以后,再回到原来被中断的地方,继续执 行原来的程序。这个过程称为中断。(CPU对中断 标志的

5、检测是在程序指令执行的周期中顺带进行的 ,不影响指令的连续执行。 )注:程序中的一般函数是由主函数或其它函数调用 的,而中断服务函数不能被其它函数调用,它的执 行完全是随机的。中断管理系统可以处理的事件称为中断源。一 般计算机系统允许有多个中断源,当几个中断源同 时向CPU请求中断,要求为它们服务的时候,就存 在CPU优先响应哪一个中断请求源的问题,一般根 据中断源(所发生的实时事件)的轻重缓急排队, 优先处理最紧急事件的中断请求,于是规定每一个 中断源都有自己的中断优先级别。当CPU正在处理一个中断源请求时,又发生了 另一个优先级比它高的中断请求,如果CPU能够暂 时中止执行当前的中断服务程

6、序,转而去处理优先 级更高的中断请求,待处理完以后,再继续执行原 来的低级中断处理程序,这样的过程称为中断嵌套 ,这样的中断系统称为多级中断系统。没有中断嵌 套功能的中断系统称为单级中断系统。 MCS51中断系统 MCS51系列中不同型号单片机的中断源数 量是不同的(511个),最典型的8051单片机 有5个中断源(外部中断0、1,内部定时器中断0 、1,串口中断),具有两个中断优先级。与中断 系统有关的特殊功能寄存器有中断允许寄存器IE、 中断优先级控制寄存器IP、中断控制寄存器TCON 和SCON中有关位。MCS51单片机基本的中断 系统结构如图41所示。 外部中断 请求0内部 定时器0外

7、部中断 请求1内部 定时器1内部 T 串行口 R中断请求 标志寄存器源允许总允许允许中断寄存器中断优先级 寄存器中断源 标识符中断源 标识符高优先级中断请求中断矢量低优先级中断请求中断矢量T发送 R接收INT0INT1查询硬件图41 MCS51的中断系统1中断源与中断标志MCS51中典型的8051单片机有5个中断源: 两个外部中断:(P3.2 INT0、P3.3 INT1) 上输入的外部中断源,低电平或负跳变有效,置位TCON中 的IE0和IE1中断请求标志位;三个内部中断源:定时器计数器T0、T1的溢出中断 源和串行口的发送/接收中断。对T0和T1中断,当定 时计数回0溢出时,由硬件自动置位

8、TCON中的TF0 或TF1中断请求标志位;对串行接收发送中断,当 完成一串行帧帧的接收发送时,由硬件自动置SCON 中的中断请求标志位TI(发送)或RI(接收),必须由用户在中断服务程序中复位TI或RI。 中断控制寄存器TCON的各位(可位寻址):IE0:外部中断0请求源(INT0)标志。IE01,外部中断0正在向CPU请求中断,当 CPU响应该中断时由硬件清零IE0(边沿触发方式 )。 IT0:外部中断源 INT0 触发方式控制位。 IT0 0,外部中断0程控为电平触发方式,当 P3.2输入低电平时,置位IE0。IT0 1,外部中 断0程控为边沿触发方式,相继的两次采样,一个 周期中采样到

9、为高电平,接着的下个周期中采样到 为低电平,则置1 IE0。D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0IE1:外部中断1请求(INT1,P3.3)标志。IE1 1外部中断1向 CPU请求中断,当 CPU响 应外部中断时,由硬件清0 IE1(边沿触发方式 )。 IT1:外部中断1触发方式控制位。IT1 0,外部中断1程控为电平触发方式,IT1 1,外部中断1为边沿触发方式。其功能和IT0 类似。 TR0:定时计数器T0运行控制位。(启动/停止) TF0:定时计数器T0溢出中断标志位,CPU执行中 断服务程序时由硬件复位。 TR1:定时计数器T1运行控制位。

10、 TF1:定时计数器T1溢出中断标志位,CPU执行中 断服务程序时由硬件复位。 2中断控制 (1)中断允许寄存器IE MCS51的CPU对中断源的开放或屏蔽,即每一 个中断源是否被允许中断,是由内部的中断允许寄 存器IE(IE为特殊功能寄存器,它的字节地址 A8H,可位寻址)控制的,其格式如下:EA:CPU的中断开放标志。 EA 1,CPU开放中 断;EA 0,CPU屏蔽所有的中断申请。 EX0:外部中断0中断允许位。 EX0 1,允许中断 ;EX0 0,禁止中断。 D7D6D5D4D3D2D1D0 EA ESET1EX1ET0EX0ET0:T0的溢出中断允许位。ET0 1,允许T0中断;ET

11、0 0,禁止T0中断。 EX1:外部中断1中断允许位。 EX1 1,允许外部中断1中断;EX1 0,禁止外部中断1中断。 ET1:定时器计数器 T1的溢出中断允许位。ET1 1,允许T1中断;ET1 0禁止T1中断。 ES: 串行口中断允许位。ES 1,允许串行口中断;ES 0禁止串行口中断。 (2)中断优先级控制 MCS51有两个中断优先级,每一中断请求源可编程 为高优先级中断或低优先级中断,实现二级中断嵌套 。一个正在被执行的低优先级中断服务程序能被高优 先级中断所中断,但不能被另一个同级的或低优先级 中断源所中断。若CPU正在执行高优先级的中断服务 程序,则不能被任何中断源所中断,一直执

12、行到结束 ,遇到返回指令RETI,返回主程序后再执行一条指令 才能响应新的中断源申请。 *为了实现上述功能,MCS51的中断系统有两个不可 寻址的优先级状态触发器,一个指出CPU是否正在执 行高优先级中断服务程序,另一个指出CPU是否正在 执行低级中断服务程序。这两个触发器的1状态分别 屏蔽所有的中断申请和同一优先级的其他中断源申请 。 另外,MCS51的片内有一个中断优先级寄存器IP(IP 为特殊功能寄存器,它的字节地址为B8H,可位寻址 ),其格式如下: PX0:外部中断0中断优先级控制位。PX0 1,外部中断0中断定义为高优先级中断;PX0 0,外部中断0中断定义为低优先级中断。 PT0

13、:定时器T0中断优先级控制位。PT0 1,定时器T0中断定义为高优先级中断;PT0 0,定时器T0中断定义为低优先级中断。 PX1:外部中断1中断优先级控制位。PX1 = 1,外部中断1中断定义为高优先级中断; PX1 0,外部中断1中断定义为低优先级中断。 PT1:定时器T1中断优先级控制位。PT1 1,定时器T1中断定义为高优先级中断;PT1 0,定时器T1中断定义为低优先级中断。 D7D6D5D4D3D2D1D0 PSPT1PX1PT0PX0中断服务程序及例程 使用MCS51的中断,要为使用到的中断源编写 中断服务程序。C51为中断服务程序的编写提供了 方便的方法。C51的中断服务程序是

14、一种特殊的函 数,它的说明形式为: void 函数名(void) interrupt n using m 函数体语句 这里,interrupt和using是为编写C51中断服务程序 而引入的关键字,interrupt表示该函数是一个中断 服务函数,interrupt后的整数n表示该中断服务函 数是对应哪一个中断源。 每个中断源都有系统指定的中断编号:中 断 源 中 断 编 号 外部中断00 定时器T01 外部中断12 定时器T13 串行口中断4 using指定该中断服务程序要使用的工作寄存器组 号,m为03。 关键字interrupt和using只能用于中断服务函数的 说明而不能用于其它函数。

15、 程序中的任何函数都不能调用中断服务函数,中 断服务函数是由系统调用的。定时/计数器定时/计数器控制寄存器定时/计数器运行控制定时/计数器工作方式8051型有两个十六位定时/计数器T0、T1,有四种 工作方式。 MCS51系列单片机的定时/计数器 有几个相关的特殊功能寄存器: 方式控制寄存器TMOD; 加法计数寄存器TH0、TH1 (高八位)TL0、TL1 (低八位); 定时/计数到标志TF0、TF1(中断控制寄存器TCON ) 定时/计数器启停控制位TR0、TR1(TCON) 定时/计数器中断允许位ET0、ET1(中断允许寄存 IE) 定时/计数器中断优先级控制位PT0、PT1(中断优 IP

16、) 1. 定时工作方式 设置为定时工作方式时,定时器计数的脉冲是由51单片机片 内振荡器经12分频后产生的。每经过一个机器周期定时器(T0或T1)的数值加1直至计数满产 生溢出。 如:当8051采用12MHz晶体时,每个机器周期为1s,计5 个机 器周期即为5 s,即定时5 s 。2. 计数工作方式 设置为计数工作方式时,定时/计数器对引脚P3.4 (T0)和P3.5 (T1)输入的外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时,定时器的值 加 1。测 量过程是: CPU前一个机器周期采样脉冲值为高,下一个机器周期 采样脉冲值为低,则计数器加 1。 由于检测一个1至0的跳变需要二个机器周期,故最高计 数频率为振荡频率的二十四分之一。 虽然对输入信号的占空比无特殊要求,但为了确保某个电 平在变化之前至少被采样一次,要求

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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