资源描述
华北电力大学实 验 报 告| 实验名称: 机器人控制技术基础课程名称: 机器人控制技术基础| 实 验 人: 姓名:顾晋饶 动实践1301 201302400805姓名:牛广硕 动实践1301 201302400814 姓名:陈万涛 动实践1301 201402400703 成 绩: 指导教师: 房静实验日期: 2014年10月18日-2014年11月15日华北电力大学工程训练中心第一部分:单片机开发板实验一:LED灯闪烁实验实验目的:通过此实验,让大家初步掌握单片机的 IO 口的基本操作和感受单片机学习的乐趣实验内容:用常用的指令编写,控制接在 P0.0 上的 LED 发光二极管 L0 做闪烁实验硬件说明:通过原理图,我们可以发现,要让接在 P0.0 的 L0 做亮灭实验,得先选通 LED 的电源供应三极管(这是我们设计的一个特殊地方,是为了方便和同时接在 P0 口的数码管实现端口的复用,节省 IO 口)然后只要让 P0.0 的端口电平为 0,L0 就会亮.让 P0.0 的端口电平为 1,L0 就回灭.端口,所以实验前要先把液晶模块的使能端置为 0由于 P0 口是 LED、数码管和液晶模块共用端口,所以实验前要先把液晶模块的使能端置为 0以下的程序将实现这个功能源程序如下: #include sbit Led1=P10;sbit Led2=P21;void delay() unsigned char j,i;for(i=0;i10;j=50;j+)void main()Led1=1;Led2=0;while(1) Led1=Led1;Led2=Led2; delay();实验二:按键控制的LED灯亮灭实验(写上自己按键点亮LED灯的C语言程序,这个模版不是C的程序)实验目的:掌握简单的按键检测编程方法实验内容:监视按键 K16(接在 P3.3 端口上,即 INT1),用发光二极管 L0(接在单片机 P0.0 端口上)显示开关状态。如果按住按键,则 L0 亮;松开按键,则 L0 熄灭。开关状态的检测过程:单片机对开关状态的检测相对于单片机来说,是从单片机的 P3.3 端口输入信号,而输入的信号只有高电平和低电平两种,当松开按键 K16,即输入端口悬空为高电平当按住按键 K16,按键被接到地,即输入低电平单片机可以采用 JBBIT,REL 或者是 JNBBIT,REL 指令来完成对开关状态的检测即可。源程序如下:sbit L0 = P0.0;sbit K16 = P3.3;viod main ()if(K16=1) while(K16=1); L0= L0;实验三:中断控制的三灯闪烁实验(写上自己点亮流水LED灯的C语言程序,这个模版不是C的程序)实验源程序:FALG EQU 20H ;定义寄存器 ORG 0000H ;程序开始 AJMP MAIN ;跳主程序 ORG 000BH ;外总中断0地址 AJMP INT00 ;跳外部中断子程序 ORG 0030H ;跳开敏感地址区 MAIN: ;主程序 MOV P1,#0FFH ;P1口输出高电平 SETB EA ;开总中断 SETB EX0 ;开外总中断0中断 MOV P1.3,FLAG ;FLAG状态送P1.3输出 SJMP $ ;在此等待 INT00: ;外部中断0子程序 PUSH PSW ;保护状态寄存器 PUSH ACC ;保护累加器 CPL FALG ;取反标标志 POP ACC ;弹出保护A的值 POP PSW ;弹出保护状态寄存器的值 RETI ;中断返回 END ;程序结束第二部分:机器人小车(写上自己小车的C语言程序,这个模版不是C的程序)内容简介:机器人小车完成如图规定的赛道,从规定的起点开始,记录完成赛道一圈的时间。必须在三分钟之内完成,超时无效。其中当小车整体都在赛道外时停止比赛,视为犯规, 小车不规定运动方向,顺时针和逆时针都可以采用,但都从规定的起点开始记录时间。作品优点及应用前景: 可靠性高,编程简单单片机执行一条指令的时间是s级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。 本次设计的简易智能电动车,采用AT89S52单片机作为小车的检测和控制核心,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶, 通过控制单片机进而控制小车,体现了智能化,通过使用不同的函数及设定不同的函数参数,能够在不同的要求下改变小车的前后轮转动方向以及转动速度,来完成不同的目的要求。在画正方形的同时能够完成四个1/4圆弧的制作。可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。一些危险事故中,凭借其特殊的履带来保持行进的稳定性,进而完成由程序指导的规定动作。如在已知楼内布置的情况下,可以在小车上装上红外感应器来搜寻是否有遇难者留在楼中。循迹实验场地图:传感器电路图:源程序:#include#define uchar unsigned char#define uint unsigned intsbit IN1=P36;sbit IN2=P37; sbit ENA=P34; sbit IN3=P26;sbit IN4=P27;sbit ENB=P35; /传感器碰黑线变低电平0 sbit INFR1=P14;sbit INFR2=P15;void delay_1ms(uint n)uint i,j;for(j=n;j0;j-)for(i=20;i0;i-);void go(void)unsigned char i;ENA=1;ENB=1;for(i=0;i5;i+) IN1=1; IN2=0; IN3=1; IN4=0; delay_1ms(2); IN1=0; IN2=0; IN3=0; IN4=0; delay_1ms(11);void left(void)unsigned char i;ENB=0;IN3=1;IN4=1;for(i=0;i5;i+) IN1=1; IN2=0; delay_1ms(2); IN1=0; IN2=0; delay_1ms(11);void right(void) unsigned char i;ENA=0;IN1=0;IN2=0;for(i=0;i5;i+) IN3=1; IN4=0; delay_1ms(2); IN3=0; IN4=0; delay_1ms(11);void main() ENA=1; ENB=1; while(1) if(INFR1=0)&(INFR2=1)right();else if(INFR1=1)&(INFR2=0)left(); else go(); 第三部分:心得体会、合理性建议或意见1工程素质和技能归纳:C51 系列单片机 Keil uVision IDE(集成开发环境)软件和 ISP 下载软件的下载和安装。ZC-51Z教学板与计算机或者笔记本的连接。如何在集成开发环境中创建目标工程文件,并添加和编辑C语言源程序。C语言程序的编译和下载。串口调试终端的使用。C 语言基本知识:基本数据类型、常量、变量、运算符、表达式。51单片机定时器的多路使用。如何焊接电路板,连接线路。2.团队合作能力的锻炼:在做车的过程中,遇到困难在所难免,特别是电路板的焊接调试,大家各司其职相互合作,最终完成了学习任务,通过了验收。4.本次试验将传统的学习单片机原理与应用(即先理论讲解,然后实验验证)的模式,改变为先实验和实践如何应用,然后再归纳单片机原理(即先实践,后归纳)的模式,并以智能小车作为贯穿实践过程的典型工程对象,使整个学习过程充满挑战和乐趣,大大提高学习效率。同时在学习和实践的过程中,还可以培养我们系统的世界观和方法论。通过本课程的学和实践,让我们领略到了信息技术世界和机器人世界的神奇。建议:1,、小车的制作可以适当放宽对传感器型号及数量的限制,这样可以更加拓宽大家的思路,让大家掌握更多的技术,而且很大程度上可以提高小车的速度。2,、焊接之前建议先让我们看看合格品是什么样子,焊接完要及时测试,以方便顺利进行下一步。
展开阅读全文