MCS51单片机定时计数器.ppt
《MCS51单片机定时计数器.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机定时计数器.ppt(44页珍藏版)》请在三一办公上搜索。
1、定时/计数器的结构定时/计数器的工作方式定时/计数器的应用单片机音乐,第6章定时/记数器,本章内容,Single Chip Microcomputer,概述,通常采用以下三种方法来实现定时或计数:1硬件法 硬件定时功能完全由硬件电路完成,不占用CPU时间。但当要求改变定时时间时,只能通过改变电路中的元件参数来实现,很不灵活。2软件法 软件定时是执行一段循环程序来进行时间延时,优点是无额外的硬件开销,时间比较精确。但牺牲了CPU的时间。3可编程定时器计数器,MSC-51单片机定时/计数器的结构,返回,定时电路集成在芯片中,称为定时器/计数器。MCS-51的单片机内有两个16位可编程的定时器/计数
2、器,分别称为定时器/计数器0和定时器/计数器1,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。,图-:定时/计数器结构,定时器/计数器的控制寄存器,1工作方式控制寄存器(TMOD),GATE:门控位。GATE=0 启动不受/INT0或/INT1的控制;GATE=1 启动受/INT0 或/INT1 的控制。C/:外部计数器/定时器方式选择位。C/=0 定时方式;C/=1 计数方式。M1M0:工作模式选择位。M1 M0 模式 说明 0 0 0 13位定时/计数器,高八位TH(7 0)+低五位TL(4 0)0 1 1 16位定时
3、/计数器,TH(7 0)+TL(7 0)1 0 2 8位计数初值自动重装,TL(7 0)TH(7 0)1 1 3 T0运行,而T1停止工作,8位定时/计数。,定时/计数器控制寄存器(TCON),TR0:定时/计数器0运行控制位。软件置位,软件复位。与GATE有关,分两种情况:GATE=0 时:若TR0=1,开启T0计数工作;若TR0=0,停止T0计数。GATE=1 时:若TR0=1 且/INT0=1时,开启T0计数;若TR0=1 但/INT0=0,则不能开启T0计数。若TR0=0,停止T0计数。TR1:定时/计数器1运行控制位。用法与TR0类似。,定时器/计数器的工作方式,定时/计数器工作方式
4、,工作方式0是13位计数结构的工作方式,其计数器由TH的全部8位和TL的低5位构成,TL的高3位没有使用。当C/T=0时,多路开关接通振荡脉冲的12分频输出,13位计数器以次进行计数。这就是定时工作方式。当C/T=1时,多路开关接通计数引脚(To),外部计数脉冲由银南脚To输入。当计数脉冲发生负跳变时,计数器加1,这就是我们常称的计数工作方式,图-2:定时/计数器工作方式0逻辑结构,在工作方式0下,计数器的计数值由下式确定:213-X=8192-X计数值范围是:18192(213)定时器的定时值由下式确定:T=N*Tcy=(8192-X)*Tcy,2.定时/计数器工作方式1,当M1,M0=01
5、时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路如图所示,可以看出,方式0和方式1的区别仅在于计数器的位数不同,方式0为13位,方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字与方式0相同。则只需将工作方式0的计算公式中的213改为216就可得到工作方式1的计数值计算公式和定时时间计算公式。,图-:定时/计数器工作方式逻辑结构,3定时/计数器工作方式2,当M1,M0=10时,定时/计数器处于工作方式2,此时,定时/及数器的等效电路如图所示,图-:定时/计数器工作方式逻辑结构,具有自动重装载功能,即自动加载计数初值,在这种工作方式中,16位计数器分为两部分,以TL
6、0为计数器,以TH0作为预置寄存器,当计数溢出时,TH以硬件方法自动给计数器TL0重新加载。,工作在方式下,计数器的计数值由下式确定:28-X=256-X 计数范围为:1256 定时器的定时值由下式确定:T=N*Tcy=(256-X)*Tcy,定时/计数器工作方式,当M1,M0=10时,定时/计数器处于工作方式2,此时,定时/及数器的等效电路如图所示,图-5:定时/计数器工作方式3等效电路,工作方式3只适用于定时/计数器T0。当T0工作在方式3时,TH0和TL0被分为两个独立的8位计数器。TL0可作为定时器或计数器使用,占用了T0本身的控制信号TF0和TR0。TH0只能作为定时器使用,且占用了
7、定时/计数器T1的两个控制信号TR1和TF1。当T0工作于方式3时,T1只能工作在方式0、方式1或方式2,并且由于已没有计数溢出标志位TF1可供使用,只能把计数溢出直接送给串行口,作串行口的波特率发生器使用。等效电路图如下,图-:方式下的作为波特率发生器等效电路,TH1(8位),TL1(8位或5位),12分频,OSC,TL1(8位),TH1(8位),12分频,OSC,C/T=0,C/T=1,C/T=0,C/T=1,串行口,串行口,T1(P3.5),T1(P3.5),T1工作方式0(或1),T1工作方式2,定时/计数器应用举例,在使用定时/计数器时,应做好四件事:设置TMOD以选择工作方式;计算
8、并设置计数初值THX,TLX;设置IE、IP以规定中断的开放/禁止及优先级;设置TCON以启动/停止定时/计数器的工作。,工作方式的应用【例】设单片机晶振频率fosc=6MHZ,使用定时器1以方式0产生周期为600s的等宽方波脉冲,并由P1.7输出,以查询方式完成。解:(1)计算计数初值欲产生周期为600s的等宽方波脉冲,只需在P1.7端以300s为周期交替输出高低电平即可,因此定时时间应为300s。设待求计数初值为N,则:(213-N)210-6=30010-6N=8042=1F6AH将低5位01010B=0A写入TL1,将高8位有效值11111011B=FBH写入TH1中。,(2)TMOD
9、初始化为把定时/计数器1设定为方式0,则M1M0=00。为实现定时功能应使C/=0,为实现定时器启动应使GATE=0,因此设定工作方式控制寄存器TMOD=00H。(3)由TR1启动和停止定时器TR1=1为启动,TR1=0为停止参考程序如下:ORG 1000H START:MOV TCON,#00H;清TCON MOV TMOD,#00H;工作方式设定 MOV TH1,#0FBH;计数初值设定 MOV TL1,#0AH,MOV IE,00H;关中断 SETB TR1;启动TR1LOOP0:JBC TF1,LOOP1;查询是否溢出 SJMP LOOP0LOOP1:MOV TH1,#0FBH;重设初
10、值 MOV TL1,#0AH CPL P1.7;输出取反 SJMP LOOP0 END,工作方式应用【例】已知某生产线的传送带上不断地有产品单向传送,产品之间有较大间隔,如图6-6所示。使用光电开关统计一定时间内的产品个数。假定红灯亮时停止统计,红灯灭时才在上次统计结果的基础上继续统计,试用单片机定时/计数器T1的方式1完成该项产品的计数任务。解:(1)初始化:GATE=1,C/T=1,M0M1=01,故TMOD=11010000B=0D0H,TCON=00(2)T1在方式1时,溢出产生中断,且计数器回零,故在中断服务程序中,需用R0计数中断次数,以保护累积计数结果。(3)启动T1计数,开T1
11、中断。,参考程序如下:ORG 0000H AJMP START ORG 001BH AJMP T1INT ORG 0100HSTART:MOV SP,#60H MOV TCON,#00H MOV TMOD,#0D0H MOV TH1,#0FFH,图-:产品传送带原理图,MOV TL1,#0FFH MOV R0,#00H MOV P3,#28H;置P3.5,P3.3为输入状态 SETB TR1 SETB ET1 SETB EA MAIN:LCALL DISP ORG 0A00H,T1INT:INC R0 MOV TH1,#0FFH MOV TL1,#0FFH RETI DISP:RET END,
12、工作方式的应用【例】使用定时器T0以方式2产生200微秒定时,在P1.0输出周期为400微秒的连续方波。已知晶振频率fosc=6MHz。(1)计算计数初值(256-N)210-6=20010-6 N=156=9CH(2)TMOD初始化工作方式2时,M1M0=10,实现定时功能C/=0,GATE=0。定时器1不用,无关位设定为0,可得TMOD=02H。参考程序如下:ORG 000BHLJMP LOOP0ORG 0200H,START:MOV TCON,#00H MOV TMOD,#02H;定时器方式2 MOV TH0,#9CH;计数初值 MOV TL0,#9CH SETB EA;允许总中断 SE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 定时 计数器

链接地址:https://www.31ppt.com/p-5439682.html