智能小车源代码 避障 寻迹 寻光 遥控.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能小车源代码 相信看到文档的朋友都想做一个智能小车,我最近也在做这个项目,并成功完成了。喜悦之余,特把源代码与各位爱好者分享! 想学习的朋友可以看我另外一篇:智能小车各独立模块代码,里面有注释。有基础的朋友都看得懂的,在那代码的基础上,成功地合成了一个程序。 里面功能有,超声波避障,红外寻迹,自动寻光,红外遥控四个主要功能,还有数码管显示工作模式,LED灯显示电机工作状态等。 文章最后还有我的原理图。 元件的清单可看我另一篇:智能小车的元件清单(Excel)。 单片机我用的是STC89C52RC(便宜实惠哈,只是保密性不行),L298N的电机驱动,直流减速电机,普通的红外遥控器,红外寻迹模块。光敏传感器模块(技术好的朋友可以用光敏电阻加AD转换器,不过麻烦很多)。电源用12V,单片机的电源由电机驱动输出。 小车的实物图,很多东西藏???小车夹层了。 下面就是源代码了! #include stc15.h #include gpio.h //端口初始化,里面有个gpio();函数不用也可以 #include intrins.h #define uchar unsigned char #define uint unsigned int sbit IRIN =P3^2; //红外线一体化接收头接收端 sbit light1=P2^4; //寻光传感器1 sbit TX =P2^5; //超声波接口 sbit RX =P2^6; //超声波接口 sbit light2=P2^7; //寻光传感器2 sbit red1=P2^0; //3路红外寻迹 sbit red2=P2^2; sbit red3=P2^3; sbit led1=P1^0; //LED灯表示方向,前进,左转,有着,后退; sbit led2=P1^1; //这里我采用低电平驱动LED亮; sbit led3=P1^2; sbit led4=P1^3 ; sbit int31=P3^4; //电机驱动接口,这里我用L298N sbit int32=P3^5; sbit int41=P3^6; sbit int42=P3^7; uchar IRTemp; //红外线按键数据存放变量 uchar IRCOM[7]={0};//存放红外解码后的32位数据 uchar time =0; //定义超声波发射时间 uchar Flag =0; //定时器中断的时间变量 uchar Buffer[3] = {0}; unsigned long s=0; void Delay15us() //@11.0592MHz 延时15us { unsigned char i; i = 39; while (--i); } void Delay_140us(uchar t) //延时140 X t us { uchar i,j; for(j=0; jt; j++) { for (i=0; i27; i++) { _nop_(); } } } void Delay_1ms(uint t) //延时1ms { uint i,j; for(i=0;it;i++) { for(j=0;j=100;j++) { _nop_(); } } } void forward (void) //前进 { // int11=1; int12=0; // int21=1; int22=0; int31=1; int32=0; led3=0; led1=0; int41=1; int42=0; led4=0; led2=0; } void backward (void) //后退 { // int11=0; int12=1; // int21=0; int22=1; int31=0; int32=1; led3=1; led1=1; int41=0; int42=1; led4=1; led2=1; } void right (void) //右转 { // int11=1; int12=0; // int21=0; int22=0; int31=1; int32=0; led3=0; led1=0; int41=0; int42=0; led4=1; led2=1; } void left (void) //左转 { // int11=0; int12

文档评论(0)

麻将 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档