practica1 1
TRANSCRIPT
UNIVERSIDAD POLITECNICA SALESIANA
PRACTICA #1
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
TEMA Entrada y Salida en el micro controlador PIC.
OBJETIVO
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, conexionesUSB, interfaz para LCD, y muchas más.
1.1 ESCRIBIR EN EL PUERTO B EL VALOR 55H
Entradas Número 55h
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
Salidas Código binario del número 55h en el PortB del microcontrolador.
Procesos Escribir el valor 55h en el PortB. Retardo de 1 segundo.
DIAGRAMA DE FLUJO
PORTB= 555
RATORDO 1S
INICIO
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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.
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
CODIGO
program practica1_2
trisb=0main:
portb=$AA 'Escribe en el puerto B el valor AAh=10101010delay_ms(1000)
end.
SIMULACION
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
DIAGRAMA DE FLUJO
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.
PORTB= $AA
RATORDO 1S
INICIO
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
DIAGRAMA DE FLUJO
PORTB= $F0
RATORDO 1S
INICIO
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
CODIGO
program EJERCICIO1_4
dim valor as byte
main:
lazo:
trisC=$ff
trisB=0
valor=portC
portB=valor
goto lazo
end.
SIMULACION
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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=%00111111
RETARDO 2S
portb=%01110001
RETARDO 2S
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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.
SIMULACION
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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 microcontrolador. 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=%00001001portc=%00010001
RETARDO 2S
portb=%00110111portc=%00100010
RETARDO 2S
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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:
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
CODIGO
program practica1_7trisb=$0trisc=$0main:lazo:portb=%00001001portc=%00010001delay_ms(1000)portb=%01000000portc=%00001001delay_ms(1000)portb=%01000000portc=%00010101delay_ms(1000)portb=%00110110portc=%00010100delay_ms(1000)portb=%00110000portc=%00010001delay_ms(1000)portb=%00111110portc=%00000000delay_ms(1000)portb=%10000001portc=%00001000delay_ms(1000)portb=%00101101portc=%00100010delay_ms(1000)portb=%00110011portc=%00100110delay_ms(1000)portb=%00100111portc=%00100010
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
delay_ms(1000)portb=%00110011portc=%00100010delay_ms(1000)portb=%00111111portc=%00000000delay_ms(1000)portb=%01110110portc=%00000100delay_ms(1000)portb=%01110110portc=%00000001delay_ms(1000)portb=%00111000portc=%00000000delay_ms(1000)portb=%00110000portc=%00100101delay_ms(1000)portb=%00011110portc=%00000000delay_ms(1000)portb=%10001001portc=%00001000delay_ms(1000)portb=%00110110portc=%00100010delay_ms(1000)portb=%00111101portc=%00000010delay_ms(1000)portb=%00110001portc=%00100010delay_ms(1000)portb=%00111001portc=%00100010delay_ms(1000)portb=%00011110portc=%00100010delay_ms(1000)
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
portb=%00111001portc=%00000000delay_ms(1000)portb=%00111100portc=%00100010delay_ms(1000)portb=%00110111portc=%00100010delay_ms(1000)goto lazoend.
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
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
DIAGRAMA DE FLUJO
CODIGO
program practica1_8
trisc=$FF 'Puerto C como entradastrisb=$0 'Puerto B como salidas
main:portb.0=portc.0 and portc.1portb.1=portc.2 or portc.3portb.2=portc.4 xor portc.5goto mainend.
INICIO
PORTB.0=PORTC.0 AND PORTC.1
PORTB.1=PORTC.2 OR PORTC.3
PORTB.2=PORTC.4 XOR PORTC.5
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
SIMULACION
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
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 PICManual de microcontrolador PIC 16f877a
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I
INGENIERIA ELECTRONICA
SISTEMAS MICROPROCESADOS I