Práctica 1
Tema :
Entrada y salida de los Microcontroladores PIC
Objetivo: Utilizar los puertos del Microcontroladores Pic, como interface digital al
mundo exterior
Ejercicios:
� 1.- Escribir en el puerto B el valor 55h
ALGORITMO:
� E&TRADAS :
�UMERO HEXADECXIMAL 55H
� PROCESO:
ESCRIBIR E& EL PUERTO B EL VALOR DE 55H CO& U&
RETARDO DE 1 SEGU&DO
� SALIDA :
PUERTO B CO� VALOR 55H
DIAGRAMA DE FLUJO
INICIO
Habilitar el Puerto B
como salida
Escribir el valor 55H
en el puerto B
Retardo de 1 segundo
Si puerto B esta
en 1 Lógico
FI&
NO
SI
CODIGO:
Practica_1
trisb=0
main:
portb:$55
delay_ms(100)
end.
ESQUEMATIZADO
VISUALIZACIO& DEL MODULO
OBSERVAMOS LA SIMULACIO&
� 2.- Ejercicio de aplicación escribir en el puerto B el valor de AA
ALGORITMO:
� E&TRADAS :
�UMERO HEXADECXIMAL AA
� PROCESO:
ESCRIBIR E& EL PUERTO B EL VALOR DE AA CO& U&
RETARDO DE 1 SEGU&DO
� SALIDA :
PUERTO B CO� VALOR AA
DIAGRAMA DE FLUJO
CODIGO:
Practica_2
trisb=0
main:
portb:$AA
delay_ms(100)
end.
INICIO
Habilitar el Puerto B
como salida
Escribir el valor AA en
el puerto B
Retardo de 1 segundo
Si puerto B esta
en 1 Lógico
FI&
NO
SI
ESQUEMATIZADO
VISULALIZACIO& DEL MODULO
OBSERVAMOS LA SIMULACIO&
� 3.- Ejercicio de aplicación el puerto C escribir el valor de F0
ALGORITMO:
� E&TRADAS :
�UMERO HEXADECXIMAL F0
� PROCESO:
ESCRIBIR E& EL PUERTO C EL VALOR DE F0 CO& U&
RETARDO DE 1 SEGU&DO
� SALIDA :
PUERTO C CO� VALOR F0
DIAGRAMA DE FLUJO
CODIGO:
Practica_3
trisc=0
main:
portc:$F0
delay_ms(100)
end.
INICIO
Habilitar el Puerto C
como salida
Escribir el valor F0 en
el puerto C
Retardo de 1 segundo
Si puerto C esta
en 1 Lógico
FI&
NO
SI
ESQUEMATIZADO
VISULAIZACIO& DEL MODULO
OBSERVAMOS LA SIMULACIO&
4.- Leer en el puerto C y escribir en el puerto B
ALGORITMO:
� E&TRADAS :
LEER EL VALOR DEL PUERTO C
� PROCESO:
LEER E& EL PUERTO C Y ESCRIBIR E& EL PUERTO B EL
VALOR DEL PEURTO C
� SALIDA :
ESCRIBIR E& EL PUERTO B EL VALOR DEL PUERTO C
DIAGRAMA DE FLUJO
CODIGO:
INICIO
Habilitar el Puerto C
como entrada
Guradar los datos de la
variable valor
Retardo de 1 segundo
Si puerto C esta
en 1 Lógico
FI&
NO
SI
Declarar la variable
valor como byte
Habilitar el Puerto B
como salida
Escribir los datos de la
variable valor en el puerto B
Practica_4
dim valor as byte
main:
lazo:
trisc=$ff
trisb=0
valor =portc
portb=valor
goto lazo
end.
ESQUEMATIZADO
VISUALIZACIO& DEL MODULO
� 5.- ejercicio de aplicación leer en el puerto A y escribir en el puerto D.
ALGORITMO:
� E&TRADAS :
LEER EL VALOR DEL PUERTO A
� PROCESO: LEER E& EL PUERTO A Y ESCRIBIR E& EL PUERTO D EL
VALOR DEL PEURTO A
� SALIDA :
ESCRIBIR E& EL PUERTO D EL VALOR DEL PUERTO D
DIAGRAMA DE FLUJO
INICIO
Habilitar el Puerto A
como entrada
Guardar los datos de la
variable valor
Retardo de 1 segundo
Si puerto A esta
en 1 Lógico
FI&
NO
SI
Declarar la variable
valor como byte
Habilitar el Puerto D
como salida
Escribir los datos de la
variable valor en el puerto D
CODIGO
Practica_5
dim valor as byte
main:
lazo:
trisa=$ff
trisd=0
valor =porta
portd=valor
goto lazo
end.
ESQUEMATIZADO
VISUALIZACIO& DEL MODULO
� 6.- escribir en un display de 7 segmentos sin utilizar decodificador, un valor
ascendente entre 0 y F
ALGORITMO:
� E&TRADAS :
VALORES ASCE�DE�TE DESDE 0 HASTA F
� PROCESO: LEER LOS VALORES ASCE&DE&TES DEL 0 AL F Y ESCRIBIR
E& EL PUERTO B PARA SER REPRESE&TADO E& EL DISPLAY
� SALIDA :
ESCRIBIR LOS VALORES DEL 0 AL F E& EL DISPLAY
DIAGRAMA DE FLUJO
CODIGO
practica_6
trisb=$0 main: lazo:
portb=%00111111 delay_ms(2000)
INICIO
Habilitar el Puerto B
como salida
Escribir los valores numéricos del 0 al F en
el Puerto B
Retardo de 2 segundo
Si puerto B esta
en 1 Lógico
FI&
NO
SI
Conectar el Puerto B a los
segmentos del display
Desplejar los valores del
Puerto Ben el display
portb=%00000110 delay_ms(2000)
portb=%01011011 delay_ms(2000)
portb=%01001111
delay_ms(2000) portb=%01100110
delay_ms(2000)
portb=%01101101 delay_ms(2000)
portb=%01111101 delay_ms(2000)
portb=%00000111
delay_ms(2000) portb=%01111111
delay_ms(2000)
portb=%01100111 delay_ms(2000)
portb=%01110111 delay_ms(2000)
portb=%01111100 delay_ms(2000)
portb=%01011000
delay_ms(2000)
portb=%01011110 delay_ms(2000)
portb=%01111001 delay_ms(2000)
portb=%01110001 delay_ms(2000)
goto lazo
end.
ESQUEMATIZADO
VISUALIZACIO& DEL MODULO
7.-Ejercicio de aplicación mediante un display alfanumérico mostrar en orden
descendente todas las letras del alfabeto de la Z a la A
ALGORITMO:
� E&TRADAS :
LETRAS DESDE LA Z AHASTA LA A DESCE�DE�TEME�TE
� PROCESO: LEER LOS VALORES DESCE&DE&TES DESDE LA Z HASTA LA
A Y ESCRIBIR E& EL PUERTO B PARA SER REPRESE&TADO
E& EL DISPLAY
� SALIDA :
ESCRIBIR LOS VALORES DESDE LA Z HASTA LA A E& EL
DISPLAY
DIAGRAMA DE FLUJO
� CODIGO
Practica_7
trisb=$0 main:
lazo: portb=%001001000001001
delay_ms(2000) portb=%011001000000000
delay_ms(2000)
INICIO
Habilitar el Puerto B
como salida
Escribir los datos alfanuméricos desde la Z
hasta la A en el Puerto B
Retardo de 2 segundo
Si puerto B esta
en 1 Lógico
FI&
NO
SI
Conectar el Puerto B a los
segmentos del display
Desplegar los valores del
Puerto B en el display
portb=%011011000000000
delay_ms(2000) portb=%001010100110000
delay_ms(2000)
portb=%00000000011111 delay_ms(2000)
portb=%000100100000001 delay_ms(2000)
portb=%000000011101101
delay_ms(2000) portb=%000010100110001
delay_ms(2000)
portb=%00010000111111 delay_ms(2000)
portb=%000000011110011
delay_ms(2000) portb=%000000000111111
delay_ms(2000)
portb=%010010000110110 delay_ms(2000)
portb=%010001000110110 delay_ms(2000)
portb=%000000000111000
delay_ms(2000) portb=%000111100000000
delay_ms(2000)
portb=%001000000001110 delay_ms(2000)
portb=%000100100001001 delay_ms(2000)
portb=%000000011110110 delay_ms(2000)
portb=%000000011111101
delay_ms(2000) portb=%000000110110001
delay_ms(2000)
portb=%000000110111001
delay_ms(2000) portb=%011000000110000
delay_ms(2000)
portb=%000000000111001 delay_ms(2000)
portb=%000100110001111 delay_ms(2000)
portb=%000000011110111
delay_ms(2000)
goto lazo
end.
ESQUEMATIZADO
VISUALIZACIO& DEL MODULO
� 8.- lógica booleana con Microcontroladores
ALGORITMO:
� E&TRADAS :
HABILITAMOS EL PUERTO C COMO E�TRADAS
� PROCESO: E& EL PUERTO C SE VA& A REALIZAR LAS OPERACIO&ES
A&D,OR, Y XOR Y SE VAB A ESCRIBIR E& EL PURTO B
� SALIDA :
ESCRIBIR LOS VALORES VOLEA&OS E& EL PUERTO B
DIAGRAMA DE FLUJO
INICIO
Habilitar el Puerto B
como salida
Leer en el Puerto C
Escribir en el Puerto B
Si puerto C esta
en 1 Lógico
FI&
NO
SI
Habilitar el Puerto C como
entradas
Operación A&D
Operación Or
Operación Xor
CODIGO
Practica_8
trisc=$ff trisb=$0
main: portb.0=potc.0andportc.1 portb.1=portc.2 or portc.3
portb.2=portc4 xor portc.5 goto main
end
ESQUEMATIZADO
VISULAIZACIO& DEL MODULO
Conclusiones:
� La utilización de los Microcontroladores nos presenta una gran gama de manejos
en distintas aplicaciones .
� Hay que tener en cuenta las conexiones del cableado para que de esa manera no se
corra ningún riesgo la momento de probar los circuitos con PIC
� Tener en cuenta donde se guarda el código *.hex que lleva el código
binario o hexadecimal que permite al Microcontroladores realizar sus
operaciones
� Saber cuales son salidas entradas, lecturas en el Microcontroladores
para no confundir su funcionamiento.
� Se necesita tener en cuenta que no mas contiene el micro controlador
PIC16F877A sus salidas entradas para sus distintas aplicaciones en el
mundo de los Pic.
BIBLIOGRAFIA:
� APU�TES TOMADOS E� CLASE
� HOJAS DADAS E� SISTEMAS MICROPROCESADOS 1
� ELECTRO�ICA PRACTICA CO� MICROCO�TROLADORES
PIC,SA�TIAGO CORRALES V.
� Microcontroladores "PIC": diseño práctico de aplicaciones. Segunda Parte : el
PIC12F508 y PIC16F84A : lenguajes Emsamblador, C y PBASIC
Microcontroladores"pic": Diseño práctico de aplicaciones, José María Angulo
Usategui, Edición 4, Editor McGraw-Hill, Interamericana de España
ANEXOS