informe de ejercicios

17
Universidad Nacional José María Arguedas Identidad y Excelencia para el Trabajo Productivo y el Desarrollo “ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS” ASIGNATURA: ARQUITECTURA I SEMESTRE : 2012-II CICLO: V ANDAHUAYLAS –PERÚ 2013 MICROCONTROLADORES PIC16F84A Y PIC16F877A DOCENTE: ING. MARLON CANALES EGAS INTEGRANTE: Juan pichihua Huamán

Upload: jhon-pichihua-h

Post on 03-Nov-2014

116 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informe de Ejercicios

Universidad Nacional José María Arguedas Identidad y Excelencia para el Trabajo Productivo y el Desarrollo

“ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS”

ASIGNATURA: ARQUITECTURA I

SEMESTRE : 2012-II CICLO: V

ANDAHUAYLAS –PERÚ 2013

MICROCONTROLADORES PIC16F84A Y PIC16F877A

DOCENTE: ING. MARLON CANALES EGAS

INTEGRANTE:

Juan pichihua Huamán

Page 2: Informe de Ejercicios

1. Mediante un display alfanumérico mostrar en forma

descendente las letras del alfabeto de Z a A.

DFD INICIO

DECLARACION DE RPG _CONTA1 _CONTA2

CONFIGURACION DE PUERTOS _PUERTO B = SALIDA _PUERTO C = SALIDA

Z) PUERTOB = 00001001 PUERTOC = 10001000

Y) PUERTOB = 00000000 PUERTOC = 10001010

X) PUERTOB = 00000000 PUERTOC = 10101010

W) PUERTOB = 00000000 PUERTOC = 10100000

V) PUERTOB = 00000000 PUERTOC = 00001010

U) PUERTOB = 00111110 PUERTOC = 00000000

T) PUERTOB = 00100011 PUERTOC = 01000100

S) PUERTOB = 00101101 PUERTOC = 00010001

R) PUERTOB = 00110011 PUERTOC = 00110001

Q) PUERTOB = 00111111 PUERTOC = 00100000

P) PUERTOB = 00110011 PUERTOC = 00010001

O) PUERTOB = 00111111 PUERTOC = 00000000

N) PUERTOB = 00110110 PUERTOC = 00100010

M) PUERTOB = 00110110 PUERTOC = 00001010

L) PUERTOB = 00111000 PUERTOC = 00000000

K) PUERTOB = 00110000 PUERTOC = 00101001

J) PUERTOB = 00001110 PUERTOC = 00000000

I) PUERTOB = 00001001 PUERTOC = 01000100

H) PUERTOB = 00110110 PUERTOC = 00010001

G) PUERTOB = 11111101 PUERTOC = 00010000

F) PUERTOB = 00110001 PUERTOC = 00000001

E) PUERTOB = 00111001 PUERTOC = 00000001

D) PUERTOB = 00001111 PUERTOC = 01000100

C) PUERTOB = 00111001 PUERTOC = 00000000

B) PUERTOB = 00001111 PUERTOC = 01010100

A) PUERTOB = 00110111 PUERTOC = 00010001

FIN

A

A

B

B

Page 3: Informe de Ejercicios

SIMULACIÓN EN PROTEUS ………………………………………………………..

2

2. Por el puerto B mostrar las siguientes operacionesportB.0 = portC.0 and portC.1portB.1= portC.2 or portC.3portB.2 = portC.4 xor portC.5

SI NO

SI NO

SI NO

SI NO

SIMULACION EN PROTEUS

INICIO

DECLARACION DE RPG _BIT0 _BIT1 _BIT2

CONFIGURACION DE PUERTOS _PUERTO B = SALIDA _PUERTO C = ENTRADA

BIT0 = PUERTOC BIT1 = PUERTOC BIT2 = PUERTOC

W = 00000011 BIT0 = W AND BIT0

W = 00000011 W= W - BIT0

AA

STATUS2=1

PORTB,0=1 PORTB,0=0

W= 00000011 BIT1 = W AND BIT1

STATUS2=1

PORTB,1=0 PORTB,1=1

W= 00110000 BIT2 = W AND BIT2 W= 00000000 W = W - BIT2

STATUS2=1

PORTB,2=0

W = 00110000 W = W - BIT2

STATUS2=1

PORTB,2=0PORTB,2=1

INICIO

Page 4: Informe de Ejercicios

3. Según el estado de los interruptores RA0 y RA1, activar los leds RB0-RB7 conectados a la puerta B, conforme a la siguiente tabla de la verdad:

SI NO

SI NO

SI NO

W= 00000011 BIT1 = W AND BIT1

INICIO

CONFIGURACION DE PUERTOS _PUERTO A =ENTRADA _PUERTO B = SALIDA

W=00000000 W=W - PUERTOA

STATUS2=1PORTB=1010101

0W=00000001

W=W - PUERTOA

STATUS2=1PORTB=0101010

1W=00000010

W=W - PUERTOA

STATUS2=1

PORTB=00001111

PORTB=11110000

FIN

Page 5: Informe de Ejercicios

SIMULACION EN PROTEUS

4. Una lámpara conectada en RB1 se controla mediante dos interruptores conectados en RA1 y RA2. Cuando cualquiera de los interruptores cambie de estado, la lámpara también lo hará.

SI NO

SI NO

SI NO

SIMULACION EN PROTEUS

5. Una lámpara conectada en RB1 se controla mediante 3 interruptores conectados en RA1, RA2 y RA3. Cuando 2 interruptores están en estado alto se activara la salida RB1, en otra condición la salida estará apagado.

INICIO

DECLARACION DE RPG _TEMP

CONFIGURACION DE PUERTOS PUERTO B = SALIDA PUERTO A = ENTRADA

W = PUERTOA W= 00000011 AND W TEMP=W

W = 00000001W= W - TEMP

STATUS2=0

STATUS2=0

PORTB,0=0

PORTB,0=1W = 00000001W= W - TEMP

STATUS2=0

PORTB,0=0 PORTB,0=1

FIN

INICIO

DECLARACION DE RPG

CONFIGURACION DE PUERTOS PUERTO B = SALIDA PUERTO A = ENTRADA

Page 6: Informe de Ejercicios

SI NO

SI NO

SI NO

SI NO

SIMULACION EN PROTEUS

6. Efecto de luces tipo Auto Fantástico con un 16F84A por el puerto b, RB0 a RB7

INICIO

CONFIGURACION DE PUERTOS _PUERTO B = SALIDA

W=00000000 W=W - PUERTOA

W=10000000 PUERTOB=W

W= 01000000 PUERTOB=W

W= 00100000 PUERTOB=W

W= 00010000 PUERTOB=W

W= 00001000 PUERTOB=W

W= 00000100 PUERTOB=W

W= 00000010 PUERTOB=W

W= 00000001 PUERTOB=W

W= 00000010 PUERTOB=W

W=00000100 PUERTOB=W

W= 00001000 PUERTOB=W

W= 00010000 PUERTOB=W

W= 00100000 PUERTOB=W

W= 01000000 PUERTOB=W

A

A

B

B

Page 7: Informe de Ejercicios

SIMULACION EN PROTEUS

7. Diseñe un contador de 8 bits, que se incrementa cada vez que se pulsa “P” (RA0). Visualice el resultado por el puerto B. Activar un led (RA1), cuando el contador llegue a D’120’ y apagarlo cuando llegue a D’200’. Repetir el ciclo.

SI

NO

SI NO

SI NO

SIMULACIÓN EN PROTEUS

W=00000100 PUERTOB=W

W= 00001000 PUERTOB=W

W= 00010000 PUERTOB=W

W= 00100000 PUERTOB=W

W= 01000000 PUERTOB=W

FIN

INICIO

DECLARACION DE RPG _CONTA1 _CONTA2 _INC

CONFIGURACION DE PUERTOS PUERTO B = SALIDA PUERTO A = ENTRADA

W = 1W= W - PUERTOA

STATUS2=0

STATUS2=0

PORTA,1=1

FIN

Page 8: Informe de Ejercicios

8. Utilizando un PIC16F84 realice un Juego de Luces de 8 leds, donde por medio de un Pulsador de Inicio el Juego se coloque en funcionamiento. El Juego se comportara de la siguiente manera:

Los leds inicialmente se encenderán solo uno a la vez en secuencia, de DERECHA a IZQUIERDA y de IZQUIERDA a DERECHA; Este proceso lo realizara 7 veces, donde al terminar pasara a la siguiente secuencia que se comportara de la siguiente manera:El secuenciador será de 8 leds donde encenderán uno por uno, y al estar todos encendidos se apagaran; Este Proceso se realizara 5 veces. Luego todo este proceso se realizara nuevamente. Nota: Utilice las instrucciones RLF y RRF

NO

SI

NOSI

NO

SI

NO

SI

INICIO

DECLARACION DE RPG _AUX1 _AUX2 _CONTA1_CONTA2

CONFIGURACION DE PUERTOS PUERTO B = SALIDA PUERTO A = ENTRADA

PUERTOA,0=1

PUERTOB=0AUX1=0AUX2=0

PUERTOB,0 = 1

LLAMAR RETARDO ROTAMOS PUERTOB A LA IZQUIERDA

PUERTOB,0=1

LLAMAR RETARDO ROTAMOS PUERTOB A LA DERECHA

PUERTOB,0=1

INCREMENTAR AUX1

AUX1=7

A

INCREMENTAR AUX2

A

PUERTOB = 0 LLAMAR RETARDO

PUERTOB = 1 LLAMAR RETARDO

PUERTOB = 2 LLAMAR RETARDO

PUERTOB = 3 LLAMAR RETARDO

PUERTOB = 4 LLAMAR RETARDO

PUERTOB = 5 LLAMAR RETARDO

PUERTOB = 6 LLAMAR RETARDO

PUERTOB = 7 LLAMAR RETARDO

AUX2=5

INCREMENTAR AUX2

FIN

B B

Page 9: Informe de Ejercicios

SIMULACION EN PROTEUS

9. Utilizando un PIC16F84 realice un Contador de 4 en 4 que cuando llegue a 40 realice el encendido de una alarma por medio del Pin RA4, luego de ello se debe realizar el contador de 4 en 4 de forma descendente y al terminar se debe realizar todo el proceso nuevamente.

NO

SI

NO

SI

SIMULACION EN PROTEUS

10. Utilizando un PIC16F877 realice la captación de dos números de 4 bits, los cuales ambos son suministrados por el Puerto B. Estos números deben de ser comparados para lo siguiente:

Si N1=N2 encender una alarma. (Por RA0)Si N1>N2 realizar la suma de estos números para luego realizar un contador desde este valor hasta su desbordamiento. (Mostrar por el Puerto A)Si N1<N2 realizar el complemento a 1 del

númeroN2. (Mostrar por el Puerto A)El numero N1 son los 4 bits menos significativos del Puerto B y el numero N2 son los 4 bits mas significativos del Puerto B.

INICIO

DECLARACION DE RPG _CONTADOR1 _CONTADOR2 _AUX1 _AUX2

CONFIGURACION DE PUERTOS PUERTO B = SALIDA PUERTO A = SALIDA

W = 4 PUERTOB = PUERTOB + W LLAMAR A RETARDO

PUERTOB=40

PUERTOA = 1 W = 4 PUERTOB = PUERTOB - W LLAMAR A RETARDO

INICIO

DECLARACION DE RPG _CONTADOR1 _CONTADOR2 _N1 _N2

CONFIGURACION DE PUERTOS PUERTO B = ENTRADA PUERTO C = SALIDA

W=1111W=W AND PUERTOBNUMERO1 = W

W=1111 0000

Page 10: Informe de Ejercicios

SI NO

SI NO

11. Utilizando un PIC16F84, realice un contador binario de 5 a 55 por medio de leds, en bucle infinito.

NO

SI

12.

Utilizando un PIC16F84 realice un secuenciador de 8 leds de izquierda a derecha y de derecha a izquierda por el Puerto B. Se deben ir encendiendo los leds de 3 en 3 en forma secuencial. (Mientras tres leds estén encendidos todos los demás están apagados).

El secuenciador a la izquierda se realiza por medio de la activación de un suiche colocado en RA0 en activo bajo.El secuenciador a la derecha se realiza por la activación de un suiche colocado en RA1 en activo bajo. En otros estados de la entrada la salida sera apagado.

W=1111W=W AND PUERTOBNUMERO1 = W

W=1111 0000

INICIO

DECLARACION DE RPG _SUMA _CONTA1 _CONTA2

CONFIGURACION DE PUERTOS PUERTO B = SALIDA

NI>N2

SUMA = SUMA + 5

SUMA=0

Page 11: Informe de Ejercicios

SI NO

NOSI

13. Se tienen 2 switch que de acuerdo a las combinaciones de estos se realizaran uno de los siguientes procesos:

Si el SW1 = 1 y SW2 =0 se realiza la intermitencia de 8 leds 10 veces. Si el SW1=0 y el SW2=1 encender 8 leds de 2 en 2 de adentro hacia fuera y de afuera hacia adentro. Este proceso se debe ejecutar 5 veces.Si el SW1=0 y el SW2=0 el valor actual del puerto debe mantenerse. Si el SW1=1 y el SW2=1 se realizara un contador de 6 en 6 hasta 36.

SI NO

SI NOSI NO

SI NO

SUMA = SUMA + 5

INICIO

DECLARACION DE RPG _CONTADOR1 _CONTADOR2 _AUX1 _AUX2 _AUX3

CONFIGURACION DE PUERTOS PUERTO A = ENTRADA PUERTO B = SALIDA

PUERTOA=1

PUERTOB =111 PUERTO B ROTAR DERECHA

PUERTOA=10

PUERTOB =111 PUERTO B ROTAR IZQUIERDA

FIN

INICIO

DECLARACION DE RPG _CONTA1 _CONTA2 _DIEZ _CINCO _SEIS

CONFIGURACION DE PUERTOS PUERTO A = ENTRADA PUERTO B = SALIDA

PUERTOA=10

DIEZ = 10CINCO=5SEIS = 6

PUERTOB=11111111LLAMA AL RETARDOPUERTOB=00000000LLAMA AL RETARDODIEZ=DIEZ-1

A B

A

PUERTOA=01DIEZ=0

B

PUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000LLAMA AL RETARDOPUERTOB =00011000CINCO = CINCO - 1

PUERTOB=PUERTOB + 6LLAMA AL RETARDOSEIS=SEIS -1

SEIS=0

Page 12: Informe de Ejercicios

SI NO

SIMULACION EN PROTEUS

14.15.

16. Por medio de la activación de 1 de 4 suitch, realizara lo siguiente: Si RA0=1 rota a la izquierda con solo 1 led encendido. Si RA1=1 rota a la derecha con solo 1 led encendido. Si RA2=1 rota a la izquierda dejando encendido cada led. Si RA3=1 rota a la derecha dejando encendido cada led La muestra se realiza por el puerto B.

SI NO

SI NO

SI NO

SI NO

INICIO

DECLARACION DE RPG _CONTA1 _CONTA2

CONFIGURACION DE PUERTOS PUERTO A = ENTRADA PUERTO B = SALIDA

PUERTOA=01

ROTAR IZQUIERDAPUERTOB = 1LLAMA AL RETARDO

PUERTOA=10

ROTAR DERECHAPUERTOB = 1LLAMA AL RETARDO

PUERTOA=100

PUERTOB=00000000LLAMA AL RETARDO PUERTOB=00000001LLAMA AL RETARDO PUERTOB=00000011LLAMA AL RETARDOPUERTOB=00000111LLAMA AL RETARDOPUERTOB=00001111LLAMA AL RETARDOPUERTOB=00011111LLAMA AL RETARDOPUERTOB=00111111LLAMA AL RETARDOPUERTOB=01111111LLAMA AL RETARDOPUERTOB=11111111LLAMA AL RETARDO

AA

PUERTOA=1000

PUERTOB=00000000LLAMA AL RETARDO PUERTOB=10000000LLAMA AL RETARDO PUERTOB=11000000LLAMA AL RETARDOPUERTOB=11100000LLAMA AL RETARDOPUERTOB=11110000LLAMA AL RETARDOPUERTOB=11111000LLAMA AL RETARDOPUERTOB=11111100LLAMA AL RETARDOPUERTOB=11111110LLAMA AL RETARDOPUERTOB=11111111LLAMA AL RETARDO

FIN

Page 13: Informe de Ejercicios

SIMULACION EN PROTEUS

17. Leer las tres líneas mas bajas del puerto A, que fijan el número de leds que se iluminan en la salida. A si por ejemplo si lee el dato “xx101” (cinco) en los leds conectados al puerto B se iluminara el código “00011111” encendiéndose cinco leds.

SI NO

SI NO

SI NO

SI NO

SI NO

SI NO

SI NO

SI NO

SIMULACION EN PROTEUS

18. Hacer un programa para 16F84 de tal manera que a través de dos displays pueda visualizarse un contador decimal de 0 – 99 ascendentes.

INICIO

CONFIGURACION DE PUERTOS PUERTO A = ENTRADA PUERTO B = SALIDA

PUERTOA=0

PORTB=00000000

PUERTOA=1

PORTB=00000001

PUERTOA=10

PORTB=00000011

PUERTOA=11

INICIO

CONFIGURACION DE PUERTOS PUERTO A = SALIDAPUERTO B = SALIDA

PUERTOB = 0

PUERTOB = PUERTOB + 1PUERTOA

Page 14: Informe de Ejercicios

NO

SI

NO SI

SIMULACION EN PROTEUS

PUERTOB = PUERTOB + 1PUERTOA