Está en la página 1de 18

ESCUELA POLITCNICA

DEL EJRCITO
EXTENSIN LATACUNGA


CARRERA DE INGENIERA AUTOMOTRIZ
INFORME DE MICROCONTROLADORES Y PLC
Nivel: Sexto Fecha : 30/04/2014 Paralelo: B
Nombre: Jos Luis Fuentes, Jonathan Lozada, Julio Ramrez.
A. TEMA.
Programacin de PIC.
B. OBJETIVOS.
Desarrollar un programa para contar de forma ascendente de 0-9 y visualizarlo en
un display de 7 segmentos con decodificador todo esto con ayuda de un micro
controlador PIC 16F628A.
Desarrollar un programa para contar de forma descendente de 9-0 y visualizarlo en
un display de 7 segmentos con decodificador todo esto con ayuda de un micro
controlador PIC 16F628A.
Desarrollar un programa para contar de forma ascendente de 0-9 y visualizarlo en
un display de 7 segmentos sin decodificador todo esto con ayuda de un micro
controlador PIC 16F628A.
Desarrollar un programa para contar de forma descendente de 9-0 y visualizarlo en
un display de 7 segmentos sin decodificador todo esto con ayuda de un micro
controlador PIC 16F628A.
Desarrollar un programa para visualizar la palabra ESPEL en un display de 7
segmentos sin decodificador todo esto con ayuda de un micro controlador PIC
16F628A.
Desarrollar un programa para contar de forma ascendente de 0-99 y visualizarlo en
un display de 7 segmentos con decodificador todo esto con ayuda de un micro
controlador PIC 16F628A.
C. MATERIALES Y EQUIPOS.
Software Proteus
Software Microcode
Software Pickit 2,61
Protoboar.
PIC 16F628A.
Pick 2 (quemador de microcontrolador).
Fuente de voltaje.
Display de 7 segmentos nodo comn.
Decodificador 74LS47
Resistencias 330 ohmios
Cables para conexiones.

D. MARCO TERICO.
PIC16F628A
El PIC16F84A se considera uno de los ms famosos de todos los tiempos, pero actualmente
ya es considerado como obsoleto, su remplazo en la actualidad viene siendo el PIC16F628A,
este mismo es el que se utiliza en la mayora de los ejemplos y proyectos que encontramos.
Las caractersticas de este PIC, (PIC16f628A) son las siguientes:
Es un microcontrolador de 8 bits,
Cuenta con una arquitectura RISC avanzada
Un juego reducido de 35 instrucciones, ya que este PIC es el remplazo del 16f84A,
sus pines son compatibles con su antepasado hacindonos posible actualizar algn
proyecto antiguo donde hayamos usado el 16F84A.
Diagrama de pines del PICF628A


Figura 1 - Diagrama de distribucin de pines.
En el diagrama de pines podemos ver que los pines 1, 2, 3, 4, 15, 16, 17 y 18 tienen el
nombre de RAx. Esos pines conforman el puerto A, PORTA, los pines 6 al 13 pertenecen al
puerto B PORTB. El pin 5 corresponde al negativoo(-) o tierra y el pin 14 va conectado a la
fuente de alimentacin de 5V.
Tabla 1 - Puertos del PIC 16F628A

PUERTO 2119
Instrucciones usadas en el programa.
Qu es un display?
El display de 7 segmentos es un componente que se utiliza para la representacin de
informacin alfanumrica en muchos dispositivos electrnicos. Aunque externamente su
forma difiere considerablemente de un diodo LED (diodos emisores de luz) tpico,
internamente estn constituidos por una serie de diodos LED con unas determinadas
conexiones internas.

Hay de dos tipos: nodo comn y ctodo comn.
El diplay de nodo comn, tiene todos los nodos de los leds estn unidos internamente a
una patilla comn que debe ser conectada a potencial positivo o nivel 1. El encendido
de cada segmento individual se realiza aplicando potencial negativo o nivel 0 por la
patilla correspondiente a travs de una resistencia que lmite el paso de la corriente.
El diplay de de ctodo comn, todos los ctodos de los leds estn unidos internamente a
una patilla comn que debe ser conectada a potencial negativo o nivel 0. El encendido
de cada segmento individual se realiza aplicando potencial positivo o nivel 1 por la
patilla correspondiente a travs de una resistencia que lmite el paso de la corriente.

Figura 2 - Distribucin de pines de un display 7 segmentos
Decodificador 74LS47

Figura 3 - Distribucin de pines decodificador 74LS47





E. PROCEDIMIENTO
Se elabora la tabla con para saber que pines se van a encender.
Tabla 2 - Cdigos de salida para el PUERTO B
g f e d c b a
OUT RB6 RB5 RB4 RB3 RB2 RB1 RB0 [n]
10
64 1 0 0 0 0 0 0
0
121 1 1 1 1 0 0 1
1
36 0 1 0 0 1 0 0
2
48 0 1 1 0 0 0 0
3
25 0 0 1 1 0 0 1
4
18 0 0 1 0 0 1 0
5
2 0 0 0 0 0 1 0
6
120 1 1 1 1 0 0 0
7
0 0 0 0 0 0 0 0
8
16 0 0 1 0 0 0 0
9

1. Programar un contador de forma ascendente de 0-9 y visualizarlo en un display de
7 segmentos con decodificador todo esto con ayuda de un micro controlador PIC
16F628A.













Diagrama de flujo:


Programacin en microcode:
TRISA=0 Confirma el puerta A como salida
CMCON=7 Digitaliza el puerta A
n var byte almacenar valores de 8 bits de 0-255
n=0 la variable n vale 0
INICIO:
if n<=9 then Condicin si n es menor o igual que 9, entonces
porta=n Puerto A igual a n
pause 500 Restraso 500 ms
n=n+1 Variable n igual a n + 1
else Si no cumple con la condicin
n=0 Variable n igual a 0
ENDIF Final de condicin
GOTO INICIO Regreso al INICIO
TRISA=0
CNCOM 7
N 9

9
PORTB N

N 0
RETARDO
N N+1
Inicio


Simulacin en proteus:

Figura 4 - Simulacin Cont. Ascendente con Deco. 0-9
Circuito armado en protoboard:


Figura 5 - Circuito Cont. Ascendente con Deco. 0-9










A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
74LS47
RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
2. Programa un contador en forma descendente de 9-0 y visualizarlo en un display de
7 segmentos con decodificador todo esto con ayuda de un micro controlador PIC
16F628A.
Diagrama de flujo:



















Programacin en microcode:
TRISA=0 Confirma el puerta A como salida
CMCON=7 Digitaliza el puerta A
n var byte almacenar valores de 8 bits de 0-255
n=9 la variable n vale 9
CONTADOR:
for n= 9 to 0 Condicin si n es igual desde 9 a 0 , entonces
porta=n Pueto A igual a variable n
pause 300 Retardo de 300 ms
next n Seguir con la variable n
goto CONTADOR Regresar a contador
TRISA=0
CNCOM 7
N 9

9
PORTB N

N 0
RETARDO
N N+1
Inicio


Simulacin en proteus:

Figura 6 - Simulacin Cont. Descendente con Deco. 9-0
Circuito armado en protoboard:

Figura 7 - Circuito Cont. Ascendente con Deco. 0-9




















A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
74LS47
RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
3. Programar un contador de forma ascendente de 0-9 y visualizarlo en un display de
7 segmentos sin decodificador todo esto con ayuda de un micro controlador PIC
16F628A.
Diagrama de flujo

Programacin en microcode:
TRISB=0 Confirma la puerta B como salida
CMCON=7 Digitaliza la puerta B
n var byte almacenar valores de 8 bits de 0-255
UNIDAD var byte
PORTB=0 Puerto B igual a 0
CONTADOR:
for n= 0 to 9 Condicin si n igual desde 0 a 9
lookup n, [64,121,36,48,25,18,2,120,0,16], UNIDAD almacena una tabla de
datos constante de 8 bits
PORTB=UNIDAD Puerto B igual a las unidades
pause 300 Retraso de 300 ms
next n Continuar con la variable n
TRISB=0
N 0
N= 0 TO 9
PORTB UNIDAD

RETARDO
Inicio

LOOKUP
[64,121,36,48,25,18,2,120,0,16]

goto CONTADOR Regresar al contador

Simulacin en proteus:

Figura 8 - Simulacin Cont. Ascendente sin Dec. 0-9

Circuito armado en protoboard:


Figura 9 - Circuito armado Cont. Ascendente sin Dec 0-9

4. Programar un contador de forma ascendente de 0-9 y visualizarlo en un display de
7 segmentos sin decodificador todo esto con ayuda de un micro controlador PIC
16F628A.





RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
Diagrama de flujo


Programacin en microcode:
TRISB=0 Confirma la puerta B como salida
CMCON=7 Digitaliza la puerta B
n var byte almacenar valores de 8 bits de 0-255
UNIDAD var byte
PORTB=0 Puerto B igual a 0
CONTADOR:
for n= 0 to 9 Condicin si n igual desde 0 a 9
lookup n, [16,0,120,2,18,25,48,36,121,64], UNIDAD almacena una tabla de
datos constante de 8 bits
PORTB=UNIDAD Puerto B igual a las unidades
pause 300 Retraso de 300 ms
next n Continuar con la variable n
goto CONTADOR Regresar al contador
TRISB=0
N 0
N= 0 TO 9
PORTB UNIDAD

RETARDO
Inicio

LOOKUP
[16,0,120,2,18,25,48,36,121,64]
Simulacin en proteus:

Figura 10 - Simulacin Cont. Ascendente sin Dec. 0-9

Circuito armado en protoboard:

Figura 11 - Circuito armado Cont. Ascendente sin Dec 0-9











RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
5. Programar para visualizar la palabra ESPEL en un display de 7 segmentos sin
decodificador todo esto con ayuda de un micro controlador PIC 16F628A.
Diagrama de flujo


Programacin en microcode:
TRISB=0 Confirma la puerta B como salida
CMCON=7 Digitaliza la puerta B
n var byte almacenar valores de 8 bits de 0-255
UNIDAD var byte
PORTB=0 Puerto B igual a 0
CONTADOR:
for n= 0 to 5 Condicin si n igual desde 0 a 5
lookup n, [48,36,24,48,113], UNIDAD almacena una tabla de
datos constante de 8 bits
PORTB=UNIDAD Puerto B igual a las unidades
TRISB=0
N 0
N= 0 TO 9
PORTB UNIDAD

RETARDO
Inicio

LOOKUP
[48,36,24,48,113]
pause 300 Retraso de 300 ms
next n Continuar con la variable n
goto CONTADOR Regresar al contador

Simulacin en proteus:

Figura 12 - Simulacin palabra ESPEL
Circuito armado en protoboard:

Figura 13 - Circuito armado ESPEL



RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
6. Programar un contador de forma ascendente de 0-99 y visualizarlo en un display de
7 segmentos con decodificador todo esto con ayuda de un micro controlador PIC
16F628A.
Diagrama de flujo

TRISB=0
N 0
N= 0 TO 9
PORTB N

NEXT N

M 0
RETARDO
M= 0 TO 9
PORTA M
M

RETARDO
NEXT M

Inicio

Programacin en microcode:
U VAR BYTE; declaracin de variables
D VAR BYTE; declaracin de variables
TRISB=0
INICIO:
FOR D=0 TO 9; contar de cero a nueve para la variable D
FOR U=0 TO 9; contar de cero a nueve para la variable U
PORTB=U+16*D; asignar al puerto B la operacin U+16*D
PAUSE 1000; pausa 1000 mili segundos
NEXT
NEXT
GOTO INICIO
END
Simulacin en proteus:

Figura 14 - Simulacin contador 0-99

C. Anlisis de Resultados.
El programa funciona correctamente, sin embargo existen un inconveniente al
momento de realizar la simulacin en proteus la cual se debe al sistema
computacional en el cual se corre el programa.
El pick 2 es indispensable para el funcionamiento del microcontrolador ya que este es
el que transmite la informacin del software al circuito integrado.
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
74LS47
RA7/OSC1/CLKIN
16
RB0/INT
6
RB1/RX/DT
7
RB2/TX/CK
8
RB3/CCP1
9
RB4
10
RB5
11
RB6/T1OSO/T1CKI
12
RB7/T1OSI
13
RA0/AN0
17
RA1/AN1
18
RA2/AN2/VREF
1
RA3/AN3/CMP1
2
RA4/T0CKI/CMP2
3
RA6/OSC2/CLKOUT
15
RA5/MCLR
4
U1
PIC16F628A
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U3
74LS47

D. Conclusiones.
Es posible visualizar en un display el conteo realizado por el pic sin
necesidad de utilizar un decodificador.
El pic permite realizar un contador sin necesidad de realizar grandes
circuitos gracias a la programacin.
Es necesario convertir a decimal las combinaciones binarias para poder
utilizar bien el programa.
El pic es de mucha utilidad al momento de realizar circuitos gracias a su
facilidad de grabar y borrar su contenido.
E. Recomendaciones.
Tener suficiente conocimiento y habilidad en el uso del software de
programacin y simulacin.
Verificar que el software est debidamente instalado para que no cause
problemas al momento de realizar los programas.
Manipular el pic con cuidado ya que es muy sensible.
Utilizar un regulador de voltaje 7805 para estar seguros de tener una fuente
de 5 v.
Antes de grabar informacin en el pic se debe estar seguro que se encuentra
en blanco.
F. Referencias Bibliogrfica.
PIC 16F628A, http://computoint.blogspot.com/2012/04/pic16f628a.html, ultimo
acceso 21-04-2014.
Pic 16F628A http://proyectoaula-pic16f628a.blogspot.com/, ultimo acceso 21-04-
2014.
ANEXO
Hoja de firmas