1、 8,0x08,0,0x04,5,0x04, 8,0x0c,8,0x04, 8,0x06,8,0x02,5,0x04,6,0x02,7,0x02, 8,0x08,8,0x08, 0,0x04,10,0x04,8,0x04,9,0x02,10,0x02, /10,0x04,10,0x04,8,0x04,9,0x02,10,0x02, 12,0x08,12,0x08, 10,0x06,10,0x02,8,0x06,10,0x02, 12,0x06,10,0x02,9,0x08, /12,0x10, 9,0x10, 13,0x08,12,0x08, 9,0x08,10,0x08, 12,0x04,1
2、0,0x04,0,0x04,12,0x04, /12,0x04,10,0x04,10,0x04,12,0x04, 10,0x04,9,0x02,10,0x02,8,0x08, 10,0x08,0,0x08, /10,0x08,10,0x08, 5,0x06,6,0x04,8,0x04,8,0x04, 10,0x06,10,0x02,12,0x04,12,0x04, 9,0x04,9,0x02,9,0x02,6,0x08, 9,0x0c,5,0x04, 10,0x0c,10,0x04, 12,0x10, 8,0x06,10,0x02,12,0x04,12,0x04, 10,0x06,8,0x02
3、,12,0x08, 10,0x04,0,0x04,8,0x04,0,0x04, /10,0x04,10,0x04,8,0x04,8,0x04, 5,0x08,8,0x08, 8,0x08,0,0x08, /8,0x08, 0xff,0xff,uchar speed_count=2;uchar flag=0;bit timer_flag=0;bit MOTOR_FFW_FLAG=0;bit MOTOR_REV_FLAG=0;sbit K1 = P30; /正转sbit K2 = P31; /反转sbit K5 = P34; /停止sbit led1=P20;sbit led2=P21;sbit
4、led3=P22;sbit led4=P23;sbit led5=P24;sbit led6=P25;sbit beep=P37;void smg_display();void K1_stop_state();void K2_stop_state();void K5_stop_state();void music();uchar num1=0,num2=0,num3=0;uint cnt=0,Time=0,Length=0;uchar a=0;uchar tl0,th0;void delay(unsigned char t) /-延时函数-/ unsigned char t1; unsigne
5、d long t2; for(t1=0;t1t;t1+) for(t2=0;t20;a-) for(b=124;bb-);void DTIME(int n) /延时程序 uchar i; for(i=0;i2) speed_count=2;void down(void) interrupt 2 /减速 speed_count-; if(speed_count500) cnt=0; if(flag!=1&flag!=2) Time=0; if(flag=1) if(K5=0) K5_stop_state(); ET1=1; if(num3=5) num3=0; SETP_MOTOR_FFW();
6、 if(num1=100) num1=0; Time+; if(Time=43) a=Length; MOTOR_FFW_FLAG=1; MOTOR_REV_FLAG=0; K1_stop_state(); if(num2=24) num2=0; Length+; if(flag=2) SETP_MOTOR_REV(); Time-; if(Time=0) a+; MOTOR_FFW_FLAG=0; MOTOR_REV_FLAG=1; K2_stop_state(); Length-; void K1_stop_state() DTIME(2); P2|=0xff; P0=SZa/100; P
7、0=SZa/10%10; P0=SZa%100%10; if(K2=0) flag=2;break;void K2_stop_state() if(K1=0) flag=1;void K5_stop_state() P2|=0xff; led1=0; P0=SZ0; while(1);void music() unsigned char k; ET0=1; if( yyjjxqk=0xff) beep=1; TR0=0; delayms(50); else if( yyjjxqk=0x00) delay(yyjjxqk+1); k+=2; else th0=FreqTab yyjjxqk/256; tl0=FreqTab yyjjxqk%256; TR0=1; delay(yyjjxqk+1); 电路原理图如下所示:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1