定时时间Р Р Р二是脉冲宽度的调整,此任务由定时器T0完成。T0的定时时间可通过按键进行调整,且当T0定时时间到时,启动电机运行,T0的再次启动由T1控制,也就是新的PWM周期的开始。РTT0: CLR TR0 ;TR0=0,定时器T0停止运行Р MOV P3,#10H ;P3.4=1,晶体管Q1,Q4导通,启动电机Р正转Р RETI ;中断返回Р单片机初始化程序如下:РMAIN: MOV TMOD,#22H ;T0、T1均工作在方式2Р MOV TH1,#0Р MOV TL1,#0Р MOV TL0,#80HР MOV TH0,#80HР SETB EA ;开放中断Р SETB ET0Р SETB ET1Р MOV R1,#80HР加速注水程序如下:РLOOP: JB P1.0,SS2Р JNB P1.0,$Р CJNE R1,#0FAH,DD1 ; R1没有达到最大值,转Р AJMP LOOP ;R1达到最大值,不变化Р DD1: INC R1 ;S1键按下增加占空比Р MOV TL0,R1 ;重装初值Р MOV TH0,R1Р AJMP LOOPР减速注水程序如下:Р SS2: JB P1.1,SS3Р JNB P1.1,$Р CJNE R1,#09H,DD2 ;R1不是最小值,转DD2Р AJMP LOOP ;R1是最小值,不变化РDD2: DEC R1 ;S2键按下减小占空比Р MOV TL0,R1 ;重装初值Р MOV TH0,R1Р AJMP LOOPР开始注水程序如下:РSS3: JB P1.2,SS4Р JNB P1.2,$Р SETB TR1 ;S3键按下电机开始运行Р AJMP LOOPР停止注水程序如下:Р SS4: JB P1.3,LOOPР JNB P1.3,$Р CLR TR1Р CLR TR0Р MOV P3,#00HР AJMP LOOP