项目五 气动仓储机器人自动控制
Click here to load reader
-
Upload
gray-burks -
Category
Documents
-
view
92 -
download
7
description
Transcript of 项目五 气动仓储机器人自动控制
![Page 1: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/1.jpg)
项目五气动仓储机器人自动控制
辽宁机电职业技术学院
制作人:王洪庆 白天明
![Page 2: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/2.jpg)
项目内容:自动化立体仓库作为物流过程中的关键单元,
在国外已广泛应用。 自动化立体仓库是生产物流的重要组成部分,
它是生产过程中的物流中心,通过计算机的智能控制和管理,也成为生产过程的调度中心。
![Page 3: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/3.jpg)
能力目标:课题 1、定时器 /计数器(一)课题 2、定时器 /计数器(二)课题 3:定时器接口应用
实战演练:通过实际项目,来掌握单片机定时器 /计数器
的结构和工作原理、工作方式和初始化编程及应用举例。
通过该项目的训练,提高学生的实际动手操作能力,养成学生的工程道德观念,建立工程敬业精神和团队合作精神。
![Page 4: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/4.jpg)
课题 1定时器 /计数器 (一 )
![Page 5: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/5.jpg)
知识要点: 掌握单片机定时器 /计数器的结构和工作原理。
能力训练: 通过实践,来掌握单片机定时器 /计数器的结构和工作原理,为学习工作方式和初始化编程做准备。
课题内容 1. 定时器 /计数器概述 2. AT89C51 片内定时器结构及工作原理 3.与 T/C 有关的特殊功能寄存器 4.定时器 /计数器的初始化
技能操作 1 、上机操作掌握定时器调试和运行方法。 2、掌握气动仓储机器人自动控制程序的设计、调试 方法。
![Page 6: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/6.jpg)
一、定时器 /计数器概述 实现定时的方法一般有三种:1.软件定时 即让计算机执行一段程序。这个程序段本身没有其
它的执行目的,只是利用执行这个程序段所花费的一个固定时间。通过适当地选择指令和安排循环次数,便可改变执行这段程序所需时间的长短,实现软件定时的调节。但软件定时占用 CPU ,降低了 CPU 的利用率。
2.不可编程硬件定时 可以采用例如 555 集成器件、外接 RC来构成定时电
路。与软件定时方法相比,其定时过程全由硬件完成。利用改变 RC的量值,可以使定时时间在一定范围内调节。但是这种定时电路在硬件连接好以后,定时值就不便改变了。
![Page 7: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/7.jpg)
3 .可编程计数器/定时器 它直接对外部脉冲信号或系统时钟脉冲进行计数。当计数达到设定的数值时,发出控制信号表示计数满或定时时间到。外部脉冲 (或时钟脉冲 )频率和设定数值的改变都能引起计数或定时的变化。所以可编程计数器 /定时器的功能强,使用灵活。
单片机的内部都有两个以上的可编程定时器/计数器,为用户使用提供了方便条件。本节以 AT89C51 单片机为例讲述片内定时器 /计数器的编程使用方法。
![Page 8: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/8.jpg)
AT89C51 内部有两个 16 位的可编程定时器 /计数器,定时器 /计数器 0(T/C0) 和定时器 /计数器 1(T/C1) 。 T/C0和T/C1既可以编程为定时器使用,也可以编程为计数器使用。
定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数,由于脉冲周期也固定,由计数值可以计算出计数时间,有定时的功能;计数器是对外部输入的非固定频率的脉冲计数,由于脉冲周期无规律,就无法计算时间,只能计数脉冲个数。
二、 AT89C51 片内定时器结构及工作原理
MP
TH0 TL0
TMOD
TH0 TL0
TCON
T1(P3.5)
T0(P3.4)
![Page 9: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/9.jpg)
AT89C51 的 T/C 是加 1 计数的。当工作在定时器方式时,对振荡源 12 分频的脉冲计数,即每个机器周期计数值加 1 ,计数速率= l/12fosc,当 fosc=6MHz时,计数速率 =500KHz。 AT89C51 的最高晶振频率 fosc为 33MHz时,计数速率 =7500 KHz。
当 T/C 工作在计数器方式时,计数脉冲来自外部脉冲输入端 T0( P3.4)或 T1( P3.5 ),当 T0或 T1脚上负跳变时计数值加 1 。 CPU 在每个机器周期的 S5P2状态采样 T0或 T1,因此识别该引脚上的负跳变需两个机器周期,即 24个振荡周期。所以 T0或 T1脚输入的可计数的外部脉冲的最高频率为 1/24fosc,若高于此频率,将会计数出错。
![Page 10: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/10.jpg)
1 . T0和 T1 T0和 T1都是 16 位的计数值寄存器。 T0由 TH0和 TL0
构成, TH0和 TL0 都是 SFR ,字节地址分别是 8CH和 8AH, T1由 TH1 和 TL1 构成, TH1 和 TL1 也是 SFR ,字节地址分别是8DH和 8BH。由于 T0和 T1都是 16 位的,因此 T/C0和 T/C1的最大计数值为十进制数 65536。
2.定时器 /计数器控制寄存器 TCON TCON是 SFR ,字节地址为 88H,可位寻址。
三、与 T/C 有关的特殊功能寄存器
![Page 11: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/11.jpg)
TR0: T/C0 启动控制位。 TR0 = 1 , T/C0 启动计数;TR0=0, T/C0 停止计数。
TF0: T/C0 溢出中断标志位。 T0 溢出时置 TF0=1 ,此标志可供中断或查询用。当采用中断方式时,转向中断服务程序的同时由硬件清“ 0”TF0。采用查询方式时,由用户软件清“ 0”。
TR1 : T/ C1启动控制位。其意义同 TR0。TF1 : T/ C1溢出中断标志位。其意义同 TF0。
![Page 12: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/12.jpg)
3 . T/ C的方式控制寄存器 TMOD 方式控制寄存器 TMOD用来编程定时器/计数器的工
作方式,字节地址为 89H。
GATE:门控位 GATE = 0时, T/C 的启动仅受 TR0或 TR1 的控制。 GATE = 1 时, T/C 的启动受到双重控制。
C/T :计数器、定时器选择位。 C/T=0时,工作于定时方式。 C/T=1 时,工作于计数方式。
辽宁机电职业技术学院
![Page 13: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/13.jpg)
M1 和 M0:工作方式选择位 AT89C51 的定时器/计数器有 4种工作方式,由 M1 、M0的 4种组合状态确定,具体见下表:M1 M0 方式 功能
0 0 0为 13位定时器 / 计数器, TL存低 5位, TH存高 8位
0 1 1 为 16 位定时器 /计数器1 0 2 常数自动装入 8位定时器 /计数器
1 1 3仅适用于 T0,两个 8位定时器 /计数器
![Page 14: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/14.jpg)
四、定时器 /计数器的初始化
1 .初始化步骤 在使用 AT89C51 的定时器 /计数器前,应对它
进行编程初始化,主要是对 TCON和 TMOD编程;计算和装载 T0和 T1计数初值。一般完成以下几个步骤:
确定 T/C 的工作方式—编程 TMOD ; 计算 T0或 T1中的计数初值,并装载到 T0或 T1。 T/C 在中方式工作时,须开 CPU 中断和源中断—
编程 IE寄存器。 启动定时器 /计数器—编程 TCON中 TR1 或 TR0 位。
![Page 15: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/15.jpg)
2.计数初值的计算 ( 1)定时器的计数初值 在定时器方式下, T/C 是对机器周期脉冲计数
的,若 fosc=6MHz,一个机器周期为 2µS,所以:方式 0 13位定时器最大定时间隔= 213×2µS= 16.384ms方式 1 16 位定时器最大定时间隔= 216×2µS= 131.072ms方式 2 8位定时器最大定时间隔= 28×2µS =512µS
若使 T/C1 工作在定时器方式 1,要求定时 1mS,求计数初值。设计数初值为 X,则有:
( 216 - X)×2µS = 1000µSX = 65536 - 500 = 65036 = 1111111000001100B = FE0CH
因此, TH1= FEH, TL1= 0CH
![Page 16: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/16.jpg)
( 2)计数器的计数初值 在计数器方式下: 方式 0 13位计数器的满计数值= 213= 8192 方式 1 16 位计数器的满计数值= 216 = 65536 方式 2 8位计数器满计数值= 28= 256若和 T/C1 工作在计数器方式 2,要求计数 10个脉冲的
计数初值。设计数初值为 X,则有: 28- X= 10 X = 28- 10 = 246 = 11110101B = F
5H 因此 TH1= TL1= F5H
![Page 17: 项目五 气动仓储机器人自动控制](https://reader038.fdocument.pub/reader038/viewer/2022102506/5681326e550346895d9906ea/html5/thumbnails/17.jpg)
谢谢!