书签 分享 收藏 举报 版权申诉 / 52
上传文档赚钱

类型[工学]单片机第六章课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3368527
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:52
  • 大小:810.02KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《[工学]单片机第六章课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    工学 单片机 第六 课件
    资源描述:

    1、第第6 6章章 MCS-51 MCS-51的定时的定时/计数器计数器任务六任务六 简易交通信号灯简易交通信号灯6.1 6.1 定时定时/计数器结构与功能计数器结构与功能6.2 6.2 定时定时/计数器相关寄存器计数器相关寄存器6.3 6.3 定时定时/计数器工作方式计数器工作方式6.4 6.4 定时定时/计数器的编程计数器的编程6.5 6.5 定时定时/计数器应用计数器应用任务六任务六 简易交通信号灯简易交通信号灯任务目的任务目的利用单片机的定时器,完成简易交通信号灯的程序设计,学利用单片机的定时器,完成简易交通信号灯的程序设计,学会使用定时器的查询法编程会使用定时器的查询法编程_ _任务描述

    2、任务描述用单片机的用单片机的P0P0口控制口控制6 6只只LED,LED,模拟东西向,南北向模拟东西向,南北向6 6只交通信只交通信号灯,当剩余时间为号灯,当剩余时间为5S5S时绿灯闪亮,为时绿灯闪亮,为3S3S时黄灯亮、时黄灯亮、25S25S时间时间到交通灯换向到交通灯换向1.1.电路原理图电路原理图学习板电路原理图见学习板电路原理图见图图6-16-1所示。所示。2.2.参考程序参考程序FX BIT 00HFX BIT 00HORG 0000HORG 0000HLJMP MAINLJMP MAINORG 000BH ;ORG 000BH ;定时器定时器T0T0中断入口地址中断入口地址返回下一

    3、页任务六任务六 简易交通信号灯简易交通信号灯LJMP SFT0 LJMP SFT0 ORG 0030 H ORG 0030 H MAIN:MOV TMOD,#01H;MAIN:MOV TMOD,#01H;设置定时器为工作方式设置定时器为工作方式1 1MOV TL0,#0B0H ;MOV TL0,#0B0H ;设定时器初值设定时器初值,定时时间定时时间50ms50msMOV TH0,#3CHMOV TH0,#3CHMOV R6,#0 ;MOV R6,#0 ;赋时序初值赋时序初值MOV R7 ,#10 ;MOV R7 ,#10 ;定时器运行次数定时器运行次数,10,10次次,定时定时0.5s0.5

    4、sSETB TR0 ;SETB TR0 ;启动定时器启动定时器SETB EA ;SETB EA ;开中断开中断SETB ET0 SETB ET0 CLR FX CLR FX SJMP$SJMP$SFT0:MOV TL0,#0B0H;SFT0:MOV TL0,#0B0H;真正的中断服务程序真正的中断服务程序 .重新设置重新设置初值初值,定时定时50ms50ms返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯MOV TH0,#3CHMOV TH0,#3CHDJNZ R7,RETN;DJNZ R7,RETN;延时够延时够 0.5s 0.5s吗吗?MOV R7,#10MOV R7,#10J

    5、B FX,E1 ;JB FX,E1 ;判断通行的方向判断通行的方向MOV DPTR,#TAB;MOV DPTR,#TAB;南北通行南北通行N1:MOV A,R6N1:MOV A,R6MOVC A,A+DPTR;MOVC A,A+DPTR;查表查表,取南北通行显示代码取南北通行显示代码MOV P0,A ;MOV P0,A ;输出显示代码输出显示代码INC R6 ;INC R6 ;下一个下一个0.5s0.5s输出输出CJNE R6,#50,RETN ;25sCJNE R6,#50,RETN ;25s显示完毕了吗显示完毕了吗SETB FX ;SETB FX ;设置东西通行标志位设置东西通行标志位MO

    6、V R6,#0 ;MOV R6,#0 ;赋时序初值赋时序初值返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯RETI ;RETI ;中断返回中断返回TAB:DB 7EH 7EH 7EH 7EH 7EH ;TAB:DB 7EH 7EH 7EH 7EH 7EH ;南北向通行显示代码表南北向通行显示代码表DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH

    7、 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH DB 7EH 7EH 7EH 7EH 7EH ;DB 7EH 7EH 7EH 7EH 7EH ;绿灯闪烁绿灯闪烁DB 7EH 7EH 7EH 7EH 7

    8、EH DB 7EH 7EH 7EH 7EH 7EH 返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯TAB1:DB 0DBH 0DBH 0DBH 0DBH 0DBH;TAB1:DB 0DBH 0DBH 0DBH 0DBH 0DBH;东西向通行显示代码东西向通行显示代码表表DB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH

    9、0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBHDB 0DBH 0DBH 0DBH 0DBH 0DBH ;DB 0DBH 0DBH 0DBH 0DBH 0DBH ;绿灯闪烁绿灯闪烁END ;END ;汇编程序结束汇编程序结束3.3.程序仿真及烧录程序仿真及烧录把这段程序在把这段程序在WAV6000WAV6000中编

    10、辑、汇编,用软件仿真运行、调试中编辑、汇编,用软件仿真运行、调试无误,把得到无误,把得到binbin格式或者格式或者hexhex格式的日标文件,通过烧录器格式的日标文件,通过烧录器或者下载线,保存到单片机的程序存储器中。或者下载线,保存到单片机的程序存储器中。返回上一页 下一页任务六任务六 简易交通信号灯简易交通信号灯把单片机插人实验板插座里,上电运行,观察运行结果。把单片机插人实验板插座里,上电运行,观察运行结果。4.4.程序分析程序分析简易交通信号灯,也是按照一定的时序点亮、熄灭信号灯,简易交通信号灯,也是按照一定的时序点亮、熄灭信号灯,因此也可以看成是一种彩灯控制器,因此也可以看成是一种

    11、彩灯控制器,表表6-16-1中列出厂交通信号中列出厂交通信号灯的时序,把它编制成一个表格,按照时序查表,输出,就灯的时序,把它编制成一个表格,按照时序查表,输出,就可以实现交通信号灯的设计。可以实现交通信号灯的设计。在测量控制系统中,常常要求有实时时钟来实现定时测控或在测量控制系统中,常常要求有实时时钟来实现定时测控或延时动作,也会要求有计数器实现对外部事件计数,例如测延时动作,也会要求有计数器实现对外部事件计数,例如测电机转速、频率、脉冲个数等。在单片机应用系统中,实现电机转速、频率、脉冲个数等。在单片机应用系统中,实现定时定时/计数,主要有软件延时和可编程定时计数,主要有软件延时和可编程定

    12、时/计数器计数器2 2种方法。种方法。表表6 62 2(1)(1)软件定时,让机器执行一个程序段,这个程序段本身没有软件定时,让机器执行一个程序段,这个程序段本身没有具体的执行日的,通过正确的挑选指令和安排循环次数实现具体的执行日的,通过正确的挑选指令和安排循环次数实现软件延时,由于执行每条指令都需要时间,执行这一段程序软件延时,由于执行每条指令都需要时间,执行这一段程序所需要的时间就是延时时间,这种软件定时占用所需要的时间就是延时时间,这种软件定时占用CPUCPU的执行时的执行时间,降低厂间,降低厂CPUCPU的工作效率。例如前面帝节中多次用到的的工作效率。例如前面帝节中多次用到的DELAY

    13、DELAY子程序,就是一个典型的软件定时的例子。子程序,就是一个典型的软件定时的例子。返回上一页下一页任务六任务六 简易交通信号灯简易交通信号灯(2)(2)可编程定时可编程定时/计数器,它可以通过软件编程来确硬件定时计数器,它可以通过软件编程来确硬件定时/计数器的功能、运行以及停止,可以用软件确定定时时间,计数器的功能、运行以及停止,可以用软件确定定时时间,使用灵活方便,功能强大。而且硬件定时使用灵活方便,功能强大。而且硬件定时/计数器可以单独运计数器可以单独运行,和行,和CPUCPU并行工作,有利于提高并行工作,有利于提高CPUCPU的工作效率,因而得到的工作效率,因而得到广泛应用,大多数单

    14、片机内部都集成厂可编程硬件定时广泛应用,大多数单片机内部都集成厂可编程硬件定时/计数计数器。器。MCSMCS一一5151单片机内部有两个单片机内部有两个1616位的定时位的定时/计数器计数器TOTO和和TlTl。返回上一页6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能80518051单片机内部有两个单片机内部有两个1616位定时器位定时器/计数器,即定时计数器,即定时/计数器计数器T0T0和定时和定时/计数器计数器T1T1。它们都具有定时和计数功能,可用于。它们都具有定时和计数功能,可用于定时或延时控制,对外部事件进行检测、计数等。其内部结定时或延时控制,对外部事件进行检测、计数

    15、等。其内部结构枢图如构枢图如图图6-26-2所示。所示。定时定时/计数器计数器TOTO由特殊功能寄存器由特殊功能寄存器THO,TLO(THO,TLO(字节地址分别字节地址分别为为8CH8CH和和8AH)8AH)构成,构成,THOTHO为高为高8 8位,位,TLOTLO为低为低8 8位。定时位。定时/计数器计数器T1T1由特殊功能寄存器由特殊功能寄存器TH1,TL1(TH1,TL1(字节地址分别为字节地址分别为8DH8DH和和8BH)8BH)构构成,成,TH1TH1为高为高8 8位,位,TL1TL1为低为低8 8位。其内部还有一个位。其内部还有一个8 8位的定时器位的定时器方式寄存器方式寄存器T

    16、MODTMOD和一个和一个8 8位的定时器控制寄存器位的定时器控制寄存器TCONo TMODTCONo TMOD主要是用于选定定时主要是用于选定定时/计数器的工作模式与工作方式,计数器的工作模式与工作方式,TCONTCON主主要是用于控制定时要是用于控制定时/计数器的启动和停止。这些寄存器之间是计数器的启动和停止。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。通过内部总线和控制逻辑电路连接起来的。下一页返回6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能定时定时/计数器从硬件电路上来说,就是一个计数器从硬件电路上来说,就是一个1616位的加法计数器,位的加法计数器,按照其计

    17、数脉冲的来源不同,分成两种工作模式按照其计数脉冲的来源不同,分成两种工作模式:定时与计数。定时与计数。当当定时定时/计数器工作在定时方式时,输人的时钟脉冲是由晶体计数器工作在定时方式时,输人的时钟脉冲是由晶体振荡器的输出经振荡器的输出经1212分频后得到的,所以定时器也可看作是对分频后得到的,所以定时器也可看作是对单片机机器周期的个数的计数器,当晶体振荡器确定后,机单片机机器周期的个数的计数器,当晶体振荡器确定后,机器周期的时间也就确定厂,这样就实现厂定时功能。以器周期的时间也就确定厂,这样就实现厂定时功能。以12 12 MHzMHz的晶振为例,一个机器周期就是的晶振为例,一个机器周期就是1

    18、us1 us,这是在此晶振周期,这是在此晶振周期下最小的定时时间。下最小的定时时间。上一页 下一页返回6 6.1 .1 定时定时/计数器结构与功能计数器结构与功能当当定时定时/计数器工作在计数方式时,外部事件是通过引脚计数器工作在计数方式时,外部事件是通过引脚TO TO (P3.4)(P3.4)和和T1(P3.5)T1(P3.5)输人的,外部脉冲的下降沿触发计数。当输人的,外部脉冲的下降沿触发计数。当第一个机器周期采样到第一个机器周期采样到引脚引脚P3.4(P3.5)P3.4(P3.5)为高电平,下一个为高电平,下一个机器周期为低电平时,采样到一个下降沿,计数器就加机器周期为低电平时,采样到一

    19、个下降沿,计数器就加1 1。所。所以计数一次至少需要两个机器周期的时间,即外部计数脉冲以计数一次至少需要两个机器周期的时间,即外部计数脉冲的最高频率是晶振频率的的最高频率是晶振频率的1/241/24。例如选用。例如选用12 MHz12 MHz的晶振时,的晶振时,外部计数脉冲的最高频率外部计数脉冲的最高频率是是0.5 MHz0.5 MHz。对外部信号的占空比无。对外部信号的占空比无特殊要求,但为厂确保某给定电平在变化前至少被采样一次,特殊要求,但为厂确保某给定电平在变化前至少被采样一次,则外部计数脉冲的高电平与低电平保持时间均需在一个机器则外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以

    20、上。周期以上。返回上一页6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器5151系列单片机的定时系列单片机的定时/计数器是一种可编程部件,在定时计数器是一种可编程部件,在定时/计计数器开始工作之前,数器开始工作之前,CPUCPU必须将一些命令必须将一些命令(称为控制字称为控制字)写人该写人该定时定时/计数器,这个过程称为定时计数器,这个过程称为定时/计数器的初始化。在初始计数器的初始化。在初始化程序中,要将工作方式控制字写人定时方式寄存器化程序中,要将工作方式控制字写人定时方式寄存器TMODTMOD,工作状态控制字工作状态控制字(或相关位或相关位)写人控制寄存器写人控制寄存器TCO

    21、NoTCONo1.1.定时方式寄存器定时方式寄存器TMODTMOD特殊功能寄存器特殊功能寄存器TMODTMOD为定时为定时/计数器的方式控制寄存器,占用计数器的方式控制寄存器,占用的字节地址为的字节地址为89 H89 H,不可以进行位寻址,如果要定义定时,不可以进行位寻址,如果要定义定时/计计数器的工作方式,需要采用字节操作指令赋值。该寄存器中数器的工作方式,需要采用字节操作指令赋值。该寄存器中每位的定义如下所示。其中高每位的定义如下所示。其中高4 4位用于定时位用于定时/计数器计数器T1T1,低,低4 4位位用于定时器用于定时器/计数计数TOTO。下一页返回6 6.2 .2 定时定时/计数器

    22、相关寄存器计数器相关寄存器下面介绍与定时器下面介绍与定时器/计数计数TOTO相关的相关的TMODTMOD的的4 4低位。低位。(1)GATE(1)GATE门控位。门控位。(GATE)=0(GATE)=0时,用软件使运行控制位时,用软件使运行控制位TRO(TRO(定时定时/计数器控制计数器控制寄存器寄存器TCON.4)TCON.4)置置1 1来启动定时来启动定时/计数器运行计数器运行;(GATE)=1(GATE)=1时,由时,由TROTRO和外部中断引脚和外部中断引脚INTO (P3.2)INTO (P3.2)共同启共同启动定时动定时/计数器运行,只有当二者同时为计数器运行,只有当二者同时为1

    23、1时才进行计数操作。时才进行计数操作。(2)c/T(2)c/T定时、计数模式选择位。定时、计数模式选择位。(C/T)=1(C/T)=1时,为计数方式时,为计数方式;计数器对外部输人引脚计数器对外部输人引脚TO (P3.4)TO (P3.4)的外部脉冲的下降沿计数。的外部脉冲的下降沿计数。(C/T)=0(C/T)=0时,为定时方式。时,为定时方式。返回上一页下一页6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器(3)M1,MO(3)M1,MO工作方式选择位,可通过软件设置选择定时工作方式选择位,可通过软件设置选择定时/计计数器四种工作方式,如数器四种工作方式,如表表6-36-3所示。

    24、所示。2.2.定时器控制寄存器定时器控制寄存器TCONTCONTCONTCON的字节地址为的字节地址为88H88H,可进行位寻址,可进行位寻址(位地址为位地址为88H88H一一8FH)8FH),其具体各位定义如下。其具体各位定义如下。其中其中低低4 4位与外部中断有关,位与外部中断有关,在在5.25.2节已详细介绍,高节已详细介绍,高4 4位的功位的功能如下能如下:上一页 下一页返回6 6.2 .2 定时定时/计数器相关寄存器计数器相关寄存器其中低其中低4 4位与外部中断有关,在位与外部中断有关,在5.25.2节已详细介绍,高节已详细介绍,高4 4位的功位的功能如下能如下:TFO,TFlTFO

    25、,TFl分别为定时分别为定时/计数器计数器TO,TlTO,Tl的计数溢出标志位。的计数溢出标志位。当计数器计数溢出时,该位置当计数器计数溢出时,该位置1 1。编程在使用查询方式时,此。编程在使用查询方式时,此位作为状态位供位作为状态位供CPUCPU查询,查询后由软件清查询,查询后由软件清0;0;使用中断方式时,使用中断方式时,此位作为中断请求标志位,中断响应后由硬件自动清此位作为中断请求标志位,中断响应后由硬件自动清O O。TRO,TR1TRO,TR1分别为定时器分别为定时器TO,TlTO,Tl的运行控制位,可由软件的运行控制位,可由软件置置1 1或清或清O O。(TRO)(TRO)或或(TR

    26、1)=1(TR1)=1,启动定时,启动定时/计数器工作。计数器工作。(TRO)(TRO)或或(TR1)=0(TR1)=0,停止定时,停止定时/计数器工作。计数器工作。返回上一页6.3 6.3 定时定时/计数器工作方式计数器工作方式定时定时/计数器可以通过特殊功能寄存器计数器可以通过特殊功能寄存器TMODTMOD中的控制位中的控制位C/TC/T的的设置来选择定时器方式或计数器方式设置来选择定时器方式或计数器方式;通过通过M1 MOM1 MO两位的设置两位的设置选择四种工作方式,分别为方式选择四种工作方式,分别为方式0 0、方式、方式1 1、方式、方式2 2和方式和方式3 3。1.1.工作方式工作

    27、方式0 0当当M1 MOM1 MO为为0000时,定时时,定时/计数器选定为方式计数器选定为方式0 0工作。在这种方式工作。在这种方式下,下,1616位寄存器位寄存器(由特殊功能寄存器由特殊功能寄存器TLOTLO和和THOTHO组成组成)只用厂只用厂1313位,位,TLOTLO的高的高3 3位未用,由位未用,由THOTHO的的8 8位和位和TLOTLO低低5 5位组成一个位组成一个1313位位的定时的定时/计数器,其最大的计数次数应为计数器,其最大的计数次数应为2 21313次。如果单片机采次。如果单片机采用用12 MHz12 MHz晶振,机器周期为晶振,机器周期为1 us1 us,则该定时器

    28、的最大定时时,则该定时器的最大定时时间为间为23,s23,s。方式。方式0 0并没有充分利用并没有充分利用1616位计数寄存器的计数位计数寄存器的计数范围,这是为厂与范围,这是为厂与MCS-48MCS-48系列单片机兼容而设计的。工作方系列单片机兼容而设计的。工作方式式0 0的逻辑结构图如的逻辑结构图如图图6-36-3所示所示)下一页返回6.3 6.3 定时定时/计数器工作方式计数器工作方式图图6-36-3中,中,C/TC/T为定时为定时/计数选择位,计数选择位,C/T=0,T0(T1)C/T=0,T0(T1)为定为定时器,定时信号为振荡周期时器,定时信号为振荡周期1212分频后的脉冲分频后的

    29、脉冲;C/T=1,TO ;C/T=1,TO (T1)(T1)为计数器,计数信号来自引脚为计数器,计数信号来自引脚TO(T1)TO(T1)的外部信号。的外部信号。当当(GATE)=0(GATE)=0时,只要时,只要TCONTCON中的启动控制位中的启动控制位TROTRO为为1 1,由,由TLOTLO和和THOTHO组成的组成的1313位计数器就开始计数。位计数器就开始计数。当当(GATE)=1(GATE)=1时,由时,由TRO (TR1)TRO (TR1)与外部引脚与外部引脚INTO(INT1)INTO(INT1)即即P3.2(P3.3)P3.2(P3.3)共同控制定时共同控制定时/计数器的工作

    30、。此时不仅计数器的工作。此时不仅(TRO)(TRO)=1=1,而且还需要,而且还需要INTO(INTl)INTO(INTl)引脚引脚1 1才能使计数器工作,即才能使计数器工作,即INTO INTO (INT1)(INT1)当由当由0 0变变1 1时,开始计数,由时,开始计数,由1 1变变0 0时,停止计数,这样时,停止计数,这样可以用来测量在可以用来测量在INTO(INT1)INTO(INT1)端的脉冲高电平的宽度。端的脉冲高电平的宽度。上一页下一页返回6.3 6.3 定时定时/计数器工作方式计数器工作方式当当1313位计数器加位计数器加1 1到全为到全为1 1后,再加后,再加1 1就会产生溢

    31、出,溢出使就会产生溢出,溢出使TCONTCON的溢出标志位的溢出标志位TFOTFO自动置自动置1 1,向,向CPUCPU申请中断,同时计数器申请中断,同时计数器THO(8THO(8位位)TLO()TLO(低低5 5位位)变为全变为全0 0,如果要循环定时,必须要用软,如果要循环定时,必须要用软件重新装人初值。件重新装人初值。2.2.工作方式工作方式1 1当当M 1 MOM 1 MO为为O1O1时,定时器选定为方式时,定时器选定为方式1 1工作。在这种工作方式工作。在这种工作方式下,由特殊功能寄存器下,由特殊功能寄存器TLOTLO和和THOTHO组成一个组成一个1616位的定时位的定时/计数器,

    32、计数器,其最大的计数次数应为其最大的计数次数应为 次。如果单片机采用次。如果单片机采用12 MHz12 MHz晶振,晶振,则该定时器的最大定时时间为则该定时器的最大定时时间为 us us。工作方式。工作方式1 1的逻辑结构的逻辑结构图如图如图图6-46-4所示。除厂计数位数不同外,方式所示。除厂计数位数不同外,方式1 1与方式与方式0 0的工作的工作过程相同。过程相同。下一页 返回上一页6.3 6.3 定时定时/计数器工作方式计数器工作方式3.3.工作方式工作方式2 2当当M 1 MOM 1 MO为为1010时,定时器选定为方式时,定时器选定为方式2 2工作,方式工作,方式2 2是能自动重置是

    33、能自动重置初值的初值的8 8位定时位定时/计数器。方式计数器。方式0 0、方式、方式I I若用于循环重复定时计数若用于循环重复定时计数时时(如产生连续脉冲信号如产生连续脉冲信号),每次计数已满溢出时,每次计数已满溢出时0 0,寄存器全部为,寄存器全部为0 0,第二次计数还得重新装人计数初值。这样不仅在编程时麻烦,第二次计数还得重新装人计数初值。这样不仅在编程时麻烦,而且影响定时时间精度。而方式而且影响定时时间精度。而方式2 2有自动恢复初值有自动恢复初值(初值自动再装初值自动再装人人)功能,避免厂上述缺陷,适合用作较精确的定时脉冲信号发生功能,避免厂上述缺陷,适合用作较精确的定时脉冲信号发生器

    34、。器。在在这种方式下,这种方式下,8 8位寄存器位寄存器TLOTLO作为计数器,作为计数器,TLOTLO和和THOTHO装人相同的装人相同的初值,当计数溢出时,在置初值,当计数溢出时,在置1 1溢出中断标志位溢出中断标志位TFOTFO的同时,的同时,THOTHO返回下一页上一页6.3 6.3 定时定时/计数器工作方式计数器工作方式的初值自动重新装人的初值自动重新装人TLOoTLOo在这种工作方式下其最大的计数次数在这种工作方式下其最大的计数次数应为应为 次。如果单片机采用次。如果单片机采用12 MHz12 MHz晶振,则该定时器的最大晶振,则该定时器的最大定时时间为定时时间为 us us。工作

    35、方式。工作方式2 2的逻辑结构图如的逻辑结构图如图图6-56-5所示。所示。4.4.工作方式工作方式3 3当当M 1 MOM 1 MO为为1111时,定时器选定为方式时,定时器选定为方式3 3工作。方式工作。方式3 3只适用于定只适用于定时时/计数器计数器TOTO,定时,定时/计数器计数器T1T1如果设定工作方式如果设定工作方式3,3,那么那么T1T1是停是停止工作的。止工作的。定时定时/计数器计数器TOTO分为两个独立的分为两个独立的8 8位计数器位计数器:TLO:TLO和和THOTHO,其逻辑,其逻辑结构如结构如图图6-66-6所示,所示,TLOTLO使用使用TOTO的状态控制位的状态控制

    36、位C/T,GATE,C/T,GATE,TRO,TOTRO,TO引脚和引脚和INTOINTO引脚,除厂仅用引脚,除厂仅用8 8位寄存器位寄存器TLOTLO外,其功能外,其功能和操作与方式和操作与方式0 0、方式、方式1 1完全相同,可定时亦可计数。完全相同,可定时亦可计数。返回上一页 下一页6.3 6.3 定时定时/计数器工作方式计数器工作方式而而THOTHO被固定为一个被固定为一个8 8位定时器位定时器(不能作外部计数方式不能作外部计数方式),并使,并使用定时器用定时器T1T1的状态控制位的状态控制位TR1TR1和和TF1TF1,同时占用定时器,同时占用定时器T1T1的中的中断源。方式断源。方

    37、式3 3为定时为定时/计数器计数器TOTO增加了一个增加了一个8 8位定时器。位定时器。一般情况下,当定时器一般情况下,当定时器T1T1用作串行口的波特率发生器时,定用作串行口的波特率发生器时,定时时/计数器计数器TOTO才工作在方式才工作在方式3 3。当定时器。当定时器TOTO处于工作方式处于工作方式3 3时,时,定时定时/计数器计数器T1T1可定为方式可定为方式0 0、方式、方式1 1和方式和方式2 2,作为串行口的,作为串行口的波特率发生器或不需要中断的场合。波特率发生器或不需要中断的场合。如果定时如果定时/计数器计数器TOTO处于工作方式处于工作方式3 3,定时器,定时器T1T1工作在

    38、方式工作在方式2 2,我们看到我们看到5151单片机有厂单片机有厂3 3个定时器。个定时器。返回上一页6.4 6.4 定时定时/计数器的编程计数器的编程1.1.初值的计算初值的计算MCS-51MCS-51的定时的定时/计数器是加法计数器,也就是说,当运行于定计数器是加法计数器,也就是说,当运行于定时器方式时,每隔一个机器周期定时器自动加时器方式时,每隔一个机器周期定时器自动加1 1,当运行于计,当运行于计数器方式时,每当引脚出现下降沿,计数器自动加数器方式时,每当引脚出现下降沿,计数器自动加1 1。无论是。无论是作定时用还是计数用,当作定时用还是计数用,当TOTO或或T1T1加满溢出后,定时器

    39、回零,加满溢出后,定时器回零,标志位自动置标志位自动置toto显然当计数的初值是显然当计数的初值是0 0的时候,计数次数最大,的时候,计数次数最大,定时时间也最长。随着初值的增大,计数次数逐渐减少。要定时时间也最长。随着初值的增大,计数次数逐渐减少。要想确定计数次数和定时时间,必须要确定初值。那么,怎样想确定计数次数和定时时间,必须要确定初值。那么,怎样确定定时或计数初值确定定时或计数初值(又称为时间常数又称为时间常数),以便达到要求的定,以便达到要求的定时时间或计数值呢时时间或计数值呢?下面作简要介绍。下面作简要介绍。设设TO(TO(或或T1)T1)运行于计数器方式,其加满溢出的值就是计数器

    40、运行于计数器方式,其加满溢出的值就是计数器的模,显然的模,显然返回下一页6.4 6.4 定时定时/计数器的编程计数器的编程计数初值计数初值+计数次数计数次数=模模计数次数计数次数=模一计数初值模一计数初值(6-1)(6-1)TO(TO(或或T1)T1)运行于定时器方式,其实质就是对机器周期计数,运行于定时器方式,其实质就是对机器周期计数,故故 定时时间定时时间=(=(模一计数初值模一计数初值)x)x机器周期机器周期 (6-2)(6-2)定时定时/计数器的计数器的4 4种工作方式的模是不相同的,应用时需要具种工作方式的模是不相同的,应用时需要具体计算。体计算。(1)(1)工作方式工作方式O O。

    41、由于工作方式。是由于工作方式。是1313位定时器,其模为位定时器,其模为213-8 192213-8 192计数计算公式计数计算公式:计数次数计数次数=8 192=8 192一计数初值一计数初值定时计算公式定时计算公式:定时时间定时时间=8 1928 192一计数初值一计数初值)x)x机器周期机器周期返回上一页 下一页6.4 6.4 定时定时/计数器的编程计数器的编程(2)(2)工作方式工作方式1 1。由于工作方式。是由于工作方式。是1616位定时器,其模为位定时器,其模为26-65 53626-65 536计数计算公式计数计算公式:计数次数计数次数=65 536-=65 536-计数初值计数

    42、初值定时计算公式定时计算公式:定时时间定时时间=(65 536-=(65 536-计数初值计数初值)x)x机器周期机器周期(3)(3)工作方式工作方式2 2和工作方式和工作方式3 3。由于工作方式由于工作方式2 2和工作方式和工作方式3 3是是8 8位定时器,其模为位定时器,其模为2=2562=256计数计算公式计数计算公式:计数次数计数次数=256-=256-计数初值计数初值定时计算公式定时计算公式:定时时间定时时间=(256-=(256-计数初值计数初值)x)x机器周期机器周期2.2.查询方式编程查询方式编程定时定时/计数器在查询方式下的编程步骤如下计数器在查询方式下的编程步骤如下:(1

    43、1)关中断)关中断;(EA,ETO;(EA,ETO或或ET1ET1清清0)0)。(2 2)设置工作方式和工作模式)设置工作方式和工作模式(TMOD(TMOD初始化初始化)。返回上一页 下一页6.4 6.4 定时定时/计数器的编程计数器的编程(3)(3)设置定时设置定时/计数初值计数初值;(THO,TLoTHO,TLo或或TH1,TL1TH1,TL1赋初值赋初值)。(4)(4)启动定时启动定时/计数计数;(TR0;(TR0或者或者TR1TR1置置1)1)。(5)(5)查询查询TF0TF0或或TF1TF1及相关处理。及相关处理。3.3.中断方式编程中断方式编程定时定时/计数器在中断方式下的编程步骤

    44、如下计数器在中断方式下的编程步骤如下:(1)(1)设置中断优先级设置中断优先级(设置设置PTOPTO或或PTl)PTl)。(2)(2)设置工作方式和工作模式设置工作方式和工作模式(TMOD(TMOD初始化初始化)。(3)(3)设置定时设置定时/计数初值计数初值;(TH0,TL0;(TH0,TL0或或TH1,TL1TH1,TL1赋初值赋初值)。(4)(4)启动定时启动定时/计数计数;(TRO;(TRO或者或者TR1TR1置置1)1)。(5)(5)开中断开中断;(EA,ETO;(EA,ETO或或ET1ET1置置1)1)。(6)(6)编写定时编写定时/计数中断处理程序。计数中断处理程序。返回上一页6

    45、.5 6.5 定时定时/计数器应用计数器应用定时定时/计数器是单片机应用系统中的重要部件,其工作方式的计数器是单片机应用系统中的重要部件,其工作方式的灵活应用对提高编程技巧、减轻灵活应用对提高编程技巧、减轻CPUCPU负担和简化外围电路有很负担和简化外围电路有很大益处。本节将通过应用实例,说明定时大益处。本节将通过应用实例,说明定时/计数器的使用方法。计数器的使用方法。使用定时使用定时/计数器时必须计算初值,前面已经介绍厂定时计数器时必须计算初值,前面已经介绍厂定时/计计数器通过软件对数器通过软件对TMODTMOD的的M1M0M1M0位赋值可以有四种工作方式,其位赋值可以有四种工作方式,其中方

    46、式中方式3 3应用比较少,现在以方式应用比较少,现在以方式0 0、方式、方式1 1和方式和方式2 2为例,介为例,介绍绍MCS-51MCS-51单片机定时单片机定时/计数器的应用。计数器的应用。例例6-16-1假设系统时钟频率采用假设系统时钟频率采用12 MHz12 MHz,定时,定时/计数器计数器TOTO工作工作在方式。,在方式。,实现由实现由P1.0P1.0引脚输出引脚输出 100 Hz 100 Hz的方波。的方波。分析分析:返回下一页6.5 6.5 定时定时/计数器应用计数器应用(1)(1)首先计算定时时间。首先计算定时时间。100 Hz100 Hz方波周期为方波周期为10ms10ms,

    47、高低电平各,高低电平各5ms5ms。因此定时器每定时。因此定时器每定时5ms5ms,将,将Pl.0Pl.0取反一次,即可以得到取反一次,即可以得到频率是频率是100 Hz100 Hz的方波信号。的方波信号。(2)(2)计算计数初值。计算计数初值。由于工作方式由于工作方式0 0是是1313位定时器,其模为位定时器,其模为213-8 192213-8 192定时时间定时时间=(8192=(8192一计数初值一计数初值)X)X 机器周期机器周期计数初值计数初值=8192=8192一定时时间一定时时间 X fosc/12 X fosc/12 =8192 =8192一一5 000 X 12/125 00

    48、0 X 12/12 =0C78H =0C78H =1100011110008 =1100011110008由于工作方式由于工作方式0 0是是1313位定时器,而且是使用的位定时器,而且是使用的THOTHO的全部的全部8 8位和位和TLOTLO的低的低5 5位。因此并不能把位。因此并不能把OC78HOC78H直接赋值给直接赋值给THOTHO和和TLOTLO,应当,应当做如下处理做如下处理:返回上一页下一页6.5 6.5 定时定时/计数器应用计数器应用把计算出来的计数初值换算成二进制数,取低把计算出来的计数初值换算成二进制数,取低5 5位,在其高位位,在其高位扩展扩展3 3个个0,0,补足补足8

    49、8位位;把整个二进制数在高位补把整个二进制数在高位补0 0,补足,补足1616位,位,于是把于是把OC78HOC78H处理得到处理得到:01100011,00011000B:01100011,00011000B,高,高8 8位赋给位赋给THOTHO,低低8 8位赋给位赋给TLOTLO。最后装人的初值为。最后装人的初值为:(THO)=63 H (THO)=63 H,(TLO)=18H(TLO)=18H。(3)(3)设置设置TMODTMOD。由于是对。由于是对TOTO的工作方式进行选择,故此需要设的工作方式进行选择,故此需要设置低置低4 4位位 定时器模式,定时器模式,C/T=0;C/T=0;工作

    50、方式工作方式0,M1M00,M1M0的组合为的组合为00,00,与外部脉冲无关,与外部脉冲无关,GATEGATE为。为。(4)(4)编写程序如下编写程序如下(查询方式查询方式):):返回上一页 下一页6.5 6.5 定时定时/计数器应用计数器应用ORG 0000HORG 0000HLJMP MAINLJMP MAINMAIN:CLR EA ;MAIN:CLR EA ;关中断关中断MOV TM0D,#00H;MOV TM0D,#00H;设置设置T0T0的工作模式与工作方式的工作模式与工作方式MOV TH0,#63H;MOV TH0,#63H;装计数初值装计数初值MOV TL0,#18HMOV T

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[工学]单片机第六章课件.ppt
    链接地址:https://www.163wenku.com/p-3368527.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库