informe de ejercicios
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
NO
SI
NO SI
SIMULACION EN PROTEUS
PUERTOB = PUERTOB + 1PUERTOA