El enunciado de esta evaluacion fue este, ojala y te sirva de algo
En una empresa de correo tiene un sistema automatizado en el cual reparte la correspondencia o paquetes, a sus 8 destinos que tienen, clasificando los paquetes en livianos, pesados, urgentes y COD (cobro a destino), una persona toma los paquetes los pasa por un lector de barras (eso se simulara por el puerto) y el lector le informara a al brazo automatizado en donde deberá dejar el paquete (se tiene un área en donde hay 36 cestas donde se almacenan los paquetes antes de salir) el brazo automatizado toma el paquete y lo moviliza hasta la cesta que le corresponde, el brazo esta cerca de la banda transportadora donde llegan los paquetes y los moviliza hasta el final donde esta la persona que tiene el lector de barras. El brazo tiene los siguientes movimientos:
- Arriba 2 seg. (este es el tiempo de los retardos)
- Abajo 2 seg.
- Izquierda 1 seg. por cesta
- Derecha 1 seg. por cesta
- Abre (para soltar el paquete) 3seg
- Cierra (para tomar el paquete) 3 seg.
- Banda transportadora 5 seg. (todo el recorrido)
Debe tomarse en cuenta que se deben poner algunos sensores, utilice toda la lógica para que funcione a la perfección, toda la información se deberá visualizar en los las áreas de memoria del simulador (DUM1 DUM2), se debe mostrar el nombre del destino clasificación del paquete y un código que se le asigna al paquete. Al igual que debe mostrarse en que cesta esta dejando el paquete al momento de soltarlo. Una de las líneas del dum2 debe simular la banda transportadora.
Se debe hacer un diagrama y explicar que hace cada uno de los BIT de los puertos, traer documentado los retardos utilizados en el programa, deberán traerlo al momento de corregir el programa. E imprimir el archivo PRN de su programa.
1: ORG 0
2: LD SP,3DFFH
3: ;CONFIGURACION DE PUERTOS
4:
5: ; PUERTO A
6: ; BIT 7 = SENSOR DEL BRAZO
7: ; BIT 6 = SENSOR DEL FINAL DE LA BANDA
8: ; BIT 5 = SENSOR DEL INICIO DE LA BANDA
9: ; BIT 4,3,2 = INDICADORES DE DESTINO
10: ; BIT 1,0 = INDICADORES DEL TIPO DE PAQUETE
11:
12: ; PUERTO B
13: ; BIT 3 = AL MOTOR DE LA BANDA
14: ; BIT 2,1,0 = CONTROL DE MOVIMIENTOS DEL BRAZO MECANICO
15:
16:
17: LAZO1: IN A,(DATA)
18: BIT 5,A
19: JP Z,LAZO1
20: CALL MBON
21: CALL BANDA
22: CALL APAGAR
23: LAZO2: IN A,(DATA)
24: BIT 6,A
25: JP Z,LAZO2
26: IN A,(DATA)
27: LD IX,CESTAS
28: PUSH AF
29: RRCA
30: RRCA
31: AND 00000111B
32: LD IY,COLUMNA
33: CP 0
34: JP Z,COL1
35: CP 1
36: JP Z,COL2
37: CP 2
38: JP Z,COL3
39: CP 3
40: JP Z,COL4
41: CP 4
42: JP Z,COL5
43: CP 5
44: JP Z,COL6
45: CP 6
46: JP Z,COL7
47: INC IY
48: COL7: INC IY
49: COL6: INC IY
50: COL5: INC IY
51: COL4: INC IY
52: COL3: INC IY
53: COL2: INC IY
54: COL1: LD B,(IY)
55:
56: ;LD (IX),A
57: POP AF
58: AND 00000011B
59: LD IY,FILAS
60: CP 0
61: JP Z,FIL1
62: CP 1
63: JP Z,FIL2
64: CP 2
65: JP Z,FIL3
66: INC IY
67: FIL3: INC IY
68: FIL2: INC IY
69: FIL1: LD C,(IY)
70:
71:
72: ;LD (IX+1),A
73: PUSH BC
74: LAZO3: IN A,(DATA)
75: BIT 7,A
76: JP Z,LAZO3
77: LD IY,CESTAS
78: DEC IY
79: CALL CIERRA
80: LAZO4: CALL DERECHA
81: INC IY
82: DJNZ LAZO4
83: LD A,0
84: CP C
85: JP Z,LAZO6
86: LAZO5: CALL ABAJO
87: LD DE,8
88: ADD IY,DE
89: DEC C
90: JP NZ,LAZO5
91: LAZO6: CALL ABRE
92: CALL MARCAR
93: POP BC
94: LD A,0
95: CP C
96: JP Z,LAZO8
97: LAZO7: CALL ARRIBA
98: DEC C
99: JP NZ,LAZO7
100: LAZO8: CALL IZQUIERDA
101: DJNZ LAZO8
102: CALL APAGAR
103: JP LAZO1
104:
105:
106:
107:
108: MBON: LD A,8
109: OUT (DATB),A
110: ;CALL RETRASO
111: RET
112: APAGAR: LD A,0
113: OUT (DATB),A
114: ;CALL RETRASO
115: RET
116: ARRIBA: LD A,1
117: OUT (DATB),A
118: ;CALL RETRASO
119: RET
120: ABAJO: LD A,2
121: OUT (DATB),A
122: ;CALL RETRASO
123: RET
124: IZQUIERDA: LD A,3
125: OUT (DATB),A
126: ;CALL RETRASO
127: RET
128: DERECHA: LD A,4
129: OUT (DATB),A
130: ;CALL RETRASO
131: RET
132: ABRE: LD A,5
133: OUT (DATB),A
134: ;CALL RETRASO
135: RET
136: CIERRA: LD A,6
137: OUT (DATB),A
138: ;CALL RETRASO
139: RET
140: BANDA: LD IX,BANDAT
141: LD B,8
142: B1: LD (IX),"@"
143: ;CALL RETRASO
144: LD (IX),0
145: INC IX
146: DJNZ B1
147: RET
148: MARCAR: LD (IY),"@"
149: ;CALL RETRASO
150: LD (IY),0
151: RET
152:
153:
154: ORG 2000H
155: CESTAS DS 32
156: SERIAL DS 8
157: BANDAT DS 8
158:
159: ORG 2100H
160: COLUMNA DB 1,2,3,4,5,6,7,8
161: FILAS DB 0,1,2,3
162: CONTA EQU 06
163: CONTB EQU 07
164: DATA EQU 04
165: DATB EQU 05
166: END
167:
No hay comentarios:
Publicar un comentario