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

    中断系统和定时计数器精.ppt

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

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

    中断系统和定时计数器精.ppt

    中断系统和定时计数器第1页,本讲稿共113页4.1 中断系统中断系统4.1.14.1.1中断系统的基本概念中断系统的基本概念某人看书某人看书某人正在处理一件事某人正在处理一件事A电话铃响电话铃响出现另一件须立即解决的事出现另一件须立即解决的事B暂停看书暂停看书中止中止A 书中作记号书中作记号记录断点,便于接续记录断点,便于接续 电话谈话电话谈话处理处理B继续看书继续看书继续继续A的工作的工作保护断点保护断点中断响应中断响应中断请求中断请求中断返回中断返回1.中断的概念中断的概念 (1)现实生活中的中断:)现实生活中的中断:第2页,本讲稿共113页 中断原因:中断原因:一个人不可能同时完一个人不可能同时完成两项任务。成两项任务。单片机单片机只有一个只有一个CPU,一旦面临多,一旦面临多任务,它也会任务,它也会中断吗?中断吗?先接电话,然后再继续看书,这样效率最高!4.1.1中断系统的基本概念中断系统的基本概念第3页,本讲稿共113页(2)单片机中的中断)单片机中的中断CPU在处理某一事件在处理某一事件A时,发生了另一事件时,发生了另一事件B请求请求CPU迅迅速去处理速去处理(中断发生或中断请求)(中断发生或中断请求);CPU暂时中断当前的工作,转去处理事件暂时中断当前的工作,转去处理事件B(中断响应和中(中断响应和中断服务)断服务);待待CPU将事件将事件B处理完毕后,再回到原来事件处理完毕后,再回到原来事件A被中断的地被中断的地方继续处理事件方继续处理事件A(中断返回)(中断返回)。中断请求中断请求中断响应中断响应中断服务中断服务中断返回中断返回中断过程中断过程事件事件B的的处处理理过过程程事件事件A事件事件B什么是什么是什么是什么是中断中断中断中断?第4页,本讲稿共113页2.中断技术的应用中断技术的应用并行处理并行处理 CPU可以与多台外设并行工作,并分时与他们进行信可以与多台外设并行工作,并分时与他们进行信息交换,提高了息交换,提高了CPU的工作效率。的工作效率。实时控制实时控制 单片机应用系统可能随机请求单片机应用系统可能随机请求CPU提供服务。有了中断提供服务。有了中断系统,系统,CPU就可以立即响应并予以处理。就可以立即响应并予以处理。故障处理故障处理 单片机系统在工作时可能会出现一些突发故障,如电源断电,单片机系统在工作时可能会出现一些突发故障,如电源断电,存储器出错,程序执行错误(如除数为存储器出错,程序执行错误(如除数为0)等,一旦出现故)等,一旦出现故障,障,CPU就可及时转去执行故障处理程序,而不必停机。就可及时转去执行故障处理程序,而不必停机。第5页,本讲稿共113页3.中断系统中断系统 为实现中断功能而配置的硬件和编写的为实现中断功能而配置的硬件和编写的软件就是中断系统。软件就是中断系统。中断由谁来实施?中断由谁来实施?中断由谁来实施?中断由谁来实施?中断功能由中断系统来执行。中断功能由中断系统来执行。第6页,本讲稿共113页图图4-1 中断系统的结构框图中断系统的结构框图第7页,本讲稿共113页4.1.2 4.1.2 中断源中断源中断的申请方中断的申请方能够向能够向CPU发出中断申请的部件称为中断源。发出中断申请的部件称为中断源。80C51单片机有单片机有5个中断源。见下表个中断源。见下表 那些部件可以那些部件可以向向CPU申请申请中断中断呢?呢?中断源中断源 说明说明 外部中断 从P3.2引脚引入的外部中断申请定时器T0中断 定时器T0溢出时引发中断申请外部中断从P3.3引脚引入的外部中断申请定时器T1中断定时器T1溢出时引发中断申请串行口中断一次串行发送或接收完成后,发出中断申请第8页,本讲稿共113页4.1.3 中断控制中断控制中断的控制中断的控制“工具工具”中断允许寄存器中断允许寄存器IE中断优先级寄存器中断优先级寄存器IP定时定时/计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCON串口控制寄存器串口控制寄存器SCON 单片机通过对单片机通过对4个特殊功能寄存器个特殊功能寄存器实施中断控制:实施中断控制:第9页,本讲稿共113页1中断允许寄存器中断允许寄存器IE功能:功能:控制单片机是否接受中断申请,以及接控制单片机是否接受中断申请,以及接受哪一种中断申请受哪一种中断申请字节地址:字节地址:A8H 其格式和每位的含义如下:其格式和每位的含义如下:第10页,本讲稿共113页图图4-2 IE的格式的格式第11页,本讲稿共113页由位操作指令或数据传送指令实现。由位操作指令或数据传送指令实现。例:同时打开外部中断例:同时打开外部中断0和串行口中断,可设置为:和串行口中断,可设置为:法法1:MOV IE,#10010001B 法法2:SETB EA SETB ES SETB EX0 想一想还可以怎样实现?想一想还可以怎样实现?如何如何如何如何对对IEIE进进行行行行设设置?置?置?置?IE的设置方法:的设置方法:第12页,本讲稿共113页2中断优先级寄存器中断优先级寄存器IP功能:功能:对对80C51单片机进行高级别或低级别中单片机进行高级别或低级别中断的设置,断的设置,IP的字节地址:的字节地址:B8H 格式和每位的含义如下:格式和每位的含义如下:第13页,本讲稿共113页 图图4-3 IP的格式的格式 第14页,本讲稿共113页举例举例 例:例:令串行口为高优先级中断,外部中断令串行口为高优先级中断,外部中断0为为低优先级中断。低优先级中断。设置方法:设置方法:法法1:MOV IE,#10010001B ;开中断;开中断 MOV IP,#00010000B ;设优先级;设优先级 法法2:MOV IE,#10010001B SETB PS说明:说明:此时串口的优先级高于外部中断此时串口的优先级高于外部中断0的优先级的优先级第15页,本讲稿共113页 答案:答案:此时此时CPU按自然优先级顺序确定该响应哪个中断请按自然优先级顺序确定该响应哪个中断请求。求。如果几个同如果几个同如果几个同如果几个同级别级别的中断的中断的中断的中断源同源同源同源同时时申申申申请请中断,中断,中断,中断,CPUCPU如何响如何响如何响如何响应应?注意:注意:自然优先级由硬件决定,用户不能更改。自然优先级由硬件决定,用户不能更改。排列排列见表见表42第16页,本讲稿共113页表表42 中断入口地址及自然优先级中断入口地址及自然优先级 第17页,本讲稿共113页3定时定时/计数器及外部中断控制寄存器计数器及外部中断控制寄存器TCON功能:功能:字节地址:字节地址:88H可设置外部中断申请的形式:低电平触发还是下降可设置外部中断申请的形式:低电平触发还是下降沿触发沿触发控制定时控制定时/计数器的计时开始或停止计数器的计时开始或停止是各中断源(串口中断除外)是否申请中断的标志位是各中断源(串口中断除外)是否申请中断的标志位格式如下,各位含义见表格式如下,各位含义见表43TCON D7 D6D5D4D3D2D1D0TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 第18页,本讲稿共113页形式形式 符号符号 位地址位地址 功功 能能 说说 明明 中断控制 IT0 88H 外部中断外部中断0的触发控制位的触发控制位IT0=0:低电平触发:低电平触发 IT0=1:下降沿触发:下降沿触发IT0的状态由用户的状态由用户通过初始化程序通过初始化程序定义定义 IE0 89H 外部中断外部中断0请求标志位。请求标志位。CPU采样到外部中断采样到外部中断0的中断请求时,的中断请求时,IE0=1CPU响应该中断时,响应该中断时,IE00 IE0的状态由单的状态由单片机自动设置片机自动设置 IT1 8AH 外部中断外部中断1的触发控制位的触发控制位IT1=0:低电平触发:低电平触发IT1=1:下降沿触发:下降沿触发 IT1的状态由用户的状态由用户通过初始化程序通过初始化程序定义定义 IE1 8BH 外部中断外部中断1的中断请求标志位的中断请求标志位CPU采样到外部中断采样到外部中断1的中断请求时,的中断请求时,IE1=1CPU响应该中断时,响应该中断时,IE10 IE1的状态由单的状态由单片机自动设置片机自动设置 表表43 TCON的功能说明的功能说明第19页,本讲稿共113页形式形式 符号符号 位地址位地址 功功 能能 说说 明明 定定时时/计计数数控控制制 TR0 8CH TR0=1:启动定时:启动定时/计数器计数器T0TR0=0:停止定时:停止定时/计数器计数器T0 TR0的状态由用户的状态由用户通过初始化程序定通过初始化程序定义义 TF0 8DH 定时定时/计数器计数器T0溢出中断请求位溢出中断请求位T0定时或计数完成时定时或计数完成时TF0=1,同时,同时申请中断申请中断CPU响应该中断时,响应该中断时,TF00 TF0的状态由单片的状态由单片机自动设置机自动设置 TR1 8EH TR1=1:启动定时:启动定时/计数器计数器T1TR1=0:停止定时:停止定时/计数器计数器T1 TR1的状态由用户的状态由用户通过初始化程序定通过初始化程序定义义 TF1 8FH 定时定时/计数器计数器T1溢出中断请求位溢出中断请求位T1定时或计数完成时定时或计数完成时TF1=1,同时,同时申请中断申请中断CPU响应该中断时,响应该中断时,TF10TF1的状态由单片的状态由单片机自动设置机自动设置 续表续表4 43 3 第20页,本讲稿共113页例例 1 编程设定编程设定TCON为低电平触发的高优先级中为低电平触发的高优先级中断源。断源。分析:分析:这是典型的中断初始化问题,方法一般如下:这是典型的中断初始化问题,方法一般如下:1)对)对TCON的相关位赋值的相关位赋值2)设定所用中断源的优先级)设定所用中断源的优先级赋值赋值IP3)开中断)开中断置位置位IE第21页,本讲稿共113页解:解:法法1:CLR IT1 SETB PX1 SETB EX1 SETB EA例例 1 法法2:CLR IT1 MOV IP,#04H MOV IE,#84H第22页,本讲稿共113页4串口控制寄存器串口控制寄存器SCON功能:功能:只有只有D1和和D0位用于中断,作为串口中断请位用于中断,作为串口中断请求标志,即串口中断请求寄存器求标志,即串口中断请求寄存器字节地址:字节地址:98H 格式如下:格式如下:第23页,本讲稿共113页RI为接收中断请求标志位。为接收中断请求标志位。当串口接收完一帧串行数据时,当串口接收完一帧串行数据时,RI自动置自动置1;CPU响应中断后,用软件对响应中断后,用软件对RI清清0。TI为串行口发送中断请求标志。为串行口发送中断请求标志。当串口发送完一帧串行数据时,当串口发送完一帧串行数据时,TI自动置自动置1,请求中断。,请求中断。CPU响响应中断后,由软件对应中断后,由软件对TI清零。清零。其他几位的含义及用法见第其他几位的含义及用法见第5章。章。第24页,本讲稿共113页4.1.4 中断响应中断响应无同级或高级中断正在服务无同级或高级中断正在服务有中断请求信号有中断请求信号相应的中断源已打开,即相应的中断源已打开,即EA=1,中断源,中断源对应中断允许位也为对应中断允许位也为1。当前的指令周期已经结束当前的指令周期已经结束如果当前指令为如果当前指令为RETI或访问或访问IE和和IP的指令,的指令,至少还要再执行完一条指令。至少还要再执行完一条指令。1.1.中断响应条件中断响应条件第25页,本讲稿共113页2.中断响应过程中断响应过程图图44中断响应过程中断响应过程将当前寄存器内容压入堆栈,如将当前寄存器内容压入堆栈,如 PUSH ACC在中断服务程序中实现,解决单片机中断在中断服务程序中实现,解决单片机中断后要干什么的问题。后要干什么的问题。把保存在堆栈中的寄存器内容取出,送回把保存在堆栈中的寄存器内容取出,送回原来的位置,如原来的位置,如POP ACC第26页,本讲稿共113页4.1.5中断嵌套中断嵌套答案:答案:CPU要进行分析判断,决定是否响应:要进行分析判断,决定是否响应:当当当当CPUCPU正在正在正在正在执执行中断服行中断服行中断服行中断服务务程序程序程序程序时时,又有新的中,又有新的中,又有新的中,又有新的中断源断源断源断源发发出中断申出中断申出中断申出中断申请请,响,响,响,响应吗应吗?情况情况1:同级或低级中断同级或低级中断源申请中断,源申请中断,CPU不予理睬不予理睬情况情况2:高级别中断源申高级别中断源申请中断,请中断,CPU就要响就要响应。应。待执行完高级别中断服务程序后再转待执行完高级别中断服务程序后再转回低级中断服务程序继续执行,这就是回低级中断服务程序继续执行,这就是中中断嵌套。断嵌套。第27页,本讲稿共113页图图45 二级中断嵌套的执行过程二级中断嵌套的执行过程第28页,本讲稿共113页软件构成:软件构成:主程序主程序+中断服务程序中断服务程序程序编制的关键点:程序编制的关键点:要对题目要求进行精确分析,明确哪要对题目要求进行精确分析,明确哪些环节应该安排在主程序中,哪些环节些环节应该安排在主程序中,哪些环节应该安排在中断服务程序中,再分别编应该安排在中断服务程序中,再分别编制主程序和中断服务程序。制主程序和中断服务程序。4.2 中断的应用中断的应用4.2.14.2.1中断应用指导中断应用指导 1中断系统的程序编制中断系统的程序编制第29页,本讲稿共113页 1中断系统的程序编制中断系统的程序编制 (1)编制主程序编制主程序p第一部分:主程序初始化第一部分:主程序初始化 功能:功能:p第二部分:须由主程序完成的其它功能。第二部分:须由主程序完成的其它功能。此部分必须编写此部分必须编写用于设置堆栈位置;用于设置堆栈位置;定义触发方式(低电平触发或脉冲下降沿触发)定义触发方式(低电平触发或脉冲下降沿触发)对对IE和和IP赋值等;赋值等;第30页,本讲稿共113页(2)选择中断服务程序的入口地址。选择中断服务程序的入口地址。(3)编制中断服务程序编制中断服务程序。1中断系统的程序编制中断系统的程序编制即明确中断服务程序即明确中断服务程序的起始位置的起始位置注意注意1:一般要保护断点一般要保护断点,即保护进入中断时累加器即保护进入中断时累加器A、进、进/借位标志借位标志CY和和SFR的状态,的状态,并在退出中断之前将其恢复;并在退出中断之前将其恢复;注意注意2:必须在中断服务程序中设定是否允许再次中断必须在中断服务程序中设定是否允许再次中断(即中断嵌套),(即中断嵌套),由用户对由用户对EX0(或(或EX1)位置位或清)位置位或清0决定。决定。说明:说明:一般在中断服务程序中涉及到关键数据一般在中断服务程序中涉及到关键数据的设置时应关的设置时应关 中断,即禁止嵌套。中断,即禁止嵌套。第31页,本讲稿共113页2中断应用举例中断应用举例三相交流电的故障检测电路三相交流电的故障检测电路 例例2 图图4-6是三相交流电的故障检测电路。当是三相交流电的故障检测电路。当A相缺电时,发光相缺电时,发光二极管二极管LEDA 亮;当亮;当B相缺电时,发光二极管相缺电时,发光二极管LEDB亮;当亮;当C相缺电相缺电时,发光二极管时,发光二极管LEDC亮。亮。硬件特点:硬件特点:外部中断外部中断 由由3个交流个交流继电器的触点和一个或非门扩展继电器的触点和一个或非门扩展而成;而成;3个个220V的交流继电器的线的交流继电器的线圈圈ZA、ZB、ZC分别接在分别接在A、B、C各相和交流地之间。各相和交流地之间。图图4-6 三相交流电的故障检测电路三相交流电的故障检测电路第32页,本讲稿共113页(1)检测原理)检测原理三相电正常情况下三相电正常情况下3个线圈同时得电个线圈同时得电3个常开触点全都闭合个常开触点全都闭合0001不申请外部中断不申请外部中断第33页,本讲稿共113页故障情况下(假设故障情况下(假设A相掉电)相掉电)(1)检测原理)检测原理线圈线圈ZA失电失电常开触点常开触点ZA断开断开0申请外部中断,在外部中断服务申请外部中断,在外部中断服务程序中读取程序中读取P1.0引脚状态引脚状态0011产生产生A相掉电状态信号送相掉电状态信号送入入P1.01在中断服务程序中对在中断服务程序中对该引脚输出该引脚输出1A相故障指示灯亮相故障指示灯亮线圈线圈ZB、ZC有电有电常开触点常开触点ZB、ZC闭合闭合B、C相故障指示灯不亮相故障指示灯不亮第34页,本讲稿共113页(2)软件设计软件设计 ORG 0000HLJMP MAIN;跳至主程序;跳至主程序ORG 0013H;的中断入口地址;的中断入口地址LJMP TEST;转至中断服务程序;转至中断服务程序ORG 0100HMAIN:MOV P1,#15H;P1.0、P1.2、P1.4作输入;作输入;P1.1、P1.3、P1.5输出输出0SETB EX1;开中断;开中断 CLR IT1 ;为低电平触发;为低电平触发SETB EA;CPU开中断开中断SJMP$;等待中断;等待中断TEST:JNB P1.0,LB;A相正常,转测相正常,转测B相相SETB P1.1;A相掉电,点亮相掉电,点亮LEDALB:JNB P1.2,LC;B相正常,转测相正常,转测C相相SETB P1.3;B相掉电,点亮相掉电,点亮LEDBLC:JNB P1.4,LL;C相正常,返回相正常,返回SETB P1.5;C相掉电,点亮相掉电,点亮LEDCLL:RETI END第35页,本讲稿共113页4.2.2 4.2.2 课题与实训课题与实训7 7 中断控制流水灯中断控制流水灯一一.实训目的实训目的 学习外部中断的基本用法学习外部中断的基本用法 掌握中断处理程序的编程方法掌握中断处理程序的编程方法二二.课题要求课题要求 在程序正常运行时在程序正常运行时P1口的口的8个个LED灯作单灯左移灯作单灯左移8次而后单灯右移次而后单灯右移7次,次,如此循环;中断时(即按键按下)则如此循环;中断时(即按键按下)则P1口的口的8个个LED闪烁闪烁3次(即全亮全灭次(即全亮全灭3次)次)。三三.背景知识背景知识 1中断程序的设计主要涉及开中断、设定优先级,外中断还中断程序的设计主要涉及开中断、设定优先级,外中断还 涉及触发方式的设定。涉及触发方式的设定。2在软件设计中,首先要对主程序和中断服务程序所完成的在软件设计中,首先要对主程序和中断服务程序所完成的 任务进行划分。根据该课题提出的要求,在主程序中应该任务进行划分。根据该课题提出的要求,在主程序中应该 完成的任务是完成的任务是8个个LED循环左移右移;在中断服务程序中循环左移右移;在中断服务程序中 应该完成的功能是应该完成的功能是8个个LED闪烁闪烁3次。次。第36页,本讲稿共113页四四.硬件电路硬件电路 硬件结构如图硬件结构如图,12引脚的按键点动表示有中断请求发出。引脚的按键点动表示有中断请求发出。图图4-7 实训实训7电路电路 第37页,本讲稿共113页五五.参考程序参考程序 ORG 0000H LJMP START ORG 0003H LJMP INT0 ORG 0100H START:MOV SP,#60H MOV IE,#81H;开;开INT0中断中断 SETB IT0 ;INT0下降沿触发下降沿触发 L1:MOV A,#0FFH ;设初值;设初值 MOV R0,#8 ;设定左移八次;设定左移八次 CLR C ;将;将CY清清0 L2:RLC A ;带进位位循环左移一位;带进位位循环左移一位 MOV P1,A ;送;送P1口口,P1.0灯亮灯亮 第38页,本讲稿共113页 ACALL DELAY ;延时;延时0.2秒秒 DJNZ R0,L2;判断是否左移;判断是否左移8次次 MOV R0,#7 ;移动;移动7次次L3:RRC A ;带进位位循环右移;带进位位循环右移 MOV P1,A ;送;送P1口口 ACALL DELAY DJNZ R0,L3;是否右移;是否右移7次?次?AJMP L1 ;重新开始;重新开始DELAY:MOV R5,#4 ;延时;延时0.2秒秒 D1:MOV R6,#200 D2:MOV R7,#123 NOP DJNZ R7,$第39页,本讲稿共113页 DJNZ R6,D2 DJNZ R5,D1 RETINT0:PUSH PSW ;保护保护PSW,ACC值值 PUSH ACC MOV A,#00H ;使;使8个个LED全亮全亮 MOV R2,#6 ;闪烁;闪烁3次(全亮全灭各次(全亮全灭各3次)次)L4:MOV P1,A ;A值送出值送出 LCALL DELAY ;延时;延时0.2秒秒 CPL A ;A值取反值取反 DJNZ R2,L4 ;闪烁;闪烁3次?次?POP ACC ;恢复保护的;恢复保护的A值值 POP PSW ;恢复保护的;恢复保护的PSW值值 RETI ;返回主程序;返回主程序 END 第40页,本讲稿共113页六六.总结与提高总结与提高 1.总结:中断服务程序与子程序对比总结:中断服务程序与子程序对比共同点:格式相近,执行过程大体相同共同点:格式相近,执行过程大体相同子程序子程序 执行时刻是确定执行时刻是确定的,的,CPU只要执行只要执行LCALL、ACALL等等调用指令就会转去调用指令就会转去执行子程序执行子程序中断服务程序中断服务程序 中断申请往往是中断申请往往是随机发生的。中断服随机发生的。中断服务程序的发生可能是务程序的发生可能是在开中断后的任意时在开中断后的任意时刻,也可能不发生,刻,也可能不发生,第41页,本讲稿共113页2提高提高 编写一个由两个中断(外部中断编写一个由两个中断(外部中断0、外部中断、外部中断1)控制的)控制的流水灯程序。流水灯程序。要求:要求:主程序不变,中断主程序不变,中断0可使可使P1.0P1.3的的LED闪烁闪烁5次,次,中断中断1可使可使P1.4P1.7的的LED闪烁闪烁5次,设定中断次,设定中断1的优先的优先级比中断级比中断0高。高。第42页,本讲稿共113页.3定时计数器定时计数器 1.日常生活中定时、计数的例子:日常生活中定时、计数的例子:如闹钟、画如闹钟、画“正正”统计选票、家用水表对水量的计数。统计选票、家用水表对水量的计数。2.单片机应用系统中定时计数的需求:单片机应用系统中定时计数的需求:如用单片机控制的打铃器、空调的定时开关、啤酒自动生产如用单片机控制的打铃器、空调的定时开关、啤酒自动生产线上对酒瓶的计数装置等。线上对酒瓶的计数装置等。3.80C51单片机片内的定时单片机片内的定时/计数器:计数器:两个位可编程的定时计数器:两个位可编程的定时计数器:T0和和T1,都能定时和对,都能定时和对外部事件进行计数。外部事件进行计数。此外,此外,T1还可以作为串行接口的波特率发生器。还可以作为串行接口的波特率发生器。第43页,本讲稿共113页.3.1.3.1定时计数器的结构定时计数器的结构.定时和计数的原理定时和计数的原理(1)计数)计数 定时计数器的实质是加计数器(位),其原定时计数器的实质是加计数器(位),其原理类似于古代用来计时的水钟:理类似于古代用来计时的水钟:假设计满一小时需要假设计满一小时需要100,000,000滴,这称为水钟的计数容量滴,这称为水钟的计数容量16位定时位定时/计数器的计数容量是计数器的计数容量是65536单片机是对脉冲个数计数,计数器每单片机是对脉冲个数计数,计数器每接收到一个脉冲,计数值加接收到一个脉冲,计数值加1,当接收满当接收满65535个脉冲后,再个脉冲后,再来一个脉冲,计数值清来一个脉冲,计数值清0表明表明这一轮计数结束,同时将标这一轮计数结束,同时将标志位志位TF0或或TF1置置1。第44页,本讲稿共113页 (2)定时)定时 单片机内部的计数器用作定时器时,是对标准的时钟单片机内部的计数器用作定时器时,是对标准的时钟进行了计数,每来一个时钟脉冲,计数器加进行了计数,每来一个时钟脉冲,计数器加1,只要保证,只要保证计数脉冲的间隔相等,则计数值就代表了时间的流逝。计数脉冲的间隔相等,则计数值就代表了时间的流逝。计计数器如何能作数器如何能作数器如何能作数器如何能作为为定定定定时时器使用呢?器使用呢?器使用呢?器使用呢?单片机中的定时器和计数器其实是一个器件:单片机中的定时器和计数器其实是一个器件:计数器:计数器:是对外部发生的事件进行计数,是对外部发生的事件进行计数,定时器:定时器:是对单片机内部的标准时钟脉冲进行是对单片机内部的标准时钟脉冲进行计数。计数。第45页,本讲稿共113页单单片机内部的片机内部的片机内部的片机内部的标标准准准准时钟时钟脉冲是如何脉冲是如何脉冲是如何脉冲是如何获获得的呢?得的呢?得的呢?得的呢?见图见图4-9,它是由单片机的晶振经过,它是由单片机的晶振经过12分频后得到。由于晶振的频率分频后得到。由于晶振的频率很准,所以这个时钟脉冲的时间间隔也很准。不难算出,当单片机采用很准,所以这个时钟脉冲的时间间隔也很准。不难算出,当单片机采用12的晶振时,它提供给计数器的脉冲频率是的晶振时,它提供给计数器的脉冲频率是,脉冲周期就是微秒。,脉冲周期就是微秒。图图4-9 定时定时/计数器计数器T0的结构示意图的结构示意图第46页,本讲稿共113页 单片机内部的单片机内部的16位定时计数器由高位定时计数器由高8位和低位和低8位两位两个寄存器组成:个寄存器组成:l T0由由TH0和和TL0组成,组成,l T1由由TH1和和TL1组成,组成,定时计数器的计数值就存放在这里面。定时定时计数器的计数值就存放在这里面。定时/计数器计数器T1的结构与的结构与T0相同。相同。图图4-9 定时定时/计数器计数器T0的结构示意图的结构示意图 2定时定时/计数器的结构计数器的结构第47页,本讲稿共113页 再以水钟为例,当水不断落下,下面容器中的水不断变再以水钟为例,当水不断落下,下面容器中的水不断变多,最终总有一滴水使得容器完全充满。这时如果再有一多,最终总有一滴水使得容器完全充满。这时如果再有一滴水落下,就会发生滴水落下,就会发生“溢出溢出”。与此类似,。与此类似,16位定时计位定时计数器计满数器计满65536个脉冲时,也会发生溢出。个脉冲时,也会发生溢出。定时计数器溢出后标志位定时计数器溢出后标志位TF0(或(或TF1)由)由0变变1,由此能够引发定时中断(在中断定时方式下),这就像由此能够引发定时中断(在中断定时方式下),这就像定时的时间一到,闹钟就会响一样定时的时间一到,闹钟就会响一样。如果采用如果采用12的晶振,对应的脉冲周期是微秒,的晶振,对应的脉冲周期是微秒,计满计满65536个脉冲所对应的时间就是个脉冲所对应的时间就是65.536ms。3定时定时/计数值的设置计数值的设置第48页,本讲稿共113页现实现实生活中,如何生活中,如何生活中,如何生活中,如何满满足足足足计计数数数数值值少于少于少于少于6553665536的需要的需要的需要的需要?如牛奶包装线上如牛奶包装线上如牛奶包装线上如牛奶包装线上2424盒装盒装盒装盒装箱一次。箱一次。箱一次。箱一次。再回到水钟的例子上去:再回到水钟的例子上去:刚才假设下面容器滴入刚才假设下面容器滴入100,000,000滴水才会满,滴水才会满,现在我们在开始滴水之前先放入一勺水,这样问题就解现在我们在开始滴水之前先放入一勺水,这样问题就解决了。决了。计数器的道理是一样的,只要用预置数的方法先在计数器的道理是一样的,只要用预置数的方法先在计数容器内存入一个初值计数容器内存入一个初值(通常称为时间常数),(通常称为时间常数),如我如我们要计们要计100,那就存入,那就存入65436,只要再来,只要再来100个脉冲,就刚好个脉冲,就刚好会溢出,引发中断。会溢出,引发中断。计数器初值的设置计数器初值的设置第49页,本讲稿共113页 在主频为在主频为12MHz的情况下,每个时钟脉冲是的情况下,每个时钟脉冲是1微秒,则计满微秒,则计满65536个脉冲需个脉冲需65.536毫秒,如要定时毫秒,如要定时10毫秒则存入初值毫秒则存入初值55536,(,(10毫秒毫秒是是10000微秒,需计数微秒,需计数10000个脉冲)。可见,个脉冲)。可见,定时器的定时时间长短与系统时钟和定时器初值有定时器的定时时间长短与系统时钟和定时器初值有关关。说明说明 1.当定时计数器用作计数器时,通过引脚当定时计数器用作计数器时,通过引脚P3.4(P3.5)对外部输入脉冲计数。对外部输入脉冲计数。2.定时计数器定时计数器T0(T1)启动运行后,会按设定的工作启动运行后,会按设定的工作方式独立进行计数,不再占用方式独立进行计数,不再占用CPU时间。当计数器时间。当计数器T0(T1)计满溢出时,计满溢出时,TF0(TF1)置置1,向,向CPU发出中断请求信号。发出中断请求信号。定时器初值的设置定时器初值的设置第50页,本讲稿共113页4-10 定时定时/计数器的控制关系计数器的控制关系第51页,本讲稿共113页 4.3.24.3.2定时计数器的控制定时计数器的控制 在单片机中有两个特殊功能寄存器与定时在单片机中有两个特殊功能寄存器与定时/计数有关,它们就计数有关,它们就是是TMOD和和TCON,定时计数器,定时计数器T0、T1就由它们来控制:就由它们来控制:TMOD用于设置工作方式;用于设置工作方式;TCON用于控制其启动、停止和中断申请。用于控制其启动、停止和中断申请。1.定时器工作方式寄存器定时器工作方式寄存器TMOD TMOD用于设置用于设置T0和和T1的工作方式,字节地址为的工作方式,字节地址为89H,不能按位寻,不能按位寻址。其格式和各位的含义如下:址。其格式和各位的含义如下:第52页,本讲稿共113页第53页,本讲稿共113页第54页,本讲稿共113页 2定时定时/计数器控制寄存器计数器控制寄存器TCON TCON的低的低4位用于控制外部中断,高位用于控制外部中断,高4位用于控位用于控制定时制定时/计数器的启动和中断申请。计数器的启动和中断申请。l TF0(或(或TF1)当计数溢出时,当计数溢出时,TF0(或(或TF1)会自动由)会自动由0变变1,告诉我们,告诉我们计数已满,我们可以通过查询计数已满,我们可以通过查询TF0(或或TF1)位的状态来判断计位的状态来判断计时时间是否已到;时时间是否已到;如果采用定时中断方式,则如果采用定时中断方式,则 TF0(或(或TF1)由)由0变变1时,能自动引发中断。时,能自动引发中断。第55页,本讲稿共113页l TR0(或或TR1)由图由图4-11 可知,只有当可知,只有当TR0(或或TR1)为为1时,开关时,开关1才能才能闭合,计数脉冲才能进入计数器,闭合,计数脉冲才能进入计数器,故故TR0(或或TR1)称为运行控制称为运行控制位,位,可用指令可用指令“SETB TR0(或或TR1)”来置位以启动定来置位以启动定时时/计数器运行;计数器运行;或用指令或用指令“CLR TR0(或或TR1)”来关闭定时来关闭定时/计数器的工作,计数器的工作,一切全靠编一切全靠编程人员控制。程人员控制。图4-11 定时/计数器T0方式0的逻辑结构示意图 第56页,本讲稿共113页4.3.3 4.3.3 定时定时/计数器的工作方式计数器的工作方式 80C51单片机定时单片机定时/计数器计数器T0有有4种工作方式(方式种工作方式(方式0、1、2、3),),T1有有3种工作方式(方式种工作方式(方式0、1、2)。)。1.方式方式0 当当TMOD的的M1M0=00时,定时时,定时/计数器工作于方式计数器工作于方式0。方式方式0为为13位定时位定时/计数器,由计数器,由TL0的低的低5位和位和TH0(8位)共同完位)共同完成计数功能(成计数功能(TL0的高的高3位可忽略)。位可忽略)。当当TL0的低的低5位溢出时,向位溢出时,向TH0产生进位;产生进位;TH0溢出时,将定时溢出时,将定时器中断请求标志位器中断请求标志位TF0置置1,可申请中断,也可对,可申请中断,也可对TF0进行查询。进行查询。第57页,本讲稿共113页图图4-11 定时定时/计数器计数器T0方式方式0的逻辑结构示意图的逻辑结构示意图 第58页,本讲稿共113页2.方式方式1 当当M1M0=01时,定时时,定时/计数器工作于方式计数器工作于方式1。方式。方式1的计数位数是的计数位数是16位,位,由由TL0作为低作为低8位,位,TH0作为高作为高8位共同构成。其余操作同方式位共同构成。其余操作同方式0。图图4-12 定时定时/计数器计数器T0方式方式1的逻辑结构示意图的逻辑结构示意图第59页,本讲稿共113页3.方式方式2 当当M1M0=10时,定时时,定时/计数器工作于方式计数器工作于方式2。这是自动重装初。这是自动重装初值的值的8位计数方式,它省去了方式位计数方式,它省去了方式0和方式和方式1在多次重复计数状态在多次重复计数状态下必须重新设定计数初值的麻烦,但是却付出了减小定时时间的下必须重新设定计数初值的麻烦,但是却付出了减小定时时间的代价。代价。图图4-13 定时定时/计数器计数器T0方式方式2的逻辑结构示意图的逻辑结构示意图特别适合于制作比较精确的脉特别适合于制作比较精确的脉冲信号发生器。冲信号发生器。第60页,本讲稿共113页4.方式方式3 方式方式3只适用于定时只适用于定时/计数器计数器T0。当。当T1被设定为方式被设定为方式3状态时,将停止状态时,将停止计数。计数。当当M1M0=11时,时,T0工作于方式工作于方式3。此时此时TL0和和TH0作为两个相互独立的作为两个相互独立的8位定时位定时/计数器使用。计数器使用。TL0既可定时又可计数,它使用既可定时又可计数,它使用T0的各控制位、引脚和中断源,即的各控制位、引脚和中断源,即C/、GATE、TR0、TF0、T0(P3.4引脚)、(引脚)、(P3.2引脚);引脚);TH0此时只能用作内部定时功能,它借用了定时此时只能用作内部定时功能,它借用了定时/计数器计数器T1的控制位的控制位TR1和和T1的中断标志位的中断标志位TF1,其启动和停止只受,其启动和停止只受TR1控制。控制。第61页,本讲稿共113页图图4-14 定时定时/计数器计数器T0方式方式3的逻辑结构示意图的逻辑结构示意图 定时器定时器T1T1无工作方式无工作方式3 3,当定时器,当定时器T0T0工作在方式工作在方式3 3时,时,定时器定时器T1T1可设置为方式可设置为方式0 0、方式、方式1 1和方式和方式2 2。第62页,本讲稿共113页 4.4.1应用指导应用指导 1定时定时/计数器的定时计数器的定时/计数范围计数范围 定时定时/计数器工作于不同方式下的位数不同,它所具有的计数范计数器工作于不同方式下的位数不同,它所具有的计数范围也不一样:围也不一样:l 工作方式工作方式0:13位定时位定时/计数方式,因此,最多可以计到计数方式,因此,最多可以计到213,也就是,也就是8192次。次。l 工作方式工作方式1:16位定时位定时/计数方式,因此,最多可计数方式,因此,最多可 以计到以计到216,也就是,也就是65536次。次。l 工作方式工作方式2和工作方式和工作方式3:都是都是8位定时位定时/计数方计数方 式,因此,最多可以计到式,因此,最多可以计到2 8,也就是,也就是256次。次。如果我们需要超过计数器计数范围的定时或计数功能,应该怎样做?如果我们需要超过计数器计数范围的定时或计数功能,应该怎样做?4.44.4定时定时/计数器应用与训练计数器应用与训练第63页,本讲稿共113页 2时间常数初值的计算时间常数初值的计算 定时定时/计数器只要预设一个时间常数初值,就可以完成不超过其计计数器只要预设一个时间常数初值,就可以完成不超过其计数范围的任意大小的计数。算法如下:数范围的任意大小的计数。算法如下:u 定时时间常数初值定时时间常数初值X:方式方式0 X=8192-t(fosc/12)方式方式1 X=65536-

    注意事项

    本文(中断系统和定时计数器精.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开