资源描述:
《智能小车程序(循迹、数瓶子(正放、倒放)测硬币计算路程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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;}}}/************************计时函数****