文件名称:
基于51单片机的c语言程序 智能小车系统设计
开发工具:
文件大小: 24kb
下载次数: 0
上传时间: 2012-05-06
详细说明:
部分源程序如下: #include #define kongzhi_GLOBAL 1 #include uchar PWM_t,PWM_t0; //PWM_t为脉冲宽度(0~100)时间为0~10ms uchar time_count; //定时计数 uint number,number1; uchar flag; //flag为小车状态标志,0:停止,1:前进,2:后退 uchar flag2; //flag2为小车状态恢复寄存区,当小车遇到障碍物停止,等到障碍物排除之后,小车在停止之前的状态就寄存在flag2中 uchar flag3; //flag3为小车避障停止延时标志,初始化为0,等待障碍排除之后赋值为1,开始计时,数秒之后恢复停止前的行进状态 uchar flag4; //--flag4为看门狗复位后状态恢复寄存区 uchar kind = 0; //传感器的种类 /* ******************************************************* *函数名称:void bizhang() *函数功能:遇到障碍物时的处理函数 *函数入口:无 *函数出口:无 ********************************************************/ void bizhang() { zhang_ai = 1; if(zhang_ai == 0) { flag2=flag; flag=0; while(zhang_ai == 0) { keyboard(); xunji(); stop(); WDT_CONTR=0x3b; } flag3=1; } } /******************************************************** *函数名称:void stop() *函数功能:到达目标点的控制函数 *函数入口:无 *函数出口:无 ********************************************************/ void stop() { stop_1=1; //目标站点1 if(stop_1==0)flag=0; stop_2=1; //目标站点2 if(stop_2==0)flag=0; stop_3=1; //目标站点3 if(stop_3==0)flag=0; } /******************************************************* *函数名称:void xunji() *函数功能:查询传感器反馈回来的路线状况,生成相应代码 *函数入口:无 *函数出口:无 ********************************************************/ void xunji() { uchar jiekou; spy=0xff; if(flag==1) { jiekou=spy&0x0f; switch(jiekou) { /*****左转*****/ case 0x0d:kind=1;break; //0b0000 1101 case 0x0c:kind=2;break; //0b0000 1100 case 0x0e:kind=2;break; //0b0000 1110 /*****右转*****/ case 0x0b:kind=3;break; //0b0000 1011 case 0x07:kind=4;break; //0b0000 0111 case 0x03:kind=4;break; //0b0000 0011 case 0x00:flag=0;break; //0b0000 0000 default:kind=0;break; } } spy=0xff; if(flag==2) { jiekou=spy&0xf0; switch(jiekou) { /*****左转*****/ case 0xd0:kind=3;break; //Ob1101 0000 case 0xc0:kind=4;break; //0b1100 0000 case 0xe0:kind=4;break; //0b1110 0000 /*****右转*****/ case 0xb0:kind=1;break; //0b1011 0000 case 0x70:kind=2;break; //0b0111 0000 case 0x30:kind=2;break; //0b0011 0000 case 0x00:flag=0;break; //0b0000 0000 default:kind=0;break; } } } /******************************************************* *函数名称:void delay() *函数功能:软件滤波,去抖动 *函数入口:无 *函数出口:无 ********************************************************/ void delay() { uchar i,k; for(i=20;i>0;i--) ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.