智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程

智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程

ID:38968423

大小:59.00 KB

页数:9页

时间:2019-06-22

智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程_第1页
智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程_第2页
智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程_第3页
智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程_第4页
智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程_第5页
资源描述:

《智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#defineucharunsignedchar#defineuintunsignedintsbith1=P3^0;//左使能端sbith2=P3^1;//右使能端sbitsg=P3^6;//蜂鸣器sbits2=P3^3;//第2红外接近开关sbits1=P0^5;//第1红外接近开关sbitd1=P3^7;//电机的驱动口///sbityb=P1^5;//硬币检查,已经接到中断口P3^2sbitg1=P0^6;//左对管sbitg2=P0^7;//右光电管sbitg3=P0^4;//中间右对管sbitg4=P0^3;/

2、/中间左对管sbitrs=P0^0;sbitrw=P0^1;sbite=P0^2;uchartable[]={0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33};//数组怎么写就看你的步进电机怎么接,步进电机是有2根线两两相通的0x18,0x42,0x24,0x81uchartable1[]={0x11,0x19,0x18,0x1c,0x14,0x16,0x12,0x13};//右转uchartable2[]={0x11,0x91,0x81,0xc1,0x41,0x61,0x21,0x31};//左转ucharcodetab

3、le3[]="全程时间:秒";//每个汉字2个字节ucharcodetable4[]="所走路程:CM";//每个汉字2个字节ucharcodetable5[]="硬币个数:个";//每个汉字2个字节ucharcodetable6[]="饮水瓶数:个";//每个汉字2个字节uinti,n,g=10,v=150,s=0,m=0,q=0,l=0,w=0,p=0,f,r=0,y=2;uintcount=0,shi,ge,shi1,ge1,bai,ge2,shi2,shi3,ge3;//ucharyi[]="0123456789"voiddisplay1(voi

4、d);voiddisplay2(void);voiddisplay3(void);voiddisplay4(void);voidwrite_12864com(ucharcom);//写指令voidwrite_12864dat(uchardat);//写数据voidinitinal(void);//初始化voidjishi(void);voidlucheng(void);voidzhizou();voidyingbi();voidyingbi();voidshuiping();//**************************************

5、**********//延时函数,在12MHz的晶振频率下//大约50us的延时//************************************************voiddelay_50us(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddelay_50ms(uintt)//延时函数{uintj;for(;t>0;t--)for(j=6245;j>0;j--);}/************************主函数****************************

6、/voidmain(){initinal();//LCM初始化display1();display2();display3();display4();lucheng();yingbi();shuiping();jishi();TMOD=0x01;//选择定时模式,方式1,16为定时/计数,最大计数65536TH0=(65536-10000)/256;TL0=(65536-10000)%256;//给定时器0付初值10msEA=1;//打开总中断开关PT0=1;//设计to为最高级中断EX0=1;//允许外部中断IT0=1;//等于1时候是地电平跳变时触发

7、,等于0时候是低电平EX1=1;//允许外部中断IT1=1;//等于1时候是地电平跳变时触发,等于0时候是低电平ET0=1;//开启定时/计数0中断TR0=1;//启动定时/计while(1){EX0=1;//开启中断0,为下次中断做准备d1=1;//关掉继电器sg=1;//关掉蜂鸣器zhizou();for(f=0;f<8;f++){P1=table[f];n++;//每给一个脉冲n自加一,轮子转一圈要给24x8=192个脉冲q++;//计算路程变量delay_50us(g);//15}if(s>=6)//当转过9个直角,就到检测瓶子这时候减慢速度{g

8、=30;}}}/************************计时函数****

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

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

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