实验报告机器人控制技术基础实验报告_第1页
实验报告机器人控制技术基础实验报告_第2页
实验报告机器人控制技术基础实验报告_第3页
实验报告机器人控制技术基础实验报告_第4页
实验报告机器人控制技术基础实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、华北电力大学实 验 报 告| 实验名称: 机器人控制技术基础课程名称: 机器人控制技术基础| 实 验 人: 成 绩: 18.00秒指导教师:实验日期: 年 月 日- 月 日华北电力大学工程训练中心第一部分:单片机开发板实验一:led灯闪烁实验实验目的:通过此实验,让大家初步掌握单片机的 io 口的基本操作和感受单片机学习的乐趣实验内容:用常用的指令编写,控制接在 p0.0 上的 led 发光二极管 l0 做闪烁实验硬件说明:通过原理图,我们可以发现,要让接在 p0.0 的 l0 做亮灭实验,得先选通 led 的电源供应三极管(这是我们设计的一个特殊地方,是为了方便和同时接在 p0 口的数码管实

2、现端口的复用,节省 io 口)然后只要让 p0.0 的端口电平为 0,l0 就会亮.让 p0.0 的端口电平为 1,l0 就回灭.端口,所以实验前要先把液晶模块的使能端置为 0由于 p0 口是 led、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0以下的程序将实现这个功能源程序如下:org 0000h ;cpu 上电复位后,从 0000h 开始执行ljmp main ;跳转到 main 主程序org 0100h ;主程序从 0100h 开始,避开中断入口区地址main: clr p3.7 ;选通 led 的电源供应三极管 clr p2.7 ;由于 p0 口是 led、数码管

3、和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0mov p0,#0ffh ;把 p0 口置一,熄灭 8 个发光二极管loop: clr p0.0 ;把 p0.0 清零,低电平点亮 l0 lcall delay ;调用延时子程序 setb p0.0 ;把 p0.0 置 1,高电平熄灭 l0 lcall delay ;调用延时子程序 ljmp loop ;回到 loop,不断的循环执行程序;延时子程序,改变 r5、r6、r7的值,可以改变延时的时间,从而改变 led 的闪烁速度速度delay: mov r5,#40 d1: mov r6,#20d2: mov r7,#248djnz r

4、7,$ djnz r6,d2 djnz r5,d1 retend实验二:按键控制的led灯亮灭实验实验目的:掌握简单的按键检测编程方法实验内容:监视按键 k16(接在 p3.3 端口上,即 int1),用发光二极管 l0(接在单片机 p0.0 端口上)显示开关状态。如果按住按键,则 l0 亮;松开按键,则 l0 熄灭。开关状态的检测过程:单片机对开关状态的检测相对于单片机来说,是从单片机的 p3.3 端口输入信号,而输入的信号只有高电平和低电平两种,当松开按键 k16,即输入端口悬空为高电平当按住按键 k16,按键被接到地,即输入低电平单片机可以采用 jbbit,rel 或者是 jnbbit,

5、rel 指令来完成对开关状态的检测即可。源程序如下:org 0000h ljmp startorg 0100h start: clr p3.7 ;选通 ws系列实验板的 led流水灯的电源控制端clr p2.7 ;由于 p0 口是 led、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0jb p3.3,loop ;检测按键,当 p3.3=1则跳到 loop;当 p3.3=0则往下执行clr p0.0 ;灯亮sjmp startloop: setb p0.0 ;灯灭sjmp start ;回到主程序循环检测按键end第二部分:机器人小车内容简介:机器人小车完成如图规定的赛道,从

6、规定的起点开始,记录完成赛道一圈的时间。必须在三分钟之内完成,超时无效。其中当小车整体都在赛道外时停止比赛,视为犯规, 小车不规定运动方向,顺时针和逆时针都可以采用,但都从规定的起点开始记录时间。作品优点及应用前景: 可靠性高,编程简单单片机执行一条指令的时间是s级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。 本次设计的简易智能电动车,采用at89s52单片机作为小车的检测和控制核心,使单片机按照预定的工作模式控制小车在各区域按预定的速度

7、行驶, 通过控制单片机进而控制小车,体现了智能化,通过使用不同的函数及设定不同的函数参数,能够在不同的要求下改变小车的前后轮转动方向以及转动速度,来完成不同的目的要求。在画正方形的同时能够完成四个1/4圆弧的制作。可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。一些危险事故中,凭借其特殊的履带来保持行进的稳定性,进而完成由程序指导的规定动作。如在已知楼内布置的情况下,可以在小车上装上红外感应器来搜寻是否有遇难者留在楼中。实验内容:第一次实验内容:发放实验仪器、下装keil uvision ide 集成开发环境、sl isp下载编程烧录软件、串口调试软

8、件。简单的led灯闪烁实验、两个按键控制led灯亮灭实验、单键控制led灯亮灭,中断控制的两灯闪烁实验等。第二次实验内容:智能小车运动测试、传感器电路搭建。第三次实验内容:智能小车循线测试。第四次实验内容:智能小车循线测试。循迹实验场地图:传感器电路图:源程序:#includesbit light1=p10;sbit light2=p11;sbit redlight=p34;/输出38.5khz频率sbit dianjipwml=p12;/左侧电机pwm控制sbit dianjipwml_1=p32;/左侧电机1sbit dianjipwml_2=p33;/左侧电机2sbit dianjipw

9、mr=p13;/右侧电机pwm控制sbit dianjipwmr_1=p30;/右侧电机1sbit dianjipwmr_2=p31;/右侧电机2sbit k1=p14;sbit k2=p15;sbit l1=p00;/左侧传感器sbit r1=p01;/右侧传感器unsigned char dianjil_hh,dianjil_hl,dianjir_hl,dianjir_ll,dianjir_hh,dianjir_lh,dianjil_ll,dianjil_lh,flag=0;/*定时器0计时初始化函数*/void timer0init() tmod=0x12;/定时器0工作方式2,定时器1

10、工作方式1 ip=0x02; th0=256-13; tl0=256-13; ea=1; /开总中断 et0=1; / 允许t2定时器中断 tr0=1; / 启动t2定时器/*/void timer0(void) interrupt 1 /定时器2中断服务子程序产生38.5khz方波redlight=!redlight;/*电机l初始化*/void timer1init() /电机pwm频率1khzdianjil_hh=(65536-200)/256; /所给数值为电机l占空比dianjil_hl=(65536-200)%256;dianjil_lh=(65536-800)/256; dian

11、jil_ll=(65536-800)%256; th1=dianjil_hh;tl1=dianjil_hl;et1=1;tr1=1;/*/*电机l中断服务程序*/void timer1(void) interrupt 3if(dianjipwml)th1=dianjil_lh;tl1=dianjil_ll;dianjipwml=!dianjipwml;elseth1=dianjil_hh;tl1=dianjil_hl;dianjipwml=!dianjipwml; /*/*电机r初始化函数*/void timer2init() t2con=0x01; /十六位自动重装模式dianjir_hh=

12、(65536-200)/256; /所给数值为电机l占空比dianjir_hl=(65536-200)%256;dianjir_lh=(65536-800)/256; dianjir_ll=(65536-800)%256; th2=dianjir_hh; / t2定时器初值 tl2=dianjir_hl; et2=1; / 允许t2定时器中断 tr2=1; / 启动t2定时器/*/void timer2(void) interrupt 5 tf2=0;/中断溢出位清零 tr2=0;/关定时器2 if(dianjipwmr)th2=dianjir_lh;tl2=dianjir_ll;tr2=1;

13、dianjipwmr=!dianjipwmr;elseth2=dianjir_hh;tl2=dianjir_hl;tr2=1;dianjipwmr=!dianjipwmr; /*赛道检测函数*/void flag_test(void)if(!l1&r1)待添加的隐藏文字内容2flag=1;else if(l1&!r1)flag=2;elseflag=0;/*电机系数赋值函数l*/void dianjil_set(int b)dianjil_lh=(65536-1000+b)/256;dianjil_ll=(65536-1000+b)%256;dianjil_hh=(65536-b)/256;d

14、ianjil_hl=(65536-b)%256;/*/*电机系数赋值函数r*/void dianjir_set(int b)dianjir_lh=(65536-1000+b)/256;dianjir_ll=(65536-1000+b)%256;dianjir_hh=(65536-b)/256;dianjir_hl=(65536-b)%256;/*/void main()light1=0; /指示灯亮,检测主函数是否已执行。timer0init();timer1init();timer2init();dianjipwml_1=1;dianjipwmr_1=0;dianjipwml_2=0;dia

15、njipwmr_2=1;while(1) light2=0;/指示灯亮,检测是否进入循环flag_test(); switch(flag)case 1:/左转dianjir_set(250);/电机输出功率,最大为1000. dianjil_set(55);break;case 2:/右转dianjir_set(100);dianjil_set(260);break;default:break;第三部分:心得体会、合理性建议或意见1工程素质和技能归纳:c51 系列单片机 keil uvision ide(集成开发环境)软件和 isp 下载软件的下载和安装。zc-51z教学板与计算机或者笔记本的连接。如何在集成开发环境中创建目标工程文件,并添加和编辑c语言源程序。c语言程序的编译和下载。串口调试终端的使用。c 语言基本知识:基本数据类型、常量、变量、运算符、表达式。51单片机定时器的多路使用。2科学精神的培养:查阅参考书,了解其他数据类型、算术运算符和定时器的知识。3.团队合作能力的锻炼:在做车的过程中,遇到困难在所难免,特别是电路板的焊接调试,大家各司其职相互合作,最终完成了比赛。4.本次试验将传统的学习单片机原理与应用(即先理论讲解,然后实验验证)的模式,改变为先实验和实践如何应用,然后再归纳单片机原理(即先实践,后归

温馨提示

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

评论

0/150

提交评论