C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch06 C51定时器与机器人的距离检测_第1页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch06 C51定时器与机器人的距离检测_第2页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch06 C51定时器与机器人的距离检测_第3页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch06 C51定时器与机器人的距离检测_第4页
C51单片机应用与C语言程序设计(第4版)-基于机器人工程对象的项目实践 课件 ch06 C51定时器与机器人的距离检测_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六讲C51定时器与机器人的距离检测“十三五”职业教育国家规划教材

工作导向创新实践教材程序设计(第4版)任务1定时/计数器的运用本讲的主要任务需要用到单片机更精确的定时功能,因此首先介绍C51单片机中定时/计数器的使用方法。

单片机的定时/计数器能够提供更精确的时间。★定时/计数器的控制单片机AT89S52有两个定时/计数器,通过TCON和TMOD这两个特殊功能寄存器控制,可以在头文件uart.h中看到TCON和TMOD的定义,TCON为定时器控制寄存器,有8位,每个位的含义见表6-1。位符号描述TCON.7TF1定时器1溢出标志位。由硬件置位,由软件清除TCON.6TR1定时器1运行控制位。由软件置位或清除:置1为启动;置0为停止TCON.5TF0定时器0溢出标志位TCON.4TR0定时器0运行控制位TCON.3IE1外部中断1边沿触发标志TCON.2IT1外部中断1类型标志位TCON.1IE0外部中断0边沿触发标志TCON.0IT0外部中断0类型标志位表6-1TCON控制寄存器定时/计数器的控制

TMOD为定时器模式寄存器,它也有8位,但不能像TCON一样可以一位一位地设置,只能通过字节传送指令来设定TMOD各个位的状态。TMOD的各位定义见表6-2。任务1定时/计数器的运用位名字定时器描述7GATE1门控制。当被置1时,只有INT为高电平时,定时器才开始工作6c/i1定时/计数器选择位:1=计数器;0=定时器5M11模式位1(见表6-3)4M01模式位0(见表6-3)3GATE0定时器0的门控制位2C/T0定时器0的定时/计数选择位1M10定时器0的模式位10M00定时器0的模式位0表6-2TMOD模式寄存器任务1定时/计数器的运用★工作模式每个定时/计数器都由一个16位的寄存器Tn(n=0或1)来控制计数长度,由高8位THn和低8位TLn置初值。定时/计数器有4种工作模式,由TMOD定时器模式寄存器中的M1和M0位设定,见表6-3。M1M0模式000011102113表6-3定时器工作模式模式0定时/计数器按13位自加1计数器工作。模式1定时/计数器按16位自加1计数器工作。模式2定时/计数器被拆成一个8位寄存器TH和一个8位计数器TL,以便实现自动重载。模式3THO和TL0均作为两个独立的8位计数器工作。任务1定时/计数器的运用★定时/计数器初值的计算定时/计数器是在计数初值的基础上按加法计数的,假设Tn(TLn和THn)中写入的值为TC,在该模式下最大计数值为2”,程序运行的计数值为CC,则TC=2"-CC。任务1定时/计数器的运用中断中断即发生了某种情况(事件),使得CPU暂时中止当前程序的执行,转去执行相应的处理程序。中断在单片机应用的设计与实现中起着非常重要的作用。每个中断源可以被单独允许或禁止,通过修改可位寻址的专用寄存器IE(允许中断寄存器)实现,见表6-4。中断的优先级由高到低依次为:外部中断0

定时器0外部中断1定时器1串口中断

定时器2中断。

位符号描述(1=使能,0-禁止)IE.7EA全局允许/禁止IE.6-未定义IE.5ET2允许定时器2中断IE.4ES允许串口中断IE.3ET1允许定时器1中断IE.2EX1允许外部中断1IE.1ETO允许定时器0中断IE.0EXO允许外部中断0表6-4IE允许中断寄存器简表任务1定时/计数器的运用寄存器组n的使用上下文切换使用“寄存器组”的概念使软件的不同部分可以拥有一组私有的寄存器,不受其他部分的影响,因而可以快速高效地进行“上下文切换”。LED由于LED的闪烁频率过快,而人的视觉反应不够快,因此你观察到LED是一直亮着的。你可以借助示波器观察P10输出的是不是矩形波,周期是不是400μs。寄存器组AT89S52单片机有4个寄存器组,每个寄存器组由8个字节组成。在默认情况下(系统复位后),程序使用第1个寄存器组0。任务2测试扫描频率★红外检测器频率检测图6-1给出了本书所使用的红外检测器灵敏度与频率的关系。频率特性选择5个不同的频率,从最低灵敏度到最高灵敏度进行测试,当红外检测器不能再检测到物体的红外线频率时,就可以推断物体的大概位置。高灵敏度的频率可以检测远距离的物体,低灵敏度的频率可以检测距离较近的物体。利用这个特性就可以实现距离检测了。图6-1灵敏度与频率的关系任务3尾随小车

让一个机器人跟随另一个机器人行走,跟随的机器人称为尾随车,被跟随的机器人称为引导车。

图6-4中的框图描述了机器人采用比例控制算法的控制步骤,即机器人用右边的IR组检测距离并用右边的伺服电机调节机器人之间的位置以维持适当的距离。图6-4右伺服电机及IR组的比例控制框图任务4跟踪条纹带如图6-7所示是你要搭建的一个条纹带跟踪路径。路径搭好后需要编程,使机器人沿路径行走。所需材料:●一张白色招贴板,尺寸为56cm×71cm;●19mm宽黑色聚乙烯绝缘带一卷。20%30%40%50%调节IR组的方向,使其可以扫描条纹带,如图6-8所示。确保绝缘带路径不受荧光灯干扰。用1kQ电阻代替与红外LED串联的470Q电阻,使机器人能看到的距离更近。将机器人与串口电缆相连,以便你能看到显示的距离。任务4跟踪条纹带

测试条纹带的顺序任务4跟踪条纹带把机器人放在白色招贴板上,运行程序如图6-9所示。验证区域读数是否

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论