200 likes | 368 Views
辽宁机电职业技术学院. 项目五 气动仓储机器人自动控制. 制作人:王洪庆 白天明. 项目内容: 自动化立体仓库作为物流过程中的关键单元,在国外已广泛应用。 自动化立体仓库是生产物流的重要组成部分,它是生产过程中的物流中心,通过计算机的智能控制和管理,也成为生产过程的调度中心。. 能力目标: 课题 1 、定时器 / 计数器(一) 课题 2 、定时器 / 计数器(二) 课题 3 :定时器接口应用. 实战演练: 通过实际项目,来掌握单片机定时器 / 计数器的结构和工作原理、工作方式和初始化编程及应用举例。
E N D
辽宁机电职业技术学院 项目五 气动仓储机器人自动控制 制作人:王洪庆 白天明
项目内容: 自动化立体仓库作为物流过程中的关键单元,在国外已广泛应用。 自动化立体仓库是生产物流的重要组成部分,它是生产过程中的物流中心,通过计算机的智能控制和管理,也成为生产过程的调度中心。
能力目标: 课题1、定时器/计数器(一) 课题2、定时器/计数器(二) 课题3:定时器接口应用 实战演练: 通过实际项目,来掌握单片机定时器/计数器的结构和工作原理、工作方式和初始化编程及应用举例。 通过该项目的训练,提高学生的实际动手操作能力,养成学生的工程道德观念,建立工程敬业精神和团队合作精神。
课题2 定时器/计数器(二)
课题内容 1.定时器/计数器的工作方式。 2. 应用实例 知识要点: 掌握单片机定时器/计数器的工作方式。 能力训练: 通过实践,来掌握单片机定时器/计数器的 工作方式和初始化编程。 技能操作 1、上机操作掌握定时器调试和运行方法。 2、掌握气动仓储机器人自动控制程序的设计、调试 方法。
一、定时器/计数器的工作方式 AT89C51单片机中的定时器有四种工作方式:方式0、方式1、方式2、方式3,由TMOD寄存器的M1、M0位来设定。 (一)方式0 当M1M0设定为00时,定时器工作于方式0。 在方式0情况下,内部计数器为13位,由TLl的低5位和THl的8位组成。当TLl低5位计满时向THl进位,THl计满时将T1的溢出标志TFl置1。滿计数值为213。 当C/T=0时,记数器脉冲输入端的开关接到振荡器12分频信号端,这时作为定时器工作。当C/T=1时,记数器脉冲输入端的开关接到T1脚,这时作为计数器工作。这时定时器的功能框图如图所示。
(二)方式1 当M1M0设定为01时,定时器工作于方式1。方式l与方式0的区别仅在于计数器的位数不同,方式0为13位计数器,而方式1为16位计数器,由TL作为低8位和TH作为高8位组成。滿计数值为216。 (三)方式2 当M1M0设定为10时,定时器工作于方式2。 方式2为能自动重装入时间常数的8位记数器,这与方式0、方式1有很大区别。在方式0和方式1中,当计数满后,若要进行下一次定时/计数,须用软件向TH和TL重新预置计数初值。在方式2情况下,TL作为8位记数器,TH存放时间常数初值。当TL计滿溢出时,在将溢出标志置1的同时,还将TH中的时间常数重新装入TL,使TL从该值开始重新计数。
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,若高于此频率,将会计数出错。
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。
(四)方式3 M1M0设定为11时,定时器工作在方式3。方式3只适用于定时器T0。 T0工作在方式3时,分为两个独立的8位计数器TL0和TH0。TL0使用T0的控制运行位和中断资源,其工作情况与方式0或1相似,只是计数器为8位。而TH0被固定作为一个8位定时器,其运行控制位借用TR1,且只受TR1的控制,其溢出标志借用TF1。 当T0工作在方式3时,T1可以工作在方式0、1或2,但没有运行控制和溢出中断功能。这时T1常用作串行口的波特率发生器。
二、应用实例 1、利用定时器0,方式0,每隔2ms延时,使P1.0引脚上输出一 个正跳变信号,设晶振为6MHZ。 解: (1)确定TMOD值 定时器T0工作于方式0,则TMOD值为00H (2)计算初值 fosc=6MHZ,一个机器周期为2us 设计数初值为X,则(213-X)*2us=2ms X=7192=111000011000B=E018H TL0=18H,TH0=E0H
程序清单如下: ORG 0000H AJMP MAIN ORG 000BH AJMP IT0P ORG 0030H MAIN: MOV TMOD,#00H MOV TL0,#18H MOV TH0,#0E0H SETB ET0 SETB EA SETB TR0 SJMP $
ITOP: CLR P1.0 SETB P1.0 MOV TL0,#18H MOV TH0,#0E0H RETI END
2、用89C51片内定时器在P1.0引脚上产生200us的连续方波,设晶振频率为12MHZ2、用89C51片内定时器在P1.0引脚上产生200us的连续方波,设晶振频率为12MHZ 解: (1).确定TMOD的值:为20H (2).计算初值: (28-X)*1us=100us X=156=9CH TH1=9CH,TL1=9CH
程序清单如下: ORG 0000H AJMP MAIN ORG 001BH AJMP IT1P ORG 0030H MAIN:MOV TMOD,#20H MOV TL1,#9CH MOV TH1,#9CH SETB EA SETB ET1 SETB TR1 SJMP $
IT1P: CPL P1.0 RETI END