欢迎来到天天文库
浏览记录
ID:43054901
大小:45.51 KB
页数:11页
时间:2019-09-25
《电子设计大赛智能小车程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、智能小车程序默认分类 2009-08-2409:32 阅读367 评论5 字号:大大 中中 小小 #include"reg52.h"#definedet_Dist2.55 //单个脉冲对应的小车行走距离,其值为车轮周长/4#defineRD9//小车对角轴长度#definePI3.1415926#defineANG_9090#defineANG_90_T102#defineANG_180189/*============================全局变量定义区======================
2、======*/sbitP10=P1^0;//控制继电器的开闭sbitP11=P1^1;//控制金属接近开关sbitP12=P1^2;//控制颜色传感器的开闭sbitP07=P0^7;//控制声光信号的开启sbitP26=P2^6;//接收颜色传感器的信号,白为0,黑为1sbitP24=P2^4;//左sbitP25=P2^5;//右接收左右光传感器的信号,有光为0unsignedcharmType=0;//设置运动的方式,0向前1向左2向后3向右unsignedcharDirection=0;//小车的即时朝向0朝上1朝
3、左2朝下3朝右unsignedsX=50;unsignedcharsY=0;//小车的相对右下角的坐标CM(sX,sY)unsignedcharStartTask=0;//获得铁片后开始执行返回卸货任务,StartTask置一unsignedcharInter_EX0=0;//完成一个完整的任务期间只能有一次外部中断 //Inter_EX0记录外部中断0的中断状态 //0动作最近的前一次未中断过, //1动作最近的前一次中断过unsignedcharcntIorn
4、=0;//铁片数unsignedcharbkAim=2;//回程目的地,0为A仓库,1为B仓库,2为停车场, //(在MAIN中接受铁片颜色判断传感器的信号来赋值)unsignedcharLight_Flag=0;//进入光引导区的标志(1)unsignedintcntTime_5Min=0;//时间周期数,用于T0精确定时unsignedintcntTime_Plues=0;//霍尔开关产生的脉冲数/*============================全局变量定义区================
5、============*//*------------------------------------------------*//*-----------------通用延迟程序-------------------*//*------------------------------------------------*/voiddelay(unsignedinttime) //time*0.5ms延时{unsignedinti,j;for(j=0;j6、60;i++){;}}}/*-----------------------------------------------*//*-------------------显示控制模块----------------*//*-----------------------------------------------*//*数码管显示,显示铁片的数目(设接在P0,共阴)*/voidDisplay(unsignedcharn){charNumb[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x7、07,0x7F,0x6F,0x37,0x77};P0=Numb[n];}/*-----------------------------------------------*//*-------------------传感器模块------------------*//*-----------------------------------------------*//*光源检测程序: *//*用于纠正小车运行路线的正确性*/unsignedcharLightSeek(){voidDisplay(unsigne8、dchar);bitl,r;l=P24;r=P25;if(l==0&&r==1) { //Display(1); return(3); //偏左,向右开 }if(r==0&&l==1) { //Display(3); return(1);//偏右,向左
6、60;i++){;}}}/*-----------------------------------------------*//*-------------------显示控制模块----------------*//*-----------------------------------------------*//*数码管显示,显示铁片的数目(设接在P0,共阴)*/voidDisplay(unsignedcharn){charNumb[12]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x
7、07,0x7F,0x6F,0x37,0x77};P0=Numb[n];}/*-----------------------------------------------*//*-------------------传感器模块------------------*//*-----------------------------------------------*//*光源检测程序: *//*用于纠正小车运行路线的正确性*/unsignedcharLightSeek(){voidDisplay(unsigne
8、dchar);bitl,r;l=P24;r=P25;if(l==0&&r==1) { //Display(1); return(3); //偏左,向右开 }if(r==0&&l==1) { //Display(3); return(1);//偏右,向左
此文档下载收益归作者所有