Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inf 2 Lab Microprocesadores y Micro Controladores
Inf 2 Lab Microprocesadores y Micro Controladores
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
encender led 6
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
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
si
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
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
no
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