Red de conocimiento informático - Material del sitio web - Cómo modificar el programa de la lavadora Little Swan

Cómo modificar el programa de la lavadora Little Swan

Los dos siguientes son programas automáticos de lavadora que puedes modificar según los siguientes procedimientos: ORG 0000H START: AJMP MAIN; Inicialización ORG 0003H AJMP INT0; ; Dispositivo de sincronización 0 vector de interrupción ORG 0013H AJMP INT1; Abra la cubierta, vector de interrupción desequilibrado ORG 0030H PRINCIPAL: MOV P1, #0F0H; El programa principal inicia MOV P3, #7FH MOV SP, #35H MOV 56H, #0F0H; marca de drenaje (Especifique 56H como unidad de bandera) MOV 57H, #03; bandera del programa de lavado estándar de lavadora (especifique 57H) MOV 54H, #40 Asignación de lavado intenso de 4 segundos (especifique 54H para almacenamiento) MOV 55H, #10; Asigne un valor para 1 segundo entre lavados fuertes (especifique 55H para almacenamiento) MOV 58H, #06; Asigne un valor para 6 minutos de enjuague (especifique 58H para almacenamiento) CLR ET0 SETB EA; ; Establezca las interrupciones externas 0 y 1 en un nivel bajo para activar CLR IT1 SETB PX0 Establezca el nivel de prioridad de interrupción SETB PT0 SETB PX1 MOV TL0, #0B0H Establezca la constante de tiempo de interrupción de 100 MS MOV TH0, #3CH MOV TMOD, #01H KA: JNB P1.4, X1; el siguiente es el programa de escaneo de claves AJMP KB X1: ACALL K1 KB: JNB P1.5, X2 AJMP KC Dispositivo 0 interrupción SETB TR0 Iniciar temporizador 0 SETB P3.5 SETB EX0 CLR P3.4 MOV; A, 57H CJNE A, #00H, XY; ¿Es un programa de drenaje? AJMP BSH1; en caso afirmativo, pase al programa de drenaje; ¿Hay algún problema con el sistema de entrada de agua? AJMP FW; en caso afirmativo, salte al programa de manejo de fallas L1: JB P3.5, L0; ¿La entrada de agua alcanza el nivel de agua predeterminado? CLR P1.0 Una vez completada la entrada de agua, cierre la válvula de entrada de agua MOV 70H, #00 MOV 71H, #00 MOV 72H, #00 L: MOV 50H, #00 El siguiente es el procedimiento de trabajo de lavado/enjuague SETB; P1.2; rotación hacia adelante Unidad de lavado/enjuague MOV A, 50H CJNE A, 50H, $ CLR P1.2; P1.3; unidad de lavado/enjuague inverso MOV A, 54H CJNE A, 50H, $ CLR P1.3; 72H, L; Lavado / ¿Ha terminado el trabajo de enjuague? BSH: MOV A, 56H CJNE A, #0F0h, PBSH Se completó el trabajo de lavado/enjuague, ¿se drena el agua? DIC 57H; tiempos del ciclo de lavado

Cuenta menos 1 BSH1: SetB P1.1; operación de drenaje, abra la válvula de drenaje MOV 70H, #00 MOV 51H, #00 MOV A, #60 BSH2: CJNE A, 51H, BSH3; AJMP FW; en caso afirmativo, salte al controlador de fallas BSH3: JNB P3.5, BSH2; ¿El nivel del agua cae al nivel predeterminado? MOV A, 51H ADD A, #50 MOV 70H, #00 MOV 51H, #00 CJNE A, 51H, $; extensión del tiempo de drenaje D + 50 segundos MOV 73H, #00; Abra la tapa, no active el contacto de solicitud de interrupción de equilibrio SETB EX1 Durante la deshidratación, apertura de la tapa, activación de interrupción de desequilibrio BSH4: MOV 50H, #00 SETB P1.2 Unidad de deshidratación durante 5 segundos MOV A, #50 CJNE A, 50H, $ CLR P1.2 ; Intervalo de deshidratación 2 segundos MOV A, #20 MOV 50H, #00 CJNE A, 50H, $ INC 73H MOV A, 73H CJNE A, #17, BSH4 ¿Tiempo de deshidratación de hasta 2 minutos? CLR P1.1 SETB P3.5 CLR EX1; Se completa la deshidratación, se prohíbe la apertura de la tapa, se interrumpe la interrupción del desequilibrio MOV A, 57H CJNE A, #00, BSH5; AJMP PBSH; finalizar salto, finalizar programa de alarma BSH5: MOV A, 58H SUBB A, #2; Disminuir el tiempo de lavado/enjuague en 2 minutos MOV 58H, A AJMP XY El trabajo de lavado no ha terminado, continúa con el siguiente ciclo PBSH: MOV 74H, # 00; programa de alarma de fin de lavado JK: MOV 50H, #00 BJ1: SETB P3.7 MOV A, 50H CJNE A, #10, BJ1 MOV 50H, #00 BJ2: CLR P3.7 MOV A, 50H CJNE A, #10, BJ2 INC 74H MOV A, 74H CJNE A, #3, JK AJMP MAIN; Se completa el trabajo de lavandería, regrese al programa principal: CLR EX1; CLR P1.0 CLR P1.1 CLR P1 2 CLR P1.3 FW1: MOV 50H, #00 FW2: SETB P3.7 JNB P1.4, FW4 MOV A, 50H CJNE A, #10, FW2 MOV 50H, #. 00 FW3: CLR P3.7 JNB P1.4, FW4 MOV A, 50H CJNE A, #20, FW3 AJMP FW1 FW4: CLR P3.7 ACALL FZH JNB P1.4, $ AJMP MAIN: PUSH A; es la rutina de servicio de interrupción de pausa PUSH PSW PUSH DPH PUSH DPL SETB P3.4 Cancelar esta señal de solicitud de interrupción ACALL FZH MOV A, P1 MOV R1, A Guardar estado del puerto P1 ANL A, #0F0H MOV P1, A; suspende varias operaciones * JB P3.4, $ Esperando inicio Pulsación de tecla ACALL FZH MOV A, R1 MOV P1, A Restaura los datos originales del puerto P1 POP DPL POP DPH POP PSW POP A CLR P3.4 RETI; ; T0: PUSH A; Programa de servicio de interrupción temporizada del temporizador 0 PUSH DPH PUSH D

PL PUSH PSW INC 50H INC 70H; la unidad 100MS acumula 1 MOV A, 70H CJNE A, #0AH, LL ¿El tiempo llega a 1 segundo? MOV 70H, #00 INC 51H INC 71H; El tiempo llega a 1 segundo, luego la segunda unidad acumula 1 MOV A, 71H CJNE A, #3CH, LL; MOV 71H, #00H INC 52H INC 72H; cuando el tiempo llegue a 1 minuto, la unidad acumulará 1 LL: POP PSW POP DPL POP DPH POP A RETI: PUSH A; interrumpir la rutina de servicio PUSH PSW PUSH DPH PUSH DPL SETB P3.5; cancelar esta señal de solicitud de interrupción CLR P1.1; detener el drenaje de agua* para CLR P1.2; detener la deshidratación* para CLR ET0; P1.6 , $; Espere a que se abra la tapa o desaparezca la señal de interrupción de desequilibrio SETB P1.1; Reanudar el drenaje* como SETB P1.2 Reanudar la deshidratación* como POP DPL POP DPH POP PSW POP A CLR P3.5 SETB; ET0; se permite la interrupción del temporizador 0 RETI; retorno de interrupción; K1: ACALL DEL10; el siguiente es el programa de procesamiento de claves de selección fuerte y débil JNB P1.4, X4 AJMP EXIT1 MOV 55H, #20 AJMP EXIT1 J1: SETB P1.7 MOV 54H, #40 MOV 55H, #10 EXIT1: JNB P1.4, EXIT1 RET; K2: ACALL DEL10; El siguiente es el programa de procesamiento de claves de selección de programa de lavandería JNB P1, X5 AJMP X9 X5: ACALL FZH MOV A, 57H. CJNE A, #00, , #03, X7 SETB P3.0; Asignación de programa de trabajo económico de lavandería CLR P3.1 MOV 57H, #02 MOV 56H, #0F0H AJMP SETB P3.1 MOV 57H, #01 MOV 56H, #00 AJMP X9 X8: CJNE A, #01, : JNB P1.5, #64H DLL: NOP NOP NOP DJNZ R7, DLL DJNZ R6, D1MS RET Este TXT se descarga de "文库宝"