智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹

智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹

ID:8481219

大小:38.50 KB

页数:14页

时间:2018-03-29

智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹_第1页
智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹_第2页
智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹_第3页
智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹_第4页
智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹_第5页
资源描述:

《智能小车各独立模块_红外遥控_电机驱动_超声波_红外寻迹》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、相信进来的都是想学习和制作智能小车的,最近也在学习智能小车,我们的小车功能时红外遥控小车,小车避障,小车寻迹。现在将学习过程中所发现的一些比较好的代码与大家分享,希望能对大家有所帮助。红外遥控#include#include#include#defineucharunsignedchar#defineuintunsignedintsbitIRIN=P3^2;//红外线一体化接收头接收端sbitout1=P2^1;sbitout2=P2^2;sbitout3=P2^3;sbitout4=P

2、2^4;sbitout5=P2^5;sbitout6=P2^6;sbitout7=P2^7;sbitout8=P2^0;ucharIRTemp;//红外线按键数据存放变量ucharIRCOM[7]={0};//存放红外解码后的32位数据voidDelay_140us(uchart)//延时140us{uchari,j;for(j=0;j

3、j++){_nop_();}}}voidOutsideInit(void)//设置外部中断初始化{EX0=1;//开外部中断0IT0=1;//负边沿触发EA=1;//开总中断}voidIRReceive(void)interrupt0using2//设置中断接收红外编码{uchari,j,count=0;EX0=0;//关闭外部中断1Delay_140us(20);if(IRIN==1)//确认红外线信号出现{EX0=1;return;}while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。{Delay_140us(1);

4、}while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。{Delay_140us(1);}for(i=0;i<4;i++)//收集四组数据{for(j=0;j<8;j++)//每组数据有8位{while(!IRIN)//等IR变为高电平{Delay_140us(1);}while(IRIN)//计算IR高电平时长{Delay_140us(1);count++;if(count>=30)//计数过长自动离开。{EX0=1;return;}}IRCOM[i]=IRCOM[i]>>1;//数据右移一位,最高位补"0"if(co

5、unt>=6){IRCOM[i]=IRCOM[i]

6、0x80;//数据最高位或上"1"}count=0;}}if(IRCOM[2]!=~IRCOM[3])//不相等,则红外遥控解码错误{EX0=1;return;}EX0=1;}voidMain(void){IRIN=1;//接收端口初始化OutsideInit();//初始化外部中断while(1){if(IRCOM[2]==0x0c)//按1out1=0;elseout1=1;if(IRCOM[2]==0x18)//按2out2=0;elseout2=1;if(IRCOM[2]==0x5e

7、)//按3out3=0;elseout3=1;if(IRCOM[2]==0x08)//按4out4=0;elseout4=1;if(IRCOM[2]==0x1c)//按5out5=0;elseout5=1;if(IRCOM[2]==0x5a)//按6out6=0;elseout6=1;if(IRCOM[2]==0x42)//按7out7=0;elseout7=1;if(IRCOM[2]==0x52)//按8out8=0;elseout8=1;}}电机驱动#include#include#include<

8、gpio.h>#include<595hc.h>#defineunsignedchar#defineunsignedintucharpwm=20;ucharpwmh=1;ucharconter=0;ucharm=1;bitsw=1;bitlr=0;sbitksw=P1^0;sbitklr=P1^1;sbitkspu=P1^2;sbitkspd=P1^3;sbitm1=P1^4;sbitm2=P1^5;voidDelay1ms()//@11.0592MHz{unsignedchari,j;_nop_();_nop_();_nop_();i=11

9、;j=190;do{while(--j);}while(--i);}//tms延时voidDelayxms(uintt){uchari;for(i-0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。