Professional Documents
Culture Documents
INTEGRANTES
CHRISTIAN IBARRA
GUILLERMO ROMERO
JUAN CARLOS YACELGA
1
TEMA: PROGRAMACION EN PIC 16F877A
OBJETIVO: Aprender a utilizar correctamente los puertos del microcontrolador PIC
DESARROLLO
Para la practica utilizamos la placa programadora “PICTrainer” de PIC y el software
Microbasic.
PROCEDIMIENTO
EJERCICIO 1
PROBLEMA
Escribir en el puerto B el valor 55h
ALGORITMO
Entrada: Ingresar el valor 55h
Proceso: Habilitar en el puerto B
Salida: Visualizar en los pines del puerto B el valor 55h en su equivalente binario.
CÓDIGO
program pract1
main:
trisb=0 'habilita el puerto B como salida
portb= $55 'escribe en el puerto B el valor 55h
delay_ms(1000) 'retardo de 1 seg
end.
2
DIAGRAMA DE FLUJOS
INICIO
Retardo de 1 seg
Salida de Datos en
puerto B
ESQUEMÁTICO:
GRAFICO ANEXO
3
EJERCICIO 2
PROBLEMA
Escribir en el puerto B el valor AAh
ALGORITMO
Entrada: Habilito en el puerto B.
Proceso: Ingresar el valor AAh en binario
Salida: Visualizar en el puerto B el valor binario.
CÓDIGO
program pract2
main:
trisb=0
portb= $AA
delay_ms(100)
portb= $55
end.
DIAGRAMA DE FLUJOS
INICIO
Retardo de 1 seg
Salida de Datos en
puerto B
4
ESQUEMÁTICO:
GRAFICO ANEXO
EJERCICIO 3
PROBLEMA
Escribir en el puerto C el valor F0h
ALGORITMO
Entrada: Habilitar en el puerto F
Proceso: Ingresar el valor F0h en binario.
Salida: Salida en el puerto F en valor binario.
5
CÓDIGO
program pract3
main:
trisc=0
portc= $F0
delay_ms(1000)
end.
DIAGRAMA DE FLUJOS
INICIO
Retardo de 1 seg
Salida de Datos en
puerto C
ESQUEMÁTICO:
6
GRAFICO ANEXO
EJERCICIO 4
PROBLEMA
Leer en el Puerto C y Escribir en el Puerto B
ALGORITMO
Entrada: Habilitar el puerto C como entrada y el puerto B como salida.
Proceso: Utilizar una variable “valor” para guardar los datos del puerto C para
luego escribir estos datos en el puerto B.
Salida: Salida en los pines del puerto B, las entradas del puerto C.
CÓDIGO
program pract4
dim valor as byte
main:
lazo:
7
trisc = $ff 'entrada
trisb = 0 'salida
valor = portc
portb = valor
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
ESQUEMÁTICO:
8
GRAFICO ANEXO
EJERCICIO 5
PROBLEMA
Leer en el Puerto C y Escribir en el Puerto A
ALGORITMO
Entrada: Habilitar el puerto C como entrada y el puerto A como salida.
Proceso: Utilizar una variable “valor” para guardar los datos del puerto C para
luego escribir estos datos en el puerto A.
Salida: Visualizar en los pines del puerto B las entradas del puerto A.
CÓDIGO
program pract5
dim valor as byte
main:
lazo:
trisc = $ff 'entrada
trisa = 0 'salida
valor = portc
9
porta = valor
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
ESQUEMÁTICO:
10
GRAFICO ANEXO
EJERCICIO 6
PROBLEMA
Escribir en un display de 7 segmentos sin utilizar decodificador, un valor
ascendente entre 0 y F.
ALGORITMO
Entrada: Habilito en el puerto B.
Proceso: Ingresar los valores que irán al puerto con un retardo para visualizar el
cambio ascendente
Salida: Salida en el display los valores de 0 a F
CÓDIGO
program pract6
main:
11
trisb = $0
'conectar a=portb0................e=portb.4.....
lazo:
portb = %00111111 ' formato para binario 0
delay_ms(1000)
portb = %00000110 '1
delay_ms(1000)
portb = %01011011 '2
delay_ms(1000)
portb = %01001111 '3
delay_ms(1000)
portb = %01100110 '4
delay_ms(1000)
portb = %01101101 '5
delay_ms(1000)
portb = %01111101 '6
delay_ms(1000)
portb = %00000111 '7
delay_ms(1000)
portb = %01111111 '8
delay_ms(1000)
portb = %01100111 '9
delay_ms(1000)
portb = %01110111 'A
delay_ms(1000)
portb = %01111100 'b
delay_ms(1000)
portb = %01011000 'C
delay_ms(1000)
portb = %01011110 'd
delay_ms(1000)
portb = %01111001 'E
delay_ms(1000)
portb = %01110001 'F
12
delay_ms(1000)
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
Visualización en Display
ESQUEMÁTICO:
13
GRAFICO ANEXO
EJERCICIO 7
PROBLEMA
Mediante un display visualizar mostrar en forma descendente todas letras del
alfabeto de la Z a la A.
ALGORITMO
Entrada: Habilitar los puertos B y C como salidas.
Proceso: Escribir el código binario para cada letra del alfabeto y declarar el
respectivo retardo para cada letra.
Salida: Visualizar en el display alfa numérico las letras de la Z a la A en código
binario de los puertos B y C.
CÓDIGO
program pract7
main:
trisb = $0
trisc = $0
14
lazo:
portb = %011001100 'z
portc = %00100010
delay_ms(3000)
portb = %100000000 'y
portc = %00100100
delay_ms(3000)
portb = %100000000
portc = %00101010 'x
delay_ms(3000)
portb = %000110011 'w
portc = %0001010
delay_ms(3000)
portb = %000000011 'v
portc = %00100010
delay_ms(3000)
portb = %000111111
portc = %00000000 'u
delay_ms(3000)
portb = %011000000 't
portc = %01000100
delay_ms(3000)
portb = %011011101 's
portc = %00010001
delay_ms(3000)
portb = %011100011 'r
portc = %00011000
delay_ms(3000)
portb = %011111111 'q
portc = %00001000
delay_ms(3000)
portb = %011100011 'p
portc = %00010001
delay_ms(3000)
15
portb = %011111111 '0
portc = %00000000
delay_ms(3000)
portb = %100110011 'n
portc = %00001000
delay_ms(3000)
portb = %100110011 'm
portc = %00100000
delay_ms(3000)
portb = %000001111 'l
portc = %00000000
delay_ms(3000)
16
portb = %000111110 'd
portc = %00010001
delay_ms(3000)
portb = %011001111 'c
portc = %0000000
delay_ms(3000)
portb = %000011111 'b
portc = %00010001
delay_ms(3000)
portb = %011110011 'a
portc = %00010001
delay_ms(3000)
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
Habilitar el puerto B y C
como salida
Visualizar
17
ESQUEMÁTICO:
GRAFICO ANEXO
18
EJERCICIO 8
PROBLEMA
Utilizar el microcontrolador en la lógica boleana.
ALGORITMO
Entrada: Habilitar el puerto C como entrad y el puerto B como salida.
Proceso: Realizar las operaciones lógicas con AND (multiplicación) entre el puerto
FO y puerto F1.
El escribir el resultado de en el puerto BO la operación lógica OR (suma)
entre el puerto F2 y F3 y escribo el resultado en el puerto B1 y la operación XOR
entre el puerto F4 y F5 y escribo en el puerto B2.
goto main
end.
19
DIAGRAMA DE FLUJOS
INICIO
Realizar la operación OR
entre PC2 y PC3
20
ESQUEMÁTICO:
GRAFICO ANEXO
21
CONCLUCIONES
Los ejercicios realizados en el laboratorio fueron de mucha ayuda porque nos
permitieron tener conocimientos sobre el manejo de los puertos del PIC.
El uso del PIC16F877A no nos produjo muchos problemas al momento de utilizar
los puertos para habilitar los LEDs y los Display respectivamente.
Podemos concluir que la primera práctica de laboratorio fue realizada con mucho
éxito aprendimos un poco más sobre el mundo de la familia de los PICs y de su
programación.
Bibliografía
- Hojas de prácticas para Laboratorio Sistemas Microprocesados I,
Microcontroladores PIC - Angulo Usategui Jose Maria.
- http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf
- http://www.mikroe.com/en/books/dspicbook/mikropascal/ch9/images/fig9-13a.gif
22