Este documento presenta 8 ejercicios prácticos sobre la programación de un microcontrolador PIC utilizando el compilador MikroBasic. Los ejercicios cubren temas como la entrada y salida digital, lógica booleana, visualización en displays y el uso de puertos.
2. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
TEMA Entrada y Salida en el micro controlador PIC.
OBJETIVO
y Utilizar los puertos del micro controlador PIC, como interface digital al
mundo exterior.
MARCO TEORICO
MIKROBASIC
Este compilador es traído gracias a la empresa mikroElectronika, misma que distribuye
una serie de compiladores entre los que destacan el ya antes mencionado mikroBasic y
mikroC.
Probablemente, mikroBasic sea el compilador que soporte más modelos de PICs, ya Que
dependiendo del PIC que vayamos a programar existe una versión creada para abarcar
la mayoría de PICs de la misma familia.
mikroBasic dispone de un extenso grupo de librerías, que están distribuidas en
comunicaciones RS-232, RS-485 e I2C; así también como teclados PS/2, conexiones
USB, interfaz para LCD, y muchas más.
1.1 ESCRIBIR EN EL PUERTO B EL VALOR 55H
Entradas Número 55h
Salidas Código binario del número 55h en el PortB del microcontrolador.
3. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
Procesos Escribir el valor 55h en el PortB.
Retardo de 1 segundo.
DIAGRAMA DE FLUJO
INICIO
PORTB= 555
RATORDO 1S
4. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CODIGO:
program PRACTICA1
TRISB=0 'HABILITA EL PUERTO B COMO SALIDA
MAIN: 'Parte principal del programa
PORTB=$55 'ESCRIBE EN EL PURTO B EL VALOR 55H= 01010101
DELAY_MS (1000) 'retardo 1 segundo
END.
SIMULACION
FIGURA #1
1.2 Ejercicio de aplicación. Escribir en el puerto B el valor AA
Entradas Número AA
Salidas Código binario del número AAh en el PortB del microcontrolador.
Procesos Escribir el valor AAh en el PortB.
Retardo de 1 segundo.
5. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CODIGO
program practica1_2
trisb=0
main:
portb=$AA 'Escribe en el puerto B el valor AAh=10101010
delay_ms(1000)
end.
SIMULACION
6. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
DIAGRAMA DE FLUJO
INICIO
PORTB= $AA
RATORDO 1S
1.3 Ejercicio de aplicación. Escribir en el puerto C el valor F0
Entradas Número F0
Salidas Código binario del número F0 en el PortC del microcontrolador.
Procesos Escribir el valor F0 en el PortC.
Retardo de 1 segundo.
CODIGO
program EJERCICIO1_3
TRISC=0 'HABILITA EL PUERTO C COMO SALIDA
MAIN: 'Parte principal del programa
PORTC=$F0 'ESCRIBE EN EL PURTO C EL VALOR $F0
DELAY_MS(1000) 'retardo 1 segundo
END.
7. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
£
DIAG A A DE FL J
¡ ¢
INICIO
PORTB= $F0
RATORDO 1S
8. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
1.4 Leer en el puerto C y escribir en el puerto B
Entradas Valores de entrada en el PortC .
Salidas Bits que ingresan por el PortC salen en las patitas del PortB.
Procesos Definir variable para almacenar los datos ingresados por el PortC.
Habilitar el PortC como entrada y el PortB como salida.
Leer bits con el PortC.
Guardar los bits que ingresan por el PortC en la variable.
Escribir el valor de la variable en el PortB.
DIAGRAMA DE FLUJO
INICIO
DEFINIR
VARIABLE
trisC=$ff
trisB=0
valor=portC
portB=valor
9. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CODIGO
program EJERCICIO1_4
dim valor as byte
main:
lazo:
trisC=$ff
trisB=0
valor=portC
portB=valor
goto lazo
end.
SIMULACION
10. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
1.5 Escribir en un display de 7 segmentos sin utilizar decodificador, un valor
ascendente
entre 0 y F.
Entradas Valores de 0 a F
Salidas Código binario entre 0 y F en el PortB del micro controlador.
Procesos Definir código binario para cada valor.
Escribir el código binario establecido para cada valor en el PortB
Retardo 2 segundos.
Repetir los tres pasos anteriores hasta llegar a l
DIAGRAMA DE FLUJO
INICIO
PORTB=%0011111
1
RETARDO 2S
portb=%0111000
1
RETARDO 2S
11. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CODIGO
program practica1_5
trisb=$0
'a=portb.0, b=portb.1, c=portb.2,'d=portb.3, e=portb.4, f=portb.5, g=portb.6
'el display debe ser cátodo común
main:
lazo:
portb=%00111111 'formato para trabajar en binario
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
13. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
1.6 Ejercicio de aplicación. Mediante un display alfanumérico mostrar en orden
descendentes las letras del alfabeto de la Z a la A
Entradas Valores alfanuméricos de la Z a la A
Salidas Código binario desde la Z a la A en el PortB del micro controlador.
Procesos Definir código binario para cada valor.
Escribir los 8 primeros bits (a-h) del código binario establecido
para cada valor en el PortB.
Escribir los últimos bits (i-n) del código binario establecido para
cada valor en el PortC.
Retardo 1 segundo
Repetir los cuatro pasos anteriores hasta llegar a la A
DIAGRAMA DE FLUJO
INICIO
portb=%00001001
portc=%00010001
RETARDO 2S
portb=%00110111
portc=%00100010
RETARDO 2S
14. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
Los leds del display están distribuidos de la siguiente manera:
Los pines del display están distribuidos de la siguiente manera:
Los pines del PIC se distribuyen de la siguiente manera:
17. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
portb=%00111001
portc=%00000000
delay_ms(1000)
portb=%00111100
portc=%00100010
delay_ms(1000)
portb=%00110111
portc=%00100010
delay_ms(1000)
goto lazo
end.
SIMULACION
1.7 Lógica booleana con micro controlador
Entradas Valores en el PortC
Salidas Código binario en el PortB del micro controlador.
Procesos Definir código binario para cada valor.
Escribir en el PortB.0 PortC.0 and PortC.1
Escribir en el PortB.1 PortC.2 or PortC.3
Escribir en el PortB.2 PortC.4 xor PortC.5
18. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
DIAGRAMA DE FLUJO
INICIO
PORTB.0=PORTC.0 AND PORTC.1
PORTB.1=PORTC.2 OR PORTC.3
PORTB.2=PORTC.4 XOR PORTC.5
CODIGO
program practica1_8
trisc=$FF 'Puerto C como entradas
trisb=$0 'Puerto B como salidas
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.
19. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
SIMULACION
20. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
CONCLUSIONES
La programación en mikrobasic maneja un lenguaje secillo
de entender lo cual permite realizar diversas aplicacione.
Los puertos del pic pueden ser utilizados como entradas o
como salidas dependiendo el uso que se le quiera dar.
La forma de carga el programa hecho en mikrobasic se lo
hace con el archivo .hex y utilizando la programadora de
PIC que se tenga.
RECOMENDACIONES
Para que funcione el PIC es indispensable colocar el cristal
de lo contrario asi este cargado el programa en el PIC no se
visualizara ningún resultado.
Se debe tener el manual del PIC que se utilice para saber la
conexión adecuada de los pines, el manual se lo puede
bajar de internet.
BIBLIOGRAFIA
Hoja de practicas de microcontroladores PIC
Manual de microcontrolador PIC 16f877a
21. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
22. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
23. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
24. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
25. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA
26. INGENIERIA
SISTEMAS MICROPROCESADOS I
ELECTRONICA