Está en la página 1de 5

INFORME DE LABORATORIO # 2

secuencia de leds

Resumen
Se realiz cada uno de los tres proyectos propuestos en el
laboratorio 2 del curso de Microcontroladores y
Microprocesadores, en los cuales bsicamente se trabajo
con programacin para pic utilizando el 16f84A, se trata de
dar solucin a la secuencia de leds para lo cual se necesita
conocimiento sobre electrnica anloga y digital, para
poder culminar con xito los proyectos propuestos.

Introduccin
El presente documento presenta el informe del laboratorio 2
el cual se desarrolla con el pic 16f84A, se realiza siguiendo
los pasos para la realizacin de proyectos con pic, se
realizara la programacin del pic y posteriormente se
anexara el pic al circuito, se revisar si se est cumpliendo
con la especificaciones que nos piden en el laboratorio, por
ltimo se anexara video de la secuencia de cada circuito.
Como podemos darnos cuenta el primer circuito se trata de
una secuencia de 8 LEDs, en este circuito las secuencia la
determina el pulso del reloj, para el segundo circuito la
secuencia la genera un Stich, y para el tercer circuito es el
mismo circuito pero con dos Stichs el uno para cambiar la
secuencia y el otro para cambiar la velocidad.

PRIMER PROYECTO

inicio
encender led 1

si

no
encender led 2

si

no
encender led 3

si

no
encender led 4

si

no
encender led 5

si

no

Con el circuito planteado implementar mnimo ocho (8)


secuencias distintas para el conjunto de 8 LEDs conectado a
uno de los puertos, las secuencias distintas se deben mostrar
una tras otra.

encender led 6

Para desarrollar este proyecto lo primero que debemos


hacer, es desarrollar un diagrama de flujo el cual nos
describa el problema planteado.

encender led 7

si

no
si

no
encender led 8

si

no
El diagrama anterior nos muestra las entradas y salidas de
nuestro circuito, en el anterior no tenemos ninguna entrada,
y las salidas son 8 las cuales son los 8 LEDs que nos estn
pidiendo, tambin como podemos darnos cuenta al apagarse
el led enciende automticamente el led siguiente y as
sucesivamente, el clock es muy importante en este tipo de
circuito ya que es el que nos genera la secuencia que
estamos buscando, el siguiente paso es la generacin del
programa ensamblador de nuestro pic 16f84A.
TITLE "pic16f84 led on/off"
list P=16f84A,F= INHX32

CALL RETARDO
RETARDO
GOTO INICIO

#INCLUDE <P16F84A.INC>
;J
STATUS EQU 03H
; REGISTRO ESTADO
DEL PIC
PTA EQU 05H
; PUERTO A
PTB EQU 06H
; PUERTO B
TRISA EQU 85H
; REGISTRO
CONFIGURACION PUERTO A
TRISB EQU 86H
; REGISTRO
CONFIGURACION PUERTO B
; REGISTROS DE PROPOSITO GENERAL
TMP1 EQU 0CH
; REGISTRO TEMPORAL 1
TMP2 EQU 0DH
; REGISTRO TEMPORAL 2
TMP3 EQU 0EH
; REGISTRO TEMPORAL 3
; DEFINICION DE BITS

W
F
C
Z
B0
B1
B2
B3
B4
B5
B6
B7

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

0
1
0
2
0
1
2
3
4
5
6
7

; REGISTRO DE TRABAJO
; REGISTRO
;FLAG DE CARGA
;FLAG 0
;BIT 0
;BIT 1
;BIT 2
;BIT 3
;BIT 4
;BIT 5
;BIT 6
;BIT 7

;DFINICION DE CONSTANTES
VAL1 EQU 30H
VAL2 EQU 30H
VAL3 EQU 40H
;MACRO
#DEFINE BANK0 BCF STATUS, B5
#DEFINE BANK1 BSF STATUS, B5
;***********************************************
************************
;***********************************************
************************
;INICIO DE PROGRAMA
ORG 00H
CALL CONFIGURA
QUE CONFIGURA PUERTOS
PRG1 CLRF PTB
INICIO BSF
PTB, B0
LED/ON
BSF
PTB, B1
BSF
PTB, B2
CALL RETARDO
RUTINA DE RETARDO
BCF
PTB, B0
LED/OFF
BCF
PTB, B1
BCF
PTB, B2

; VUELVE A INICIO

;***********************************************
************************
;***********************************************
************************
;RUTINA CONFIGURACION DE PUERTOS
CONFIGURA BANK1
MOVLW
00H
;BINARIO "00000000"
0=OUT Y 1=IN
MOVWF
TRISB ;SE
CONFIGURA
PUERTOB COMO SALIDA
MOVLW
00H
;BINARIO "00000000"
0=OUT Y 1=IN
MOVWF
TRISA ;SE
CONFIGURA
PUERTOA COMO SALIDA
BANK0
RETURN
;RUTINA DE RETARDO
RETARDO
MOVLW
VAL1 ;VALOR DE
VAL1 PASA A W
MOVWF
TMP1 ;VALOR DE W SE
GAURDA EN TEMPORAL 1
TRES MOVLW
VAL2 ;VALOR DE VAL2
PASA A W
MOVWF
TMP2 ;VALOR DE W SE
GUARDA EN TEMPORAL 2
DOS
MOVLW
VAL3 ;VALOR DE VAL3
PASA A W
MOVWF
TMP3 ;VALOR DE W SE
GUARDA EN TEMPORAL 3
UNO DECFSZ
TMP3, F
GOTO UNO
DECFSZ
TMP2, F
GOTO DOS
DECFSZ
TMP1, F
GOTO TRES
RETURN
;***********************************************
************************
;***********************************************
************************
;FIN DE PROGRAMA
END

;LLAMA RUTINA
;LIMPIA PUERTO B
;ENVIA PULSO A RB0

LLAMA
CIRCUITO PROPUESTO

;APAGA LED EN RBO

LLAMA

C1
22pF
X1
HC-49/U_3MHz

18

U1
17

5
6
7
8
9
10
11
12
13

V1
5V

VSS
VDD
RB0/INT
RA0
RB1
RA1
RB2
RA2
RB3
RA3
RB4
RA4/TOCK1
RB5
~MCLR
RB6
OSC1/CLKIN
RB7 OSC2/CLKOUT

PIC16F84A

14
17
18
1
2
3
4
16
15

C2
0

22pF
LED1

19

R1

330
R2

LED2
10

330
3

R3

LED3
11

330
7

R4

LED4
12

330

8
5

R5

LED5
13

330
6

secuencia de leds
con pulsador

R6

14

LED7

si

15

330
R8

no

LED6

330
R7

inicio
si
encender led 1

LED8
16

330

encender led 2

no

si
SEGUNDO PROYECTO

encender led 3

Con el circuito planteado, de ocho (8) LEDs y un (1) botn,


desplegar mnimo ocho (8) secuencias controladas en su
visualizacin por el BOTON conectado a otro puerto.

si

Al igual que en el proyecto anterior lo primero es


desarrollar el diagrama de flujo el cual nos describe el
problema planteado.

encender led 4

no

no

si
encender led 5

no

si
encender led 6

no

si
encender led 7

no

si
encender led 8

no

si
El diagrama anterior nos muestra las entradas y salidas de
nuestro circuito, en el anterior tenemos una entrada la cual
es el pulsador, y las salidas son 8 las cuales son los 8 LEDs
que nos estn pidiendo, tambin como podemos darnos
cuenta pulsar se enciende al volver a pulsar se apaga y

enciende el led siguiente automticamente y as


sucesivamente, el clock en este circuito no es muy
importante en este tipo de circuito ya que el pulso nos
genera la secuencia que estamos buscando, el siguiente
paso es la generacin del programa ensamblador de nuestro
pic 16f84A.

secuencia de leds
con dos pulsadores
inicio
pulso 1

CIRCUITO PROPUESTO
C1
22

22pF

R11
100

X1
HC-49/U_3MHz

18
21

R9

U1
5
6
7
8
9
10
11
12
13

17

10k

V1
5V

J1
Key = A

VSS
VDD
RB0/INT
RA0
RB1
RA1
RB2
RA2
RB3
RA3
RB4
RA4/TOCK1
RB5
~MCLR
RB6
OSC1/CLKIN
RB7 OSC2/CLKOUT

PIC16F84A

14
17
18
1
2
3
4
16
15

C2
0

22pF

R1

R2

LED2
10

R3

LED3
11

330

R10
100
7

R4

LED4
12

330

8
5

R5

LED5

R6

LED6
14

330
R7

LED7
15

330
R8

no

13

330
6

si
encender led 1

si
apagar led 1

si
encender led 2
si
encender led 3

si
apagar led 2
si
apagar led 3

si
encender led 4

si
apagar led 4

si
encender led 5

si
apagar led 5

si
encender led 6

si
apagar led 6

si
encender led 7

si
apagar led 7

si
encender led 8

si
apagar led 8

no

no

330

330

20

LED1

19

pulso 2

LED8
16

330

TERCER PROYECTO

Con el circuito planteado, de ocho (8) LEDs y dos (2)


botones, desplegar mnimo ocho (8) secuencias controladas
en su visualizacin por el BOTON 1 y controladas en su
velocidad por el BOTON 2 estos botones se ubican en un
puerto diferente.
Al igual que en el proyecto anterior lo primero es
desarrollar el diagrama de flujo el cual nos describe el
problema planteado.

no

El diagrama anterior nos muestra las entradas y salidas de


nuestro circuito, en el anterior tenemos dos entradas las
cuales son los pulsadores, y las salidas son 8 las cuales son
los 8 LEDs que nos estn pidiendo, tambin como podemos
darnos cuenta el pulsador 1 nos enciende el led y el
pulsador 2 nos apaga el led segn el tiempo que deseemos y
as sucesivamente, el clock en este circuito no es muy
importante en este tipo de circuito ya que el pulso nos
genera la secuencia que estamos buscando, el siguiente
paso es la generacin del programa ensamblador de nuestro
pic 16f84A.

CIRCUITO PROPUESTO
C1
22

R11
100

22pF

25

R14
100

X1
HC-49/U_3MHz

18

U1
17

R9
10k

5
6
7
8
9
10
11
12
13

R12
10k

23
21

J1
Key = A

V1
5V

J2
Key = A

VSS
VDD
RB0/INT
RA0
RB1
RA1
RB2
RA2
RB3
RA3
RB4
RA4/TOCK1
RB5
~MCLR
RB6
OSC1/CLKIN
RB7 OSC2/CLKOUT

PIC16F84A

LED1

19

R1

330
R2

LED2
10

R3

LED3
11

330

24
7

R13
100

R4

LED4
12

330

8
0

C2
22pF

330

20

R10
100

14
17
18
1
2
3
4
16
15

R5

LED5
13

330
6

R6

LED6
14

330
R7

LED7
15

330
R8
330

LED8
16

CONCLUSIONES
Para poder llegar a programar lo primero que debemos
tener en cuenta es saber cmo vamos a plantear y
solucionar el problema.
Debemos siempre realizar el diagrama de flujo para que nos
quede ms fcil resolver el problema en mencin.
Pasar a lenguaje ensamblador y ejecutar el programa para
saber si quedo bien diseado.
Fue un buen ejercicio para irnos familiarizando con el pic
16f84A.

REFERENCIAS

Modulo de Microprocesadores y
Microcontroladores.

Tutoriales de MPLAB.

Ideas Propias

También podría gustarte