机械系统微机控制6

上传人:wt****50 文档编号:50650636 上传时间:2018-08-09 格式:PPT 页数:40 大小:518.50KB
返回 下载 相关 举报
机械系统微机控制6_第1页
第1页 / 共40页
机械系统微机控制6_第2页
第2页 / 共40页
机械系统微机控制6_第3页
第3页 / 共40页
机械系统微机控制6_第4页
第4页 / 共40页
机械系统微机控制6_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《机械系统微机控制6》由会员分享,可在线阅读,更多相关《机械系统微机控制6(40页珍藏版)》请在金锄头文库上搜索。

1、机械系统微机控制王志刚 机械系机电教研室 EmailEmail: *5 定时/计数器5.1 定时/计数器0和15.3 定时/计数器的应用机械系统微机控制5.2 定时/计数器25.1 定时/计数器0和15.1.1 定时/计数器的结构及功能5.1.2 定时/计数器0和1的控制状态寄存器5.1.3 T0和T1的4种工作模式机械系统微机控制主页5.1.1 定时/计数器的结构及功能1、定时/计数器的结构微处理器 (CPU)TH1TMODTCONTL0TH0TL1T1部分T0部分P3.5(T1)P3.4(T0)图5-1 定时/计数器的结构机械系统微机控制2、T0和T1的功能选择(1)计数功能就是对外部事件

2、进行计数。计数脉冲来自相应 的外部输入引脚T0(P3.4)或T1(P3.5)。当输入 信号发生由1至0的负跳变时,计数器(TH0, TL0或TH1,TL1)的值增1。计数的最高频率一 般为振荡频率的1/24。(2)定时功能也是通过计数实现的。计数脉冲来自内部时钟 脉冲,每个机器周期计数值增1,每个机器周期 =12个振荡周期,因此计数频率为振荡频率的 1/12。所以计数值乘以机器周期就是定时时间 。机械系统微机控制5.1.2 定时/计数器0和1的控制状态寄存器 1、模式控制寄存器TMOD格式如下:(1)GATE位:门控位。当GATE=1时只有INT0(P3.2)或INT1(P3.3)为高电平且T

3、R0或TR1置1时,相应的定时/计数器才被选通工作,可用于测量在INTX端出现的正脉冲的宽度;当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通。GATE C/T M1 M0 GATE C/T M1 M0控制T1控制T0机械系统微机控制(2)C/T位:计数/定时功能选择位。C/T=0,设置位定时器方式,计数器的输入是内部时钟脉冲,其周期等于机器周期。C/T=1,设置为计数器方式,计数器输入来自T0(P3.4)或T1(P3.5)端外部脉冲。M1、M0位:工作模式选择位。2位形成4种编码,对应4种工作模式。见表5-1。机械系统微机控制模式1。TLX与THX构成16位计数器。计满溢出时,

4、16位计 数器回零。模式2。8位自动重装载的定时/计数器,每当计数器TLX 溢出时,THX中的内容重新装载到TLX。表5-1 定时/计数器工作模式M1 M0功 能 描 述0 0模式0。TLX中低5位与THX中的8位构成13位计数器。计满 溢出时,13位计数器回零。0 11 01 1模式3。对定时器0,分成2个8位计数器,对于定时器1, 停止计数。TMOD寄存器的单元地址为89H,不能位寻址。机械系统微机控制2、控制寄存器TCON格式如下:TF1位:定时器1溢出标志位。当定时/计数器1溢出时,由硬件置1。在查询 方式时,做状态位供查询,查询有效后由软 件清零;在中断方式时,做中断申请标志位 进入

5、中断服务后由硬件自动清零。TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0机械系统微机控制TR1位:定时器1运行控制位。由软件置位或清零,置位时,定时/计数器接通工作;清零时,停止工作。TF0位:定时器零溢出标志位,同TF1。TR0位:定时器零运行控制位,同TR1。字节地址为88H,位地址为88H8FH。机械系统微机控制3、定时/计数器的初始化(1)对TMOD赋值,以确定定时器的工作模式;(2)置定时/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1;(3)根据需要,对IE置初值,开放定时器中断;(4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位

6、以后,计数器即按规定的工作模式和初值进行计数或开始定时。机械系统微机控制初值计算:设计数器的最大值为M,则置入的初值X为:计数方式:X=M-计数值定时方式:由(M-X)T=定时值,得X=M-定时值/TT为计数周期,是单片机的机器周期。(模式0 M为213,模式1 M为216,模式2和3 M为28 )例如:机器周期为1s 时,工作在模式0,则最 大定时值为:2131s =8.192ms若工作在模式1,则最大定时值为:2161s =65.536ms机械系统微机控制5.1.3 T0和T1的4种工作模式1、模式0TL1 TH1 (5位)(8位)TF11T1引脚1振荡器12TR1GATEINT1引脚控制

7、C/T=0C/T=1中断图5-3 定时/计数器1工作模式0(13位计数器)机械系统微机控制P3.5P3.32、模式1TL1 TH1 (8位)(8位)TF11T1引脚1振荡器12TR1GATEINT1引脚控制C/T=0C/T=1中断机械系统微机控制3、模式2TL1 (8位)TF11T1引脚1振荡器12TR1GATEINT1引脚控制C/T=0C/T=1中断TH1 (8位)重装载图5-4 定时/计数器1工作模式2(8位自动装载模式)机械系统微机控制TLX+1THX TLX 1 TFXTLX= 0?NY4、模式3TL0 (8位)1T0引脚1振荡器12TR0GATEINT0引脚控制C/T=0 C/T=1

8、TF0中断1/12fOSC1/12fOSC1/12fOSC控制TR1TH0 (8位)TF1中断图5-5 定时/计数器0工作模式3(2个8位计数器)机械系统微机控制8位定时器(T)5.2 定时计数器2-52子系列单片机有一个具有自动重装载和捕获能力的16位定时/计数器2,简称T2。在特殊功能寄存器组里,有5个SFR与T2有关:控制寄存器T2CON 、捕获寄存器RCAP2H和RCAP2L、定时寄存器高低 字节TH2和TL2。5.2.1 T2控制寄存器T2CONTF2(T2CON.7)位:T2溢出标志位。T2计数溢出时 置位,并申请中断。该位只能靠软件清零。但在 波特率发生器方式下,T2溢出不置位。

9、TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T CP/RL2机械系统微机控制主页EXF2(T2CON.6)位:T2外部触发中断标志位。当EXEN2=1且T2EX引脚出现负跳变而造成捕获或 重装载时,EXF2置位,并申请中断。该位只能 靠软件清零。RCLK(T2CON.5)位:接收时钟选择位。靠软件置 1或清0,以选择T2或T1做串行口接收波特率发 生器。1:选择T2,0:选择T1。TCLK(T2CON.4)位:发送时钟选择位。靠软件置 1或清0,以选择T2或T1做串行口发送波特率发 生器。1:选择T2,0:选择T1。EXEN2(T2CON.3)位:T2外部触发允许标志。靠机械

10、系统微机控制软件置1或清0。当EXEN2=1时,若T2未用做串行口波特率发生器,则在T2EX引脚出现负跳变时,将造成T2捕获或重装载操作,并置EXF2位, 请求中断;EXEN2=0时,T2EX引脚信号不起作用 。TR2(T2CON.2)位:T2的运行控制位,由软 件置位或清零。TR2=1,启动T2运行, TR2=0,关闭T2。C/T(T2CON.1)位:定时/计数方式选择位 。C/T=1时,对T2CLK外引脚脉冲计数; C/T=0时,对内部机器计数。机械系统微机控制CP/RL2(T2CON.0)位:捕获重装载标志位。CP/RL2=1时,选择捕获功能,此时若EXEN2=1,且T2EX引脚出现负跳

11、变,则发生捕获操作,即把 TH2及TL2内容传送给RCAP2H及RCAP2L;当CP/RL2=0时,选择重装载操作,此时T2溢出或EXEN2=1条件下,有T2EX负跳变,都会产生重装 载操作,即把RCAP2H及RCAP2L内容传送给TH2及 TL2。当RCLK=1或TCLK=1时,该位不起作用。机械系统微机控制5.2.2 定时/计数器T2的工作方式T2有两种工作方式:定时/计数器方式和波特率发 生器方式。1、T2的定时/计数器工作方式机械系统微机控制T2定时/计数方式下的逻辑如图所示。在该方式下,C/T2决定是定时方式还是计数方式。C/T2=0时,对机器周期计数,作定时器使用;当C/T2=1时

12、,对T2CLK引脚脉冲计数,用作计数器。该方式与T0和T1完全一样。CP/RL2用来选择捕获还是重装载。捕获时,数据由TH2及TL2传送给RCAP2H及RCAP2L;重装 载时,数据传送方向与之相反。捕获或重装载发生在下述情况之下:(1)T2计数溢出时,若CP/RL2=0,则捕获。机械系统微机控制(2)当EXEN2=1且T2EX引脚出现负跳变时,根据CP/RL2是0还是1,产生捕获或重装载操作。若T2的中断是被允许的,则T2计数溢出或捕获及重装载都会引发T2中断。T2的中断标志必 须由软件清除。2、波特率发生器方式当RCLK=1或TCLK=1时,T2工作在波特率发生器方式,此时的T2逻辑框图如

13、图5-7所示。此时的计数脉冲来源由C/T2决定,而此时的CP/RL2位将不起作用。机械系统微机控制机械系统微机控制5.3 定时/计数器的应用5.3.1 定时/计数器模式0的应用5.3.2 定时/计数器模式1的应用5.3.3 定时/计数器模式2的应用5.3.4 定时/计数器门控位GATE的应用5.3.5 运行中读定时/计数器机械系统微机控制主页5.3.1 定时/计数器模式0的应用【例5-1 】试利用T0产生周期为1ms、宽度为一个机器周期的负脉冲串,并由P1.0送出。 设系统晶振为12MHz,则计数频率为1MHz。设计数初值为X,则由(M-X)T=定时值即(213-X)10-6=110-3得:X

14、=7192=1110000011000B。高8位给TH0,低5位给TL0,则TH0=0E0H,TL0=18H。机械系统微机控制采用查询方式,编程如下:MOV TMOD,00H ;设置定时器0模式0MOV TH0,0E0H ;设置计数初值MOV TL0,18HSETB TR0 ;启动定时器0T0INT:JNB TF0,T0INTCLR TF0SETB P1.0CLR P1.0MOV TH0,0E0H ;用软件重新装载T0MOV TL0,18HSJMP T0INT机械系统微机控制5.3.2 定时/计数器模式1的应用【例5-2】利用T0模式1产生一个50Hz的方波,由 P1.0输出。设系统晶振为12

15、MHZ,则计数频率为1MHZ,计数器初值为X,由(M-X)T=定时值(216-X)10-6=1/(502)得:X=55536=0D8F0H。高8位0D8H给TH0,低8位0F0H给TL0。机械系统微机控制采用查询方式,编程如下:MOV TMOD,01H ;设置定时器0模式1SETB TR0 ;启动定时器0LOOP:MOV TH0,0D8H ;设置计数初值MOV TL0,0F0HJNB TF0,CLR TF0CPL P1.0SJMP LOOP机械系统微机控制5.3.3 定时/计数器模式2的应用 【例5-3】利用T1模式2进行计数,每计200次进行 累加器加1操作。 计数初值:X=M-计数值=28-200=56D=38H 采用查询方式,编程如下:MOV TMOD,60H ;设置T1模式2计数功能MOV TH1,38H ;保存计数初值MOV TL1,38H ;设置计数初值SETB TR1 ;启动计数 DEL:JBC TF1,LOOP ;查询是否计数溢出 AJMP DEL LOOP:INC AAJMP DEL机械系统微机控制【例5-4】利用T0的门控位GATE,编程实现检测外 部输入脉冲的宽度。解:外部脉冲由INT0(P3.2)输入,其宽度为TP ,如图5-8。T0工作于定时方式,模式1。测试时,当INT0=0时,TR0=1;当INT0=1时,

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

当前位置:首页 > 生活休闲 > 社会民生

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