MCS-51单片机TMOD寄存器详解与宝贝车机器人行走控制

需积分: 33 0 下载量 71 浏览量 更新于2024-07-13 收藏 7.89MB PPT 举报
"这篇资料主要涉及的是51单片机的工作方式控制寄存器TMOD的使用,以及在宝贝车机器人行走控制中的应用。" 在51单片机中,工作方式控制寄存器TMOD是用来设置定时器/计数器T0和T1的工作模式。该寄存器包含4个位,分别是GATE、M1、M0和C/T,每个位都有特定的功能: 1. GATE位:门控位。当GATE=0时,定时器由TRx(x代表0或1)启动,即内部时钟控制;GATE=1时,定时器启动不仅需要TRx=1,还需要外部中断信号有效,这样定时器才会开始计数。 2. M1和M0位:这两个位是工作方式选择位,它们的组合可以设定定时器的工作模式,从0到3,共4种模式: - 方式0:13位定时器/计数器,低5位THx作为高位,低8位TLx作为低位,形成13位计数器。 - 方式1:16位定时器/计数器,THx和TLx组合成一个16位计数器。 - 方式2:8位自动重装载定时器,TLx用作计数器,THx用作装载值,在TLx溢出时自动装载THx的值。 - 方式3:两个独立的8位定时器/计数器,THx和TLx各自独立工作。 3. C/T位:计数/定时选择位。C/T=0时,定时器工作;C/T=1时,外部输入引脚(T1为P3.5,T0为P3.4)作为计数脉冲,定时器工作在计数模式。 在宝贝车机器人的行走控制中,使用了51单片机的定时器和中断功能来实现伺服电机的精确控制。机器人的前进、后退、转向等动作是通过控制伺服电机的脉冲宽度调制(PWM)来实现的。例如,通过改变P1.0和P1.1引脚的高低电平持续时间,可以控制左右轮伺服电机的旋转方向和速度。 子任务4-1-1中,设计了向前行走的控制程序,使用了软件延时方式。程序通过设置R7变量并进入循环,利用LCALL指令调用延时子程序DEL1300和DEL1700,分别控制P1.0和P1.1引脚的高电平和低电平持续时间,从而实现1.3ms和1.7ms的脉冲序列,使得右轮顺时针旋转,左轮逆时针旋转,让机器人向前行走。 在这个过程中,还需要理解MCS-51汇编语言指令系统、机器周期和指令周期的概念,以及软件延时时间的计算方法。此外,子程序的使用可以提高代码的复用性和可读性,而堆栈则在子程序调用时保存返回地址,确保程序执行的连贯性。 通过这样的任务训练,学习者不仅可以掌握基本的程序结构,如顺序、循环、分支结构,还能深入理解定时器和中断在实际应用中的重要性,以及如何设计和优化控制程序以实现特定的机器人动作。