《实验报告机器人控制技术基础实验报告》由会员分享,可在线阅读,更多相关《实验报告机器人控制技术基础实验报告(13页珍藏版)》请在金锄头文库上搜索。
1、华北电力大学实验报告|实验名称: 机器人控制技术基础课程名称: 机器人控制技术基础|实验人:成 绩: 18.00秒指导教师:实验日期: 年 月 日- 月 日华北电力大学工程训练中心第一部分:单片机开发板实验一:LED灯闪烁实验实验目的:通过此实验,让大家初步掌握单片机的IO 口的基本操作和感受单片机学习的乐趣实验内容:用常用的指令编写,控制接在POG上的芜ED发光二极管L0做闪烁实验硬件说明:XIo4po匸1K111KrT,1K厂L1KJ*Ti1KR6rrL1KR7J*1KKBr6CVC73.pQLZ1K通过原理图,我们可以发现,要让接在P0.0的L0做亮灭实验,得先选通LED的电源供应三极管
2、(这是我们设计的一个特殊地方,是为了方便和同时接在P0 口的数码管实现端口的复用,节省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 的电源供应三极管
3、CLR P2.7;由于P0 口是LED、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0MOV P0,#0FFH ;把 P0 口置一,熄灭 8 个发光二极管LOOP:CLR P0.0;把 P0.0 清零,低电平点亮 L0LCALL DELAY;调用延时子程序SETB P0.0;把P0.0 置1,高电平熄灭 L0LCALL DELAY;调用延时子程序LJMP LOOP;回到LOOP,不断的循环执行程序;延时子程序,改变R5、R6、R7的值,可以改变延时的时间,从而改变LED 的闪烁速度速度DELAY: MOV R5,#40D1: MOV R6,#20D2: MOV R7,#24
4、8DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND实验二:按键控制的LED灯亮灭实验 实验目的:掌握简单的按键检测编程方法 实验内容:监视按键K16 (接在P3.3端口上,即INT1),用发光二极管L0 (接在单 片机P0.0端口上)显示开关状态。如果按住按键,则L0亮;松开按键,则L0 熄灭。开关状态的检测过程:单片机对开关状态的检测相对于单片机来说,是从单 片机的 P3.3 端口输入信号,而输入的信号只有高电平和低电平两种,当松开按 键K16,即输入端口悬空为高电平当按住按键K16,按键被接到地,即输入低 电平单片机可以采用JB BIT,REL或者是JNB BIT,R
5、EL指令来完成对开 关状态的检测即可。源程序如下:ORG 0000HLJMP STARTORG 0100HSTART:CLR P3.7 ;选通WS系列实验板的LED 流水灯的电源控制端CLR P2.7;由于P0 口是LED、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0JB P3.3,L00P;检测按键,当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 uVisionlDE集成开发环境、SL ISP 下载编程烧录软件、串口调
8、试软件。简单的LED灯闪烁实验、两个按键控制LED 灯亮灭实验、单键控制LED灯亮灭,中断控制的两灯闪烁实验等。 第二次实验内容:智能小车运动测试、传感器电路搭建。第三次实验内容:智能小车循线测试。第四次实验内容:智能小车循线测试。循迹实验场地图:传感器电路图:骼饋地Be/V二od丄h定qs 骼饋地Bw/Vood=n定qs 定qs 寸Id丄上定qs,男肛專记/?二丄d小宫du.2p 4SS 1男肛專记/70丄d丄宫du.2p 4SS fwffi宫 dtfBe/7 I dux宫5U.2P 定qsztfBw/Td 小TnNdu.2p 4SS IWB3BW/7 石丄d丄TnNdu.2p 4SS fw
9、ffi宫 dtffw/7 石 ZH 上 gooe-33解 $ 寸丄dlqbJOHP 岂定qs二id小主巴i定qs oId丄主巴i定qsq .zgbJOQDQpnlous00莎unsigned chardianjiL_hh,dianjiL_hl,dianjiR_hl,dianjiR_ll,dianjiR_hh,dianjiR_lh,dia njiL_ll,dianjiL_lh,flag=0;/*定时器0计时初始化函数*/ void timer0init()TM0D=0xl2;/定时器0工作方式2,定时器1工作方式1IP=0x02;TH0=256-13;TL0=256-13;EA=1; /开总中断
10、ET0=1;/允许T2定时器中断TR0=1;/启动T2定时器/*/void t imer0(void) int errupt 1/定时器2中断服务子程序产生38.5kHz方波redlight=!redlight;/*电机L初始化*/ void t imer1ini t()/电机 pwm 频率 1kHzdianjiL_hh=(65536-200)/256;/所给数值为电机L占空比dianjiL_hl=(65536-200)%256;dianjiL_lh=(65536-800)/256;dianjiL_ll=(65536-800)%256;TH1=dianjiL_hh;TL1=dianjiL_hl
11、;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=(65536-200)/256;/所给数值为电机L占空比dianjiR_hl=(65536-200)%25
12、6;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 5TF2=0;/中断溢出位清零TR2=0;/关定时器2if(dianjipwmR)TH2=dianjiR_lh;TL2=dianjiR_ll;TR2=1;dianjipwmR=!dianjipwmR;elseTH2=dianjiR_hh;TL2=dianjiR_hl;TR2=1;dianjipwmR=!dianjipwmR;/*赛道检测函数*/ void flag_test(void)if(!L1&R1)flag=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; dianjiL_hl=(65536-b)%256; /*