control de puertos pic 16

32
INGENIERÍA ELECTRÓNICA

Upload: cristianalban

Post on 26-Dec-2014

4.878 views

Category:

Business


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Page 2: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 3: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

ESQUEMATICO:

SIMULACIÓN:

2.- Escribir en el Puerto B el valor de AA

CODIGO:

program practica2 trisb=0 main: portb=AA

Page 4: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 5: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 6: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

ESQUEMATICO:

SIMULACIÓN:

4.- Leer en el Puerto C y Escribir en el Puerto B

CÓDIGO: program practica 13 dim valor as byte

Page 7: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 8: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

ESQUEMATICO:

SIMULACIÓN:

Page 9: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 10: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

ESQUEMATICO EN PROTEUS:

SIMULACIÓN:

Page 11: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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.

Page 12: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 13: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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

Page 14: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

delay_ms(1000) portb=%00000000 portc=%10001010 delay_ms(1000) portb=%00000000 portc=%10101010 delay_ms(1000) portb=%11111100 portc=%00000000 delay_ms(1000) portb=%11111100 portc=%00000000 delay_ms(1000) portb=%00000011 portc=%01000100 delay_ms(1000) portb=%11000111 portc=%00110001 delay_ms(1000) portb=%10111011 portc=%00010001 delay_ms(1000) portb=%11000111 portc=%00010001 delay_ms(1000) portb=%11111111 portc=%00000000 delay_ms(1000) portb=%11001100 portc=%00100010 delay_ms(1000) portb=%11001100 portc=%00001010 delay_ms(1000) portb=%11110000 portc=%00000000 delay_ms(1000) portb=%11000000 portc=%00101001 delay_ms(1000) portb=%01100011 portc=%01000100 delay_ms(1000) portb=%00110011

Page 15: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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.

Page 16: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

DIAGRAMA DE FLUJO:

ESQUEMATICO:

Page 17: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

SIMULACIÓN:

Page 18: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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:

Page 19: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

ESQUEMATICO:

SIMULACIÓN:

Operación And: Portc.0 And Portc.1 Portb.0

0 0 0

0 1 0

1 0 0

1 1 1

Page 20: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Operación Or: Portc.2 Or Portc.3 Portb.1

0 0 0

0 1 1

1 0 1

1 1 1

Page 21: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Operación Xor:

Portc.4 Xor Portc.5 Portb.2

0 0 0

0 1 1 1 0 1

1 1 0

Page 22: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

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.

Page 23: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Page 24: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Ejercicio 1: Puerto B el valor de 55h

Page 25: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Ejercicio 2: Puerto B el valor de AA

Page 26: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Ejercicio 3: Puerto C el valor de F0

Page 27: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Ejercicio 4: Leer en el Puerto C y Escribir en el Puerto B

Ejercicio 5: Leer en el Puerto A y Escribir en el D

Page 28: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Ejercicio 6: Display de 7 segmentos

Page 29: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Page 30: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

EJERCICIO 7: DISPLAY ALFANUMERICO

Page 31: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

Page 32: Control De Puertos Pic 16

INGENIERÍA ELECTRÓNICA

EJERCICIO 8: LÓGICA BOOLEANA