智能小汽车在PROTEUS下的仿真设计(避障).doc

智能小汽车在PROTEUS下的仿真设计(避障).doc

ID:51928236

大小:75.00 KB

页数:9页

时间:2020-03-19

智能小汽车在PROTEUS下的仿真设计(避障).doc_第1页
智能小汽车在PROTEUS下的仿真设计(避障).doc_第2页
智能小汽车在PROTEUS下的仿真设计(避障).doc_第3页
智能小汽车在PROTEUS下的仿真设计(避障).doc_第4页
智能小汽车在PROTEUS下的仿真设计(避障).doc_第5页
资源描述:

《智能小汽车在PROTEUS下的仿真设计(避障).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能小车在PROTEUS下的仿真设计#include//头文件#defineucharunsignedchar//宏定义#defineuintunsignedint//宏定义sbitIN1=P2^0;sbitIN2=P2^1;sbitIN3=P2^6;//定义驱动sbitIN4=P2^7;sbitEN1=P2^2;sbitEN2=P2^5;sbitC0=P0^0;//右1传感器sbitC1=P0^1;//右2传感器sbitC2=P0^2;//左2传感器sbitC3=P0^3;//左2传感器sbitSTOP=P2^3;//障碍物传感器sbitQQ=P2^4;//扬声器uchar

2、codetable[]={0xbf,0x86,0x5b,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//定义表格ucharsi,fen,miao,shi,ge;//定义时:分:秒;和十位个位。uchari,aa,bb,tt=0,ss=0;voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)for(y=50;y>0;y--);}voidinit()//对函数初始化{TMOD=0x11;TH0=(65536-20000)/256;//TH0装初值TL0=(65536-20000)%256;//TL0装初值TH1=(65536-2

3、000)/256;//TH1装初值TL1=(65536-2000)%256;//TL1装初值EA=1;ET0=1;ET1=1;//开中断TR0=1;TR1=1;P3=0x00;P1=0x00;}voidtimer0()interrupt1//T0中断函数{TH0=(65536-20000)/256;//TH0装初值TL0=(65536-20000)%256;//TL0装初值tt++,ss=1;if(tt==50){tt=0;miao++;if(miao==60){fen++;miao=0;}if(fen==24){fen=0,si++;}}}voidtimer1()interrupt3//T1

4、中断函数{TH1=(65536-2000)/256;//TH1装初值TL1=(65536-2000)%256;//TL1装初值if(aa==i){EN1=1;}if(bb==9)//产生PWM波{EN1=0,aa=0,bb=0;}aa++,bb++;}voidkeyscan()//键盘扫描{if(C0&&C1&&C2&&C3==1){delay(6);if(C0&&C1&&C2&&C3==1){P3=0x00;P1=0xbf;EN2=1,EN1=1,IN1=1,IN2=1;ET1=0;miao=0,fen=0,si=0;while(C0&&C1&&C2&&C3==1);}}}voidmain(

5、)//主函数{IN1=1,IN2=0;EN2=1;init();//调用初始化函数while(1){P0=0XFF;if(STOP==0)//有障碍物{EN2=1,EN1=1,IN1=1,IN2=1;ET1=0;QQ=0;}if(STOP==1)//无障碍物{QQ=1;ET1=1;IN1=1,IN2=0;EN2=1;if(C0

6、C1

7、C2

8、C3==0)//没有脱轨{i=2;}P0=0XFF;if(C0

9、C1

10、C2

11、C3==1)//有脱轨{i=5;if(C0==1)//右1传感器检测到黑线{IN3=1,IN4=0;delay(5);IN3=0,IN4=0;}if(C1==1)//右2传感器检测到

12、黑线{IN3=1,IN4=0;delay(15);IN3=0,IN4=0;}if(C3==1)//左1传感器检测到黑线{IN3=0,IN4=1;delay(5);IN3=0,IN4=0;}if(C2==1)//左2传感器检测到黑线{IN3=0,IN4=1;delay(15);IN3=0,IN4=0;}}}if(ss==1){ss=0;shi=miao/10;//分离秒的十位ge=miao%10;//分离秒的个位P3=0xdf;P1=table[ge];//显示秒的个位delay(5);P3=0xef;P1=table[shi];//显示秒的十位delay(5);shi=fen/10;//分离分

13、的十位ge=fen%10;//分离分的个位P3=0xf7;P1=table[ge];//显示分的个位delay(5);P3=0xfb;P1=table[shi];//显示分的十位delay(5);shi=si/10;//分离时的十位ge=si%10;//分离时的个位P3=0xfd;P1=table[ge];//显示时的个位delay(5);P3=0xfe;P1=table[shi];//显示时的十

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

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

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