case 0x02:{switch(NumA) { case 1:P1=P2=0x08;break;//1左转 case 2:P1=P2=0x10;break;//2右转 } }break; //D case
0x04:{P2=0x00;delay_ms(1000);if(temp==0x04)NumA++;if(NumA>2)NumA=1;}break; //A,0停止1、2改变调节状态 case 0x08:{switch(NumA) { case 1:{P1=0x55;P2=0xf0;PWM_H=PWM_H+1000;if(PWM_H>49999) PWM_H=PWM-1;PWM_L=PWM-PWM_H;}break;//1加速 case 2:{P1=0xaa;P2=0x0f;PWM_H=PWM_H-1000;if(PWM_H<500) PWM_H=500;PWM_L=PWM-PWM_H;}break; //2减速 } }break; //C default:{P2=0x00;} } } }
/****************************************************/ void main() {
PWM=50000;//控制周期50ms PWM_H=35000;
PWM_L=PWM-PWM_H;
flagHL=0;
T0_initialize();
while(1) {
keyscan(); } }
void timer0()interrupt 1 { if(flagHL==0) { TH0=(65536-PWM_H)/256;
21
TL0=(65536-PWM_H)%6; flagHL=1; } else { P1=0x00; P2=0xff; TH0=(65536-PWM_L)/256; TL0=(65536-PWM_L)%6; flagHL=0; } }
22
相关推荐: