ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/7/6 22:09:53ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
void turnright() {
led=~led; left1=1; left2=0; right1=0; right2=1; //value=0; }
void turnright1() {
unsigned int j,k; j=0;k=0; while (j<3) { jd1=jd1-10; j++; }
DelayMs(1000); while (k<3) { jd1=jd1+10; k++; } }
void turnleft() {
led=~led; left1=0; left2=1; right1=1; right2=0; //value=0; }
void stop1(void) {
jd1=85;//ÓÒÂÖËٶȳõʼ»¯È¡Öµ·¶Î§0~200 jd2=70;//×óÂÖËٶȳõʼ»¯È¡Öµ·¶Î§0~200 }
void turnleft1() {
unsigned int m,n; m=0;n=0;
14
while (m<3) { jd2=jd2-10; m++; }
DelayMs(1000); while (n<3) { jd2=jd2+10; n++; } }
void add() { jd1=jd1+10; jd2=jd2+10; if(jd1>145) jd1=145; if(jd2>130) jd2=130; } void pluse() { jd1=jd1-10; jd2=jd2-10; if(jd1<65) jd1=65; if(jd2<50) jd2=50; }
void bizhang() {
//Timer0_Init(); if((qian1==1)&(qian2==1)) go(); else if((qian1==0)&(qian2==0)) { DelayMs(1000);back();DelayMs(800);turnright();DelayMs(800); } else if((qian1==1)&(qian2==0)) { back();DelayMs(1000);turnleft();DelayMs(800); } else if((qian1==0)&(qian2==1)) { back();DelayMs(1000);turnright();DelayMs(800); } }
15
void DelayMs(unsigned int x) //ÑÓ³Ùº¯Êý£¬0.14msÎó²î 0us {
unsigned char i; while(x--) {
for (i = 0; i<13; i++) {} } }
void IrInit() // ³õʼ»¯ºìÍâÏß½ÓÊÕ { IT0=1;//ϽµÑØ´¥·¢ EX0=1;//´ò¿ªÖжÏ0ÔÊÐí IRIN=1;//³õʼ»¯¶Ë¿Ú }
void ReadIr() interrupt 0//¶ÁÈ¡ºìÍâÊýÖµµÄÖжϺ¯Êý ·µ»ØÖµvalue { unsigned char j,k; unsigned int err; Time=0; DelayMs(70); if(IRIN==0) //È·ÈÏÊÇ·ñÕæµÄ½ÓÊÕµ½ÕýÈ·µÄÐźŠ{ err=1000; //1000*10us=10ms,³¬¹ý˵Ã÷½ÓÊÕµ½´íÎóµÄÐźŠ/*µ±Á½¸öÌõ¼þ¶¼ÎªÕæÊÇÑ»·£¬Èç¹ûÓÐÒ»¸öÌõ¼þΪ¼ÙµÄʱºòÌø³öÑ»·£¬ÃâµÃ³ÌÐò³ö´íµÄʱ ºî£¬³ÌÐòËÀÔÚÕâÀï*/ while((IRIN==0)&&(err>0)) //µÈ´ýÇ°Ãæ9msµÄµÍµçƽ¹ýÈ¥ { DelayMs(1); err--; } if(IRIN==1) //Èç¹ûÕýÈ·µÈµ½9msµÍµçƽ { err=500; while((IRIN==1)&&(err>0)) //µÈ´ý4.5msµÄÆðʼ¸ßµçƽ¹ýÈ¥ { DelayMs(1); err--; } for(k=0;k<4;k++) //¹²ÓÐ4×éÊý¾Ý { for(j=0;j<8;j++) //½ÓÊÕÒ»×éÊý¾Ý
16
// } } }
{ err=60; while((IRIN==0)&&(err>0))//µÈ´ýÐźÅÇ°ÃæµÄ560usµÍµçƽ¹ýÈ¥ while (!IRIN) { DelayMs(1); err--; } err=500; while((IRIN==1)&&(err>0)) //¼ÆËã¸ßµçƽµÄʱ¼ä³¤¶È¡£ { DelayMs(1);//0.14ms Time++; err--; if(Time>30) { EX0=1; return; } } IrValue[k]>>=1; //k±íʾµÚ¼¸×éÊý¾Ý if(Time>=8) //Èç¹û¸ßµçƽ³öÏÖ´óÓÚ565us£¬ÄÇôÊÇ1 { IrValue[k]|=0x80; } Time=0; //ÓÃÍêʱ¼äÒªÖØÐ¸³Öµ } } value=IrValue[2]; switch(value) {
case 0x45:flag=1;led=~led;break; case 0x47:flag=2;led=~led;break; case 0x46:flag=3;led=~led;break; case 0x44:flag=4;led=~led;break; case 0x18:add();led=~led;break; case 0x52:pluse();led=~led;break; default:break; } //ÅжÏģʽ 17
18