欢迎来到天天文库
浏览记录
ID:956881
大小:381.80 KB
页数:15页
时间:2017-10-19
《基于单片机的智能小车》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第一部分全书内容概括第一章引言和介绍《C51单片机与应用与C语言程序设计》,介绍如何应用AT89S52作为机器人的大脑制作一款机器人,并用C语言对AT89S52进行编程,使机器人实现下述4个基本任务。(1)安装传感器以探测周边环境;(2)基于传感器信息做出决定;(3)控制机器人运动(通过操作带动轮子旋转的电机);(4)与用户交换信息。第二章单片机AT89S522.1内容概述:AT89S52单片机是控制单元的核心。起着控制小车所有运行状态的作用。使用该芯片很容易实现对其他模块的控制。通过对单片机AT89S52写入程序,可以方便的用软件来控制整个过程.(1)AT89S52单片机最小系统包括
2、了一路复位开关,用于小车复位。◆P1.0输出PWM信号,◆P1.1~P1.5分别控制电机驱动。◆其他P口用外接控制小车的各种控制开关,◆P0口外接10K的上拉电阻,可用于外接LCD1602。(2)AT89S52单片机介绍:AT89S52是一种低功耗、高性能CMOS8位微控制器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,
3、振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其引脚排列如下:AT89S52引脚排列图日期:2013年11月26日152.2主要性能●与MCS-51单片机产品兼容;●8K字节在系统可编程Flash存储器;●1000次擦写周期;●全静态操作:0Hz~33Hz;●三级加密程序存储器;●32个可编程I/O口线;●三个16位定时器/计数器;●全双工UART串行通道;●低功耗空闲和掉电模式;●掉电后中断可唤醒;●看门狗定时器;●双数据指针;●掉电标识符。第三章所用软件(1)KeiluVision2IDE集成开发环境(2)stc-isp-v3.97软件下载工具(3)串口调试工具第
4、四章智能机器人各部分功能实现4.1伺服电机4.1.1运转速度实现:高电平持续时间描述:1)通过让单片机的输入输出口来输出不同的脉冲序列来实现控制机器人伺服电机以不同速度运动,51系列单片机有4个8位的并行I/O口:P0、P1、P2和P3.这四个接口,既可以作为输入,也可以作为输出,这里主要用P1口来完成机器人伺服电机的控制。2)当高电平持续时间为1.3ms时,电机顺时针全速旋转,当高电平持续时间1.7ms时,电机逆时针全速旋转。3)P1_0引脚的控制输出用来控制右的伺服电机,而P1_1则用来控制左边的伺服电机。原理图如下:日期:2013年11月26日154.1.2所用函数(1)延时函数
5、要生成伺服电机的控制信号,就需要用另一个延时函数delay_nus这个函数可以实现更小的延时,它的延时单位是微秒,即千分之一毫秒,参数n为延时微秒数。(2)举例:程序片断(目的:让连接到P1_0脚的伺服电机轮子全速旋转)while(1){P1_0=1;//P1_0输出高电平delay_nus(1700);//延时1.7msP1_0=0;//P1_0输出低电平delay_nus(20000);//延时20ms}4.2控制运行时间或距离4.2.1描述:让微控制器不断发出控制指令,用到以while(1)开头的死循环(即永不结束的循环)。要求机器人运动一段给定的距离或者一段固定的时间。需要控制
6、代码执行的次数,用到for函数。4.2.2实现函数(1)for函数for(表达式1;表达式2;表达式3)语句它的执行过程如下:1)先求解表达式12)求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步3)求解表达式34)转回上面第2)步继续执行5)循环结束,执行for语句下面的一个语句for语句最简单的应用形式也就是最易理解的形式如下:for(循环变量赋初值;循环条件;循环变量增/减值)语句(2)举例(目的使电机运行几秒钟)for(Counter=1;Counter<=100;i++){P1_1=1;del
7、ay_nus(1700);P1_1=0;delay_nms(20);}第五章简单巡航控制5.1描述:对单片机编程可以使机器人完成各种巡航动作,本章机器人在无感觉的情况下巡航。5.2基本巡航动作(1)向前训航日期:2013年11月26日15发给单片机控制引脚的高电平持续时间决定了伺服电机旋转的速度和方向。for循环的参数控制了发送给电机的脉冲数量。由于每个脉冲的时间是相同的,因而for循环的参数也控制了伺服电机运行的时间(2)向后走,原地转弯和绕
此文档下载收益归作者所有