RESOLUCION DEL PARCIAL DE LENGUAJE ENSAMBLADOR
Carlos TvrApuntes3 de Diciembre de 2015
3.671 Palabras (15 Páginas)237 Visitas
UNIVERSIDAD NACIONAL DEL CALLAO[pic 1][pic 2]
FACULTAD DE INGENERIA INDUSTRIAL Y SISTEMAS
ESCUELA PROFESIONAL DE INGENERIA DE SISTEMAS
TRABAJO: RESOLUCION DEL PARCIAL DE LENGUAJE ENSAMBLADOR
PROFESOR: OSWALDO DANIEL CAZASOLA CRUZ
INTEGRANTES:
- CISNEROS CONDORI STEPHANY
- OLIVARES MARCA FERNANDO
- VILLAGOMEZ SALDIVAR ROBERTO
2015
INDICE
PAG
Ejercicio 1 ----------------------------------------------------------------------------------------------------- 1
Código -------------------------------------------------------------------------------------------------------- 1-2
Proteus -------------------------------------------------------------------------------------------------------- 3
Ejercicios 2 --------------------------------------------------------------------------------------------------- 3
Código --------------------------------------------------------------------------------------------------------- 4
Proteus --------------------------------------------------------------------------------------------------------- 4
Ejercicio3 ------------------------------------------------------------------------------------------------------ 5
Código ---------------------------------------------------------------------------------------------------------- 5-6
Proteus ---------------------------------------------------------------------------------------------------------- 6
Ejercicio 4 ------------------------------------------------------------------------------------------------------ 7
Código ---------------------------------------------------------------------------------------------------------- 7-8
Proteus ---------------------------------------------------------------------------------------------------------- 8
Ejercicio 5 ------------------------------------------------------------------------------------------------------ 9
Código ---------------------------------------------------------------------------------------------------------- 9
Proteus ---------------------------------------------------------------------------------------------------------- 9
Ejercicio 6 ------------------------------------------------------------------------------------------------------ 10
Código ------------------------------------------------------------------------------------------------------- 10-11
Proteus ---------------------------------------------------------------------------------------------------------- 11
Ejercico 7 ------------------------------------------------------------------------------------------------------- 11
Código ------------------------------------------------------------------------------------------------------- 11-12
Proteus --------------------------------------------------------------------------------------------------------- 13
Ejercicio 8 ----------------------------------------------------------------------------------------------------- 14
Código --------------------------------------------------------------------------------------------------------- 15
Proteus --------------------------------------------------------------------------------------------------------- 16
- Realizar un programa que realice el movimiento de los leds de un display 7 segmentos, este movimiento debe ser un desplazamiento a derechas, debemos introducir un retardo para que sea visible en los leds. Realizar el listado asm, simular y programar el pìc.
CODIGO:
LIST p=16F84A
INCLUDE
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
CBLOCK 1x0c; Incrustación de la librería en el Registro CONTADOR
CONTADOR
ENDC
#DEFINE DISPLAY PORTB; Definimos el Display en el puerto B
ORG 0
BSF STATUS, RP0; Banco de memoria
CLRF DISPLAY
BCF STATUS, RP0
INICIO CLRF CONTADOR
MOVF CONTADOR, W; Movemos el valor de Contador a W
CALL SIETE_SEGMENTOS
MOVWF DISPLAY
CALL Retardo_200ms
CONTAR
INCF CONTADOR, F
MOVLW d'7'
SUBWF CONTADOR, W
BTFSC STATUS, C
GOTO INICIO
MOVF CONTADOR, W
CALL SIETE_SEGMENTOS
MOVWF DISPLAY
CALL Retardo_200ms
GOTO CONTAR
SIETE_SEGMENTOS
ADDWF PCL, F
TABLA
RETLW b'00000001'
RETLW b'00000010'
RETLW b'00000100'
RETLW b'00001000'
RETLW b'00010000'
RETLW b'00100000'
RETLW b'01000000'
INCLUDE
END
PROTEUS:
[pic 3]
- Se necesita realizar un and entre el valor b'00010101' y el valor introducido por el puerto a, el resultado lo visualizaremos mediante unos leds conectados al port b. realizar el programa, simular y grabar en pic.
CODIGO:
LIST P=16F84A
STATUS EQU 0X03
TRISB EQU 0X86
PORTB EQU 0X06
F EQU 0X01
W EQU 0X00
REG1 EQU 0X0C
REG2 EQU 0X0D
REG3 EQU 0X0E
ORG 0X00
GOTO INICIO
INICIO BSF STATUS,5
CLRF TRISB
BCF STATUS,5
NUEVO MOVLW 0XFF
MOVWF PORTB
CALL RETARDO
CLRF PORTB
CALL RETARDO
GOTO NUEVO
RETARDO CLRF REG1
CLRF REG2
MOVLW 0X0A
MOVWF REG3
BUCLE DECFSZ REG1,F
GOTO BUCLE
DECFSZ REG2,F
GOTO BUCLE
DECFSZ REG3,F
GOTO BUCLE
RETURN
END
PROTEUS:
[pic 4]
- Queremos realizar un juego de luces de forma que los leds conectados al puerto b realicen la siguiente secuencia:
- Desplazarse hacia la derecha, desplazarse a la izquierda y producir una intermitencia 5 veces con todos los leds del portb
- Realizar el programa, simular y grabar el pic, y comprobar con el entrenador.
CODIGO:
LIST P=16F84A
INCLUDE P16F84A.INC
__CONFIG 0x03f9
O EQU 0X21
M EQU 0X22
N EQU 0X23
I EQU 0X24
INICIO
BSF STATUS, 5
CLRF TRISB
BCF STATUS, 5
PRINCIPAL
MOVLW B'10000000'
MOVWF PORTB
DERECHA
CALL RETARDO
RRF PORTB, 1
BTFSS PORTB, 0
GOTO DERECHA
CLRF I
CALL RETARDO
...