Lovera - Tarea-1 Al 4
Lovera - Tarea-1 Al 4
Nota: Para todos los ejercicios, realizar su diagrama de flujo, simularlo en Proteus con el
PIC16F84A.
1. Hacer un programa en Assembler para encender y apagar un led conectado al pin RA0
del Microcontrolador 16F84A.
Solución:
C1
1nF
X1 U1
16 17
C2 15
OSC1/CLKIN RA0
18
OSC2/CLKOUT RA1
1
RA2
4 2
MCLR RA3
1nF
RA4/T0CKI
3 R2
330
6
RB0/INT
R1 RB1
7
10k 8
RB2
9
RB3
RB4
10 D1
11
RB5
12
RB6
13
RB7
PIC16F84A
Diagrama de Flujo
INICIO
Configurar el puerto
TRISA como salida
Tiempo de encendido
del LED
Tiempo de apagado
del LED
FIN
Simulado en Proteus
2. Hacer un programa en Assembler de tal manera que por el puerto B se obtenga el dato
complementado del dato que ingresa por el puerto A del Microcontrolador PIC 16f84A.
Solución
0
1
0
C1 1
0
1nF
X1 U1
16 17
C2 15
OSC1/CLKIN RA0
18
OSC2/CLKOUT RA1
1
RA2
4 2
MCLR RA3
1nF 3
RA4/T0CKI
RB0/INT
6 1
R1 RB1
7
8
0
10k RB2
RB3
9 1
10
RB4
RB5
11 0
12
RB6
RB7
13 1
PIC16F84A
Diagrama de Flujo
INICIO
PORTA se guarda en W
COMPLEMENTO=W
Se realiza la operación
complemento y se guarda en W
PORTB=W
FIN
Simulado en Proteus
3. Hacer un código en Assembler para obtener por el puerto B el dato del puerto A
multiplicado por tres
Solución:
U1
16 17
OSC1/CLKIN RA0
15 18
OSC2/CLKOUT RA1
1
RA2
4 2
MCLR RA3
3
RA4/T0CKI
6
RB0/INT
7
RB1
R1 RB2
8
10k 9
RB3
10
RB4
11
RB5
12
RB6
13
RB7
PIC16F84A
0
0
0
0
1
0
0
1
Diagrama de Flujo
INICIO
PORTA se guarda en W
PORTA + W =W=SUMA 1
PORTA=W
SUMA1+W=W
PORTB=W
FIN
Simulado en Proteus
4. Hacer un código en Assembler para obtener por el puerto B el dato del puerto A
intercambiado los nibles alto y bajo.
Solución:
R2 R3 R4 R5 R6
10k 10k 10k 10k 10k
U1
16 17
OSC1/CLKIN RA0
15 18
OSC2/CLKOUT RA1
1
RA2
4 2
MCLR RA3
3
RA4/T0CKI
6
RB0/INT
7
RB1
R1 RB2
8
10k 9
RB3
10
RB4
11
RB5
12
RB6
13
RB7
PIC16F84A
R7 R8 R9 R10R11R12R13R14
330 330 330 330 330 330 330 330
Diagrama de Flujo
INICIO
PORTA se guarda en W
INTERCAMB=W
PORTB=W
FIN
Simulado en Proteus