INSTITUTO TECNOLGICO DE CELAYA
MATERIA:
MICROCONTROLADORES
EQUIPO: 6
FECHA
DE
ENTREGA:
NO. PRACTICA: 5
INTEGRANTE 1: RIVERA AVILA DIEGO.
INTEGRANTE 2: GONZALEZ HERNANDEZ GERARDO.
GRUPO
29/MAYO/2015
REPORTE DE PRCTICA
INSTRUCCIONES
Realizar un contador de 0 a 999 ascendente con la activacin del puerto
RA0, descendente con la activacin del puerto RA1 mostrndolo en un
display multiplexado con un retardo de tiempo de 13 ms entre cada
display, dicho programa se realizara por medio de la programacin de un
microcontrolador modelo PIC16F84A con un cristal de 4 MHz y 2
capacitores de 22 Pf para establecer la frecuencia de trabajo del mismo,
3 transistores del tipo NPN, la programacin se realizara con lenguaje
ensamblador por medio del software MPLAB IDE. A continuacin en la
imagen No. 1 se muestra la disposicin de los pines en un
microcontrolador de este modelo. Ver imagen No. 1.
Imagen No.1. Disposicin de los pines en PIC16F84A.
Los puertos quedan configurados como se indica en la tabla No.1. Nos
referimos a la disposicin E/S. Ver tabla No. 1.
Tabla No. 1. Configuracin de puertos para entradas y salidas del
PICF1684A.
ENTRADAS
SALIDAS
CRISTAL
CAPACITORES
ALIMENTACIN
RA1
RB0/INT
OSC1/CLKIN
OSC1/CLKIN
VSS (-)
(DESCENDER)
RA0
(ASCENDER)
RB1
OSC2/CLKOUT
OSC2/CLKOUT
VDD (+)
RB2
RB3
RB4
RB5
RB6
Las salidas del puerto B (RB6:RB0) irn conectadas a los 3 displays de 7
segmentos de ctodo comn en el siguiente orden:
RB0
RB1
RB2
RB3
RB4
RB5
RB6
-> A
-> B
-> C
-> D
-> E
-> F
-> G
CDIGO
#INCLUDE<P16F84A.INC>
CLRF TRISB
BCF STATUS,RP0 //configuracin
de puertos
UNI EQU 0CH
CLRW
DEC EQU 0DH
CLRF
CEN EQU 0EH
UN
EQU
0FH
DE
EQU 10H
CE
EQU 11H
VAR1 EQU 12H
UNI
CLRF
DEC
CLRF
CEN
CLRF
UN
CLRF
DC
VAR2 EQU 13H
CLRF
en los displays
ORG 00H
INICIO
CE //mostrar ceros
MOVF UNI,W
BSF STATUS,RP0
CALL DPY
MOVLW b'00000011'
MOVWF PORTB
MOVWF TRISA
BSF PORTA,2
CALL TIEMPO
INCF DEC,1
BCF PORTA,2
RETURN
MOVF DEC,W
CLRF DEC
CALL DISPLAY
MOVF CEN,W
MOVWF PORTB
SUBLW 09H
BSF PORTA,3
BTFSC STATUS,Z
CALL TIEMPO
GOTO $+D'3'
BCF PORTA,3
INCF CEN,1
MOVF CEN,W
RETURN //rutina de incremento
CALL DPY
CLRF CEN
MOVWF PORTB
RETURN // rutina para el
muestreo en los displays
BSF PORTB,7
DECR
PORTA,1
CALL TIEMPO
BTFSC
BCF PORTB,7
GOTO $-D'1'
BTFSC PORTA,0
MOVF UNI,W
CALL INCR
SUBLW 00H
BTFSC PORTA,1 //puerto RB7,
RB0, RB1 como salidas para los
transistores.
BTFSC STATUS,Z
CALL DECR //rutina
muestreo de los valores.
DECF UNI,1
GOTO INICIO
INCR
BTFSC PORTA,0
GOTO $-D'1'
MOVF UNI,W
SUBLW 09H
BTFSC STATUS,Z
GOTO $+D'3'
INCF UNI,1
RETURN
CLRF UNI
MOVF DEC,W
SUBLW 09H
BTFSC STATUS,Z
GOTO $+D'3'
para
el
GOTO $+D'3'
RETURN
MOVLW 09H
MOVWF UNI
MOVF DEC,W
SUBLW 00H
BTFSC STATUS,Z
GOTO $+D'3'
DECF DEC,1
RETURN
MOVLW 09H
MOVWF DEC
MOVF CEN,W
SUBLW 00H
BTFSC STATUS,Z
GOTO $+D'3'
DECFSZ
DECF CEN,1
GOTO $-D'6'
RETURN
RETURN
MOVLW 09H
DPY
MOVWF CEN
RETURN
VAR1,1
//rutina
ADDWF PCL,F
de
TABLA RETLW 3FH
decremento
RETLW 06H
RETLW 5BH
RETLW 4FH
TIEMPO
MOVLW D'13'
RETLW 66H
MOVWF VAR1
RETLW 6DH
MOVLW D'255'
RETLW 7DH
MOVWF VAR2
RETLW 07H
NOP
DECFSZ
GOTO $-D'2'
RETLW 7FH
VAR2,1
RETLW 67H // rutina de
tiempo
END
Simulacin
La simulacin del contador se realiz mediante el uso del software
PROTEUS, a continuacin se muestran algunas ilustraciones de que nos
presentan parte de la simulacin para mayor seguridad en resultados
satisfactorios. En las ilustraciones se podrn observar solo algunos o
algn display prendido esto es por el cambio rpido que entre cada uno.
En la ilustracin 1 se muestra que el contador inicia correctamente. Ver
ilustracin 1.
Ilustracin 1. Inicio del contador.
En la ilustracin 2 se muestra el contador con un valor ascendente. Ver
ilustracin 2.
Ilustracin 2. Contador con valor ascendente. (En realidad es un 13
pero el tiempo entre display no dejo captar el 1).
En la ilustracin 3 se muestra el contador descendente. Ver ilustracin 3.
Ilustracin 3. Contador descendente.
RESULTADOS
Tras armar el circuito nos dimos cuenta de que el trabajo de
programacin y simulacin estaban correctos ya que cumpli
con los resultados que se esperaban como son, el retardo que
se program y el ascendente/descendente con los puertos
especificados.
Conclusiones
RIVERA VILA DIEGO
Resulta interesante el trabajo con displays multiplexados por el tiempo
que hay que controlar para poder apreciar los datos que estamos
arrojando, se tuvieron problemas con algunos valores resistivos que se
localizaban en la base del emisor pero su solucin fue rpida
permitindonos satisfactorios resultados.
GONZLEZ HERNNDEZ GERARDO
Me pareci una buena prctica, un tema interesante y que nos permito
ver la importancia del tiempo en este tipo de configuraciones, se
tuvieron algunos errores al armar como transistores mal colocados que
nos generaba errores mostrndonos cualquier cosa en los displays pero
tras la correccin se pudo obtener un buen resultado.