益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:——智能寻迹机器人是由益芯科技有限公司为科教方便而研发设计。根据现代学校对嵌入式系统开发的需求。依据提高学生实际动手操作能力和思考能力,以加强学生对现实生活中嵌入式系统的应用为参照。智能寻迹机器人全新的设计模式,良好的电路设计,一体化的机电组合,智趣的系统开发,更是成为加强学生学习兴趣的总动源。智能寻迹机器人采用现在较为流行的8位单片机作为系统大脑。以8051系列家族中的AT89S51/AT89S52为主芯片。40脚的DIP封装使它拥有32个完全IO(GPIO—通用输入输出)端口,通过对这些端口加以信号输入电路,控制电路,执行电路共同完成寻迹机器人。P0.0,P0.1,P0.2,P0.3分别通过LG9110电机驱动来驱动电机1和电机2。由电机的正转与反转来完成机器人的前进,后退,左转,右转,遇障碍物绕行,避悬崖等基本动作。在机器人前进时如果前方有障碍物,由红外发射管发射的红外信号被反射给红外接收管,红外接管将此信号经过P3.7传送入AT89S52中,主芯片通过内部的代码进行机器人的绕障碍物操作,同时主芯片将P3.7的信号状态通过P2.5的LED指示灯显示出来。机器人行走时会通过P3.5与P3.6的红外接收探头来进行检测。当走到悬崖处时,P3.5或P3.6将收到一个电平信号,此电平信号将通过相应端口传送入主芯片中,主芯片通过内部代码完成机器人的避悬崖操作。同时P3.5与P3.6的信号状态将通过P2.6/P2.7显示出来。在机器人的左转,右转,后退的过程,可以通过观看以P2.0/P0.7为指示灯的运行状态。P0.4为机器人的声控检测端口,在运行为前进状态时,可以能过声控(如拍手声)来控制它的运行与停止。P0.6为机器人的声音输出端。在机器人遇到障碍物时。进行绕障碍物与避悬崖时可以通过此端口控制蜂鸣器发出报警声。当为白天或黑夜时可以通过P0.5端口中的光敏电阻来进行判断,以方便完成机器人夜间自动照明等功能。两个益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:。你可以按下S1键来进行机器的停止。再按下S2键来进行机器人的运行。这个按键的信息分别被P3.2,P3.4接收到。IR1为红外遥控接收器,这就为机器人进行远程遥控创造了可能。这个红外遥控接收头接收到红外信号时将信号经过P3.3送入到主芯片,主芯片对其进行解密后以不同的方式对机器人进行控制。同时将用户的按键信息通过P2端口上LED数码管显示出来。P3.0、P3.l中COM端口的加入,让你完全可以用电脑对其进行控制。你可以通过对串口发送数据,数据会被显示到LED数码管中,并让机器人执行相应的功能。电脑的串口软件要求波特率为9600。8位数据位,这时你就可以快乐的用电脑来对它进行你的完全控制了。EXKJ-ZN02功能的组合多样,使得学生可以充分发挥自主能力,制作出不同的机器人。它为学校进行机器人竞赛和毕业项目设计建立了实物平台,是学校教师授课变得更轻松有趣。同时也能改变学生学习模式和激发学习兴趣。更是作为验证学生学习效果的有力工具。良好的电路板设计,让学生制作变得方便容易,其大大提高了学生的制作成功率。提高了学生对电子电路的兴趣,更是教学过程中不可或缺的教具。益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:、实验简介:本程序重点演示了一个最简程序的基本结构,它从顺序、判断、循环的形式表现程序的基本结构,此程序通过闪灯不断的闪动,及闪灯闪动的快慢来表示程序不不同工作状态。它也是常数字设备中进行状态表示的方法之一(例:网卡)。二、实验原理图:三、实现代码://=====================================================================////实验名称:程序状态指示灯演示程序////开发日期:2009/01/19////修改日期:////程序作者:guojun邮箱:GuoGuoExkj@126.com////开发商:益芯科技有限公司——技术部////程序备注:此程序仅为表现本机功能而演示用,当用作实际工程时请慎用.////特别声明:此程序可作研究之用,但引用,转载,使用请注明出处.////=====================================================================//#includeAT89x51.h//包含头文件#defineLEDP1//宏定义显示端口号voidDelay(unsignedintDelayTime)//定义可变延时函数{while(DelayTime--);//延时函数进入倒计时益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:}voidmain()//程序主函数码{unsignedintCountData=0;//定义一个整形变量,用于闪动次数++while(1)//主程序循环体开始{if(CountData30)//判断闪动次数是否位于0-30之间{Delay(60000);//用60000作为基数开始延时函数}elseif(CountData60)//判断闪动次数是否位于30-60之间{Delay(30000);//用30000作为基数开始延时函数}elseif(CountData90)//判断闪动次数是否位于60-90之间{Delay(10000);//用10000作为基数开始延时函数}elseif(CountData120)//判断闪动次数是否位于90-120之间{CountData=0;//仅进行一次操作即可退出.}CountData=CountData+1;//闪动次数基数++LED=~LED;//将显示端口进行取反操作}}四、运行效果:程序运行效果为:开机后程序以慢速闪动,一段时间后速度开始加快,再等待时间,闪灯的速度达到最快,之后一段时间后,闪动将回到开始状态。益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:、实验简介:本程序全面的表现了子程序的用法,它从对几个子程序的操作,显示不同的流灯技术,流水灯的不同需要不同的表现的形式,而这里主要介绍了移位操作和内部数据存储及读入操作。延时函数采用可重入标志,可进行函数的递归调用。二、实验原理图:三、实现代码://=====================================================================////开发日期:2009/01/20////修改日期:////程序作者:guojun邮箱:GuoGuoExkj@126.com////开发商:益芯科技有限公司——技术部////程序备注:此程序仅为表现本机功能而演示用,当用作实际工程时请慎用.////特别声明:此程序可作研究之用,但引用,转载,使用请注明出处.////=====================================================================//#includeAT89x51.h//包含头文件#defineLedP1//定义显示端口号unsignedintcodeBToM[]={0x7E,0x3C,0x18,0x00};//定义由两边到中间显示数据unsignedintcodeMToB[]={0xE7,0xC3,0x81,0x00};//定义由中间到两边显示数据voidDelay()reentrant//定义可重入的延时函数{unsignedintDelayTime=10000;//定义延时时间基数while(DelayTime--);//程序开始延时开始益芯科技——让您在兴趣中学习,在运用中掌握,在掌握中应用。________________________________________________________________________________________________________益芯电子科技技术咨询:GuoGuoExkj@126.comZhenZhenExkj@126.com产品咨询:HongHongExkj@126.com淘宝旺铺:承芯易人:}voidLeftToRight()//定义从左边到右边显示函数{unsignedcharTempCount=0;//定义显示次数变量Led=0xFE;//定义初步显示数据for(TempCount=0;TempCount8;TempCount++)//通过循环进行数据显示{Delay();//延时,用在每次移动数据开始处Led=Led1;//由右边向左边移动数据}return;//空返回语句,表明此子程序的结束.}voidRightToLeft()//定义从右边到左边显示函数{unsigned