智能寻迹机器人实验指导书Word文件下载.docx
- 文档编号:15060286
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:45
- 大小:1.01MB
智能寻迹机器人实验指导书Word文件下载.docx
《智能寻迹机器人实验指导书Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能寻迹机器人实验指导书Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。
P0.4为机器人的声控检测端口,在运行为前进状态时,可以能过声控(如拍手声)来控制它的运行与停止。
P0.6为机器人的声音输出端。
在机器人遇到障碍物时。
进行绕障碍物与避悬崖时可以通过此端口控制蜂鸣器发出报警声。
当为白天或黑夜时可以通过P0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。
两个按键以查询/中断两种不同的方式来展现按键操作。
你可以按下S1键来进行机器的停止。
再按下S2键来进行机器人的运行。
这个按键的信息分别被P3.2,P3.4接收到。
IR1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。
这个红外遥控接收头接收到红外信号时将信号经过P3.3送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控制。
同时将用户的按键信息通过P2端口上LED数码管显示出来。
P3.0、P3.l中COM端口的加入,让你完全可以用电脑对其进行控制。
你可以通过对串口发送数据,数据会被显示到LED数码管中,并让机器人执行相应的功能。
电脑的串口软件要求波特率为9600。
8位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。
EXKJ-ZN02功能的组合多样,使得学生可以充分发挥自主能力,制作出不同的机器人。
它为学校进行机器人竞赛和毕业项目设计建立了实物平台,是学校教师授课变得更轻松有趣。
同时也能改变学生学习模式和激发学习兴趣。
更是作为验证学生学习效果的有力工具。
良好的电路板设计,让学生制作变得方便容易,其大大提高了学生的制作成功率。
提高了学生对电子电路的兴趣,更是教学过程中不可或缺的教具。
实验一程序状态指示灯演示
一、实验简介:
本程序重点演示了一个最简程序的基本结构,它从顺序、判断、循环的形式表现程序的基本结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程序不不同工作状态。
它也是常数字设备中进行状态表示的方法之一(例:
网卡)。
二、实验原理图:
三、实现代码:
//=====================================================================//
//实验名称:
程序状态指示灯演示程序//
//开发日期:
2009/01/19//
//修改日期:
//
//程序作者:
guojun邮箱:
GuoGuoExkj@//
//开发商:
益芯科技有限公司——技术部//
//程序备注:
此程序仅为表现本机功能而演示用,当用作实际工程时请慎用.//
//特别声明:
此程序可作研究之用,但引用,转载,使用请注明出处.//
#include<
AT89x51.h>
//包含头文件
#defineLEDP1//宏定义显示端口号
voidDelay(unsignedintDelayTime)//定义可变延时函数
{
while(DelayTime--);
//延时函数进入倒计时
}
voidmain()//程序主函数码
unsignedintCountData=0;
//定义一个整形变量,用于闪动次数++
while
(1)//主程序循环体开始
{
if(CountData<
30)//判断闪动次数是否位于0-30之间
{
Delay(60000);
//用60000作为基数开始延时函数
}
elseif(CountData<
60)//判断闪动次数是否位于30-60之间
Delay(30000);
//用30000作为基数开始延时函数
90)//判断闪动次数是否位于60-90之间
Delay(10000);
//用10000作为基数开始延时函数
120)//判断闪动次数是否位于90-120之间
CountData=0;
//仅进行一次操作即可退出.
CountData=CountData+1;
//闪动次数基数++
LED=~LED;
//将显示端口进行取反操作
四、运行效果:
程序运行效果为:
开机后程序以慢速闪动,一段时间后速度开始加快,再等待时间,闪灯的速度达到最快,之后一段时间后,闪动将回到开始状态。
实验二流水灯演示
本程序全面的表现了子程序的用法,它从对几个子程序的操作,显示不同的流灯技术,流水灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和内部数据存储及读入操作。
延时函数采用可重入标志,可进行函数的递归调用。
2009/01/20//
//包含头文件
#defineLedP1//定义显示端口号
unsignedintcodeBToM[]={0x7E,0x3C,0x18,0x00};
//定义由两边到中间显示数据
unsignedintcodeMToB[]={0xE7,0xC3,0x81,0x00};
//定义由中间到两边显示数据
voidDelay()reentrant//定义可重入的延时函数
{unsignedintDelayTime=10000;
//定义延时时间基数
//程序开始延时开始
voidLeftToRight()//定义从左边到右边显示函数
{unsignedcharTempCount=0;
//定义显示次数变量
Led=0xFE;
//定义初步显示数据
for(TempCount=0;
TempCount<
8;
TempCount++)//通过循环进行数据显示
Delay();
//延时,用在每次移动数据开始处
Led=Led<
<
1;
//由右边向左边移动数据
return;
//空返回语句,表明此子程序的结束.
voidRightToLeft()//定义从右边到左边显示函数
{unsignedcharTempCount=0;
Led=0x7F;
//定义初步显示数据
TempCount++)//通过循环进行数据显示
//延时,用在每次移动数据开始处
Led=Led>
>
//由左边向右移动数据
//空返语句,表明此子程序的结束.
voidBothToMid()//定义由两边到中间显示子程序
//定义临时次数变量
Led=0xFF;
5;
TempCount++)//通过循环依次进行次数运行
//延时,在每次运行前.
Led=BToM[TempCount];
//读入当次显示数据.
//空返回,表明此子程序的结束.
voidMidToBoth()//定义由中间到两边子程序
//延时,在每次数据显示前.
Led=MToB[TempCount];
//读入当次显示数据.
//空返回,表明此次子程序的结束.
voidmain()//主程序入口处.
while
(1)//无穷循环开始.
{LeftToRight();
//从左到右进行显示
RightToLeft();
//从右到左进行显示
BothToMid();
//由两边到中间进行显示
MidToBoth();
//由中间到两边进行显示
开机后,指示灯向从左向右依次点亮,从右向左依次点亮,由两边向中间依次点亮,由中间向两边依次点亮。
实验三数码管演示
本程序通过对端口的置数操作,展示了数码管的应用技术,数码管是将发光二极管通过一定的形式封装在一个数字的外壳中,可以通过不同的点亮方式来显不同的数字符号。
//=============================================================//
2009/01/26//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 机器人 实验 指导书