Este documento presenta 8 ejercicios sobre el uso de puertos de entrada y salida en un microcontrolador PIC para controlar dispositivos externos como displays y realizar operaciones lógicas. Los ejercicios incluyen escribir valores binarios en diferentes puertos, transferir datos entre puertos, mostrar números y letras en displays de 7 segmentos y alfanumérico, y realizar operaciones lógicas AND, OR y XOR con valores de entrada.
2. OBJETIVO: Utilizar los Puertos del Microcontrolador PIC, como interface digital al mundo
exterior.
1.- Escribir en el Puerto B el valor de 55h
CÓDIGO:
Program practica1
Trisb=0
main:
portb=$55
delay_ms (1000)
end.
ALGORITMO:
ENTRADA: Número Binario 55h
SALIDA: En el puerto B el valor de 55h
PROCESO: Escribo en el Puerto B el valor 55h
Retardo de 1 segundo
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
3. ESQUEMATICO:
SIMULACIÓN:
2.- Escribir en el Puerto B el valor de AA
CODIGO:
program practica2
trisb=0
main:
portb=AA
INGENIERÍA ELECTRÓNICA
4. delay_ms (1000)
end.
ALGORITMO:
ENTRADA: Número Binario AA
SALIDA: En el puerto B el valor AA
PROCESO: Escribo en el Puerto B el valor AA
Retardo de 1 segundo
DIAGRAMA DE FLUJO:
ESQUEMATICO:
INGENIERÍA ELECTRÓNICA
5. SIMULACIÓN:
3.- Escribir en el Puerto C el valor de F0
CÓDIGO:
program practica3
trisc=0
main:
portc=FO
delay_ms (1000)
end.
ALGORITMO:
ENTRADA: Número Binario F0
SALIDA: En el puerto C el valor F0
PROCESO: Escribo en el Puerto C el valor FO
Retardo de 1 segundo
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
6. ESQUEMATICO:
SIMULACIÓN:
4.- Leer en el Puerto C y Escribir en el Puerto B
CÓDIGO:
program practica 13
dim valor as byte
INGENIERÍA ELECTRÓNICA
7. main:
lazo:
trisc= $ff
trisb=0
valor=portc
portb=valor
goto lazo
end.
ALGORITMO:
ENTRADA: Valores de Entrada en el Puerto C.
SALIDA: Señales que ingresan por el Puerto C y Salen por el Puerto B .
PROCESO: Defino la variable valor para Guardar los datos de Entrada.
Habilito el Puerto C como Entrada y el Puerto B como Salida.
Leo a través del Puerto C.
Guardo los Datos que ingresan por el Puerto C en la variable valor.
Escribo estos datos el Puerto B.
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
9. 5.-Ejercicio de aplicación: Leer en el Puerto A y Escribir en el D
CODIGO:
Program lecturaescrituAD
dim valor as byte
main:
lazo:
trisa=$FF
trisd=0
valor=porta
portd=valor
goto lazo
end.
ALGORITMO:
ENTRADA: Valores de Entrada en el Puerto A.
SALIDA: Señales que ingresan por el Puerto A y Salen por el Puerto D .
PROCESO: Defino la variable valor para Guardar los datos de Entrada.
Habilito el Puerto A como Entrada y el Puerto D como Salida.
Leo a través del Puerto A.
Guardo los Datos que ingresan por el Puerto D en la variable valor.
Escribo estos datos el Puerto D.
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
11. 6.- Escribir en un display de / segmentos sin utilizar decodificador, un valor
ascendente entre 0 y F
CÓDIGO:
program practica14
trisb=$0
main:
lazo:
portb$=%00111111
delay_ms(2000)
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.
ALGORITMO:
ENTRADA: Valores de A a F.
SALIDA: Código Binario ente 0 y F en el puerto B del microcontrolador.
INGENIERÍA ELECTRÓNICA
12. PROCESO: Defino el código binario para cada valor.
Escribo el código Binario para cada valor en el Puerto B.
Retardo de dos Segundos.
Hago lo mismo hasta llegar a la letra F.
DIAGRAMA DE FLUJO:
ESQUEMATICO:
INGENIERÍA ELECTRÓNICA
13. SIMULACIÓN:
7. Ejercicio de aplicación mediante un display mostrar en orden
descendente todas las letras del alfabeto de la Z a la A.
CODIGO:
program practicaalfa
trisb=$0
trisc=$0
main:
lazo:
portb=%00110011
portc=%10001000
INGENIERÍA ELECTRÓNICA
15. portc=%01000100
delay_ms(1000)
portb=%11001100
portc=%00010001
delay_ms(1000)
portb=%11111011
portc=%00010000
delay_ms(1000)
portb=%11000011
portc=%00000001
delay_ms(1000)
portb=%11110011
portc=%00000001
delay_ms(1000)
portb=%11111111
portc=%00000000
delay_ms(1000)
portb=%11110011
portc=%00000000
delay_ms(1000)
portb=%11111111
portc=%00010001
delay_ms(1000)
portb=%11001111
portc=%00010001
delay_ms(1000)
goto lazo
end.
ALGORITMO:
ENTRADA: Valores de Z la A.
SALIDA: Código Binario ente 0 y F en el puerto B y C del microcontrolador.
PROCESO: Defino el código binario para cada letra.
Escribo el código Binario para cada valor en el Puerto B y C.
Retardo de dos Segundos.
Hago lo mismo hasta llegar a la letra A.
INGENIERÍA ELECTRÓNICA
18. 8.- Lógica booleana con Microcontrolador:
CODIGO:
program practica15
trisc=$ff
trisb=$0
main:
portb.0=portc.0 and portc.1
portb.1=portc.2 or portc.3
portb.2= portc.4 xor portc.5
goto main
end.
ALGORITMO:
ENTRADA: Valores de Z la A.
SALIDA: Código Binario ente 0 y F en el puerto B y C del microcontrolador.
PROCESO: Configuro el Puerto C como entradas.
Configuro el Puerto B como Salidas.
Realizo la Operación And con las entradas del puertoc.0 y puertoc.1.
Muestro en el Puertob.0 estos resultados.
Realizo la Operación Or con las entradas del puertoc.2 y puertoc.3.
Muestro en el Puertob.1 estos resultados.
Realizo la Operación Xor con las entradas del puertoc.4 y puertoc.5.
Muestro en el Puertob.2 estos resultados.
DIAGRAMA DE FLUJO:
INGENIERÍA ELECTRÓNICA
22. RECOMENDACIONES:
Realizar las conexiones correctas entre la placa de Microcontroladores y los dispositivos
externos para realizar los ejercicios de una forma rápida.
Buscar información de las herramientas utilizadas como son: placa de programación de
Micros, PIcs, displays etc.
CONCLUSIONES:
La programación en MiKrobasic se hace más fácil sabiendo direccionar las entradas y
Salidas correctamente.
El PIC16F877A nos permite controlar diferentes dispositivos como Displays, Salidas para
Leds gracias a los pines de Entrada y Salida que tiene.
A través de la placa de Microcontroladores se facilita la conexión entre esta y el
computador para poder programar más rápido el PIC.
BIBLIOGRAFÍA:
Hojas de las Prácticas de Microcontroladores PIcs.
Ayuda del Programa Microbasic.
Manual del Microcontrolador 16F877A.
Manual de la placa de Implementación QL-Program.
Ayuda del Programa Proteus 7.6. Para las simulaciones.
INGENIERÍA ELECTRÓNICA