informe nº1 micros

31
INFORME #01 ERICK PEÑAHERRERA JOSE BUCHELI XAVIER MUÑOZ SEPTIEMBRE - FEBRERO 2011

Upload: erickalexander

Post on 24-Jun-2015

268 views

Category:

Documents


2 download

DESCRIPTION

Practica de micros

TRANSCRIPT

Page 1: INFORME Nº1 micros

INFORME #01

ERICK PEÑAHERRERA JOSE BUCHELI XAVIER MUÑOZ

SEPTIEMBRE - FEBRERO 2011

Page 2: INFORME Nº1 micros

DATASHEETS

� dsPIC30F4013

� PIC16F877A

Page 3: INFORME Nº1 micros

DESARROLLO PRÁCTICO

OBJETIVO: Utilizar los puertos del micro controlador pic, como interface digital al mundo exterior.

1. EJERCICIO 1 realizado con dsPIC30F4013

• PROBLEMA:

Escribir en el puerto B el valor 55h.

• ALGORITMO:

Entradas: El número 55h Procesos:

• Habilitar puerto b (salida) • Escribir 55h en el puerto B • Retardo 1 s.

Salidas: Salida del puerto B hacia los leds con el valor 55h.

• DIAGRAMA DE FLUJO

INICIO

PUERTO B = Out

ESCRIBIR EN EL PUERTO B

55(H) – 01010101(2)

Page 4: INFORME Nº1 micros

• CÓDIGO

program practica1trisb=0 'Habilita el puerto B como salidamain: 'Parte principal del programaportb=$55 'Escribe en el puerto B el valor 55H=01010101 delay_ms(1000) 'retardo en 1 s end.

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013,

• S

I

M

U

L

A

C

I

Ó

N

program practica1 trisb=0 'Habilita el puerto B como salida main: 'Parte principal del programa portb=$55 'Escribe en el puerto B el valor 55H=01010101 delay_ms(1000) 'retardo en 1 s

ESQUEMÁTICO

: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

: La simulación fue realizada con el PIC16F877A, debido a que en proteus no

Page 5: INFORME Nº1 micros

• FOTOS

Page 6: INFORME Nº1 micros

2. EJERCICIO 2 realizado con dsPIC30F4013

• PROBLEMA:

Escribir en el puerto B el valor AAh.

• ALGORITMO:

Entradas: El número AAh Procesos:

• Habilitar puerto b (salida) • Escribir AAh en el puerto B • Retardo 1 s.

Salidas: Salida del puerto B hacia los leds con el valor AAh.

• DIAGRAMA DE FLUJO

• CÓDIGO

program practica1 trisb=0 'Habilita el puerto B como salida main: 'Parte principal del programa portb=$AA 'Escribe en el puerto B el valor AAH=10101010 delay_ms(1000) 'retardo en 1 s end.

INICIO

PUERTO B = Out

ESCRIBIR EN EL PUERTO B

AA(H) – 10101010(2)

Page 7: INFORME Nº1 micros

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, deencontramos dsPIC30F4013, pero obtenemos el mismo resultado.

• S

I

M

U

L

A

C

I

Ó

N

ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

bido a que en proteus no

Page 8: INFORME Nº1 micros

• FOTOS

Page 9: INFORME Nº1 micros

3. EJERCICIO 3 realizado con dsPIC30F4013

• PROBLEMA:

Escribir en el puerto C el valor F0h NOTA: el dsPIC30F4013 no posee el puerto C completo para poder visualizar el ejercicio por lo que utilizamos el puerto B.

• ALGORITMO:

Entradas: El número F0h Procesos:

• Habilitar puerto b (salida) • Escribir F0h en el puerto B • Retardo 1 s.

Salidas: Salida del puerto B hacia los leds con el valor F0h.

• DIAGRAMA DE FLUJO

• CÓDIGO

program practica1 trisb=0 'Habilita el puerto B como salida main: 'Parte principal del programa portb=$F0 'Escribe en el puerto B el valor F0H=11110000 delay_ms(1000) 'retardo en 1 s end.

INICIO

PUERTO B = Out

ESCRIBIR EN EL PUERTO B

F0(H) – 11110000(2)

Page 10: INFORME Nº1 micros

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

• S

I

M

U

L

A

C

I

Ó

N

ÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado. NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no

Page 11: INFORME Nº1 micros

• FOTOS

Page 12: INFORME Nº1 micros

4. EJERCICIO 4 realizado con dsPIC30F4013

• PROBLEMA:

Leer en el puerto C y escribir en el puerto B. NOTA: el dsPIC30F4013 no posee el puerto C completo para poder ingresar el dato, por lo que utilizamos el puerto F.

• ALGORITMO:

Entradas: Datos en el puerto F Procesos:

• Habilitar puerto F como entrada • El puerto B como salida • Se define una variable de datos • Mandar la variable al puerto de salida B • Presentar resultados en el puerto B

Salidas: Salida del puerto B presentamos en los leds.

• DIAGRAMA DE FLUJO

INICIO

DEFINIR

VARIABLE X

LEO VARIABLE X EN EL

PUERTO F

ESCRIBIR EN EL PUERTO B LA

VARIABLE X

Page 13: INFORME Nº1 micros

• CÓDIGO

program cuatro

main:

dim valor as byte

lazo:

trisf=$ff

trisb=0

valor=portf

portb=valor

goto lazo

end.

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo res

ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado. NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no

Page 14: INFORME Nº1 micros

• S

I

M

U

L

A

C

I

Ó

N

• FOTOS

Page 15: INFORME Nº1 micros

5. EJERCICIO 5 realizado con dsPIC30F4013

• PROBLEMA:

Leer en el puerto A y escribir en el puerto D. NOTA: el dsPIC30F4013 no posee el puerto A completo para poder ingresar el dato, por lo que utilizamos el puerto F.

• ALGORITMO:

Entradas: Datos en el puerto F Procesos:

• Habilitar puerto F como entrada • El puerto D como salida • Se define una variable de datos • Mandar la variable al puerto de salida D • Presentar resultados en el puerto D

Salidas: Salida del puerto B presentamos en los leds.

• DIAGRAMA DE FLUJO

INICIO

DEFINIR

VARIABLE X

LEO VARIABLE X EN EL

PUERTO F

ESCRIBIR EN EL PUERTO D LA

VARIABLE X

Page 16: INFORME Nº1 micros

• CÓDIGO

program cuatro

main:

dim valor as byte

lazo:

trisf=$ff

trisd=0

valor=portf

portd=valor

goto lazo

end.

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, deencontramos dsPIC30F4013, pero obtenemos el mismo resultado.

ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

bido a que en proteus no

Page 17: INFORME Nº1 micros

• S

I

M

U

L

A

C

I

Ó

N

• FOTOS

Page 18: INFORME Nº1 micros

6. EJERCICIO 6 realizado con dsPIC30F4013

• PROBLEMA:

Escribir en un display de 7 segmentos sin utilizar decodificador, un valor ascendente entre 0 y F..

• ALGORITMO:

Entradas: Datos que se guardan en el microcontrolador. Procesos: Conectamos los puertos del microcontrolador al display de 7 segmentos que debe ser un cátodo común el segmento a=portb.0, el b=portb.1, de esta manera en orden hasta el segmento g. Esperamos 2 segundos entre el cambio de números. Comprobamos si las salidas se están ejecutando correctamente mediante la visualización de los números en el display. Salidas: Datos que salen del puerto b del microcontrolador.

• DIAGRAMA DE FLUJO

INICIO

Configuro el puerto B como

salida

Escribo en el puerto B en formato binario.

Portb=%00111111

Retardo de 2 segundos

Escribo en el puerto B en formato binario.

Portb=%00111110

Retardo de 2 segundos

Page 19: INFORME Nº1 micros

• CÓDIGO

program practica6 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=%01111111 delay_ms(2000) portb=%01100111 delay_ms(2000) portb=%01100111 delay_ms(2000) portb=%01111000 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.

Page 20: INFORME Nº1 micros

• ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

• S

I

M

U

L

A

C

I

Ó

N

ESQUEMÁTICO

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no encontramos dsPIC30F4013, pero obtenemos el mismo resultado.

NOTA: La simulación fue realizada con el PIC16F877A, debido a que en proteus no

Page 21: INFORME Nº1 micros

• FOTOS

Page 22: INFORME Nº1 micros

7. EJERCICIO 7 realizado con PIC16F877A

• PROBLEMA:

Ejercicio de aplicación mediante un display alfanumérico mostrar en orden descendente todas las letras del alfabeto de la Z a la A.

• ALGORITMO:

Entradas: Datos que se guardan en el microcontrolador. Procesos: Conectamos los puertos del microcontrolador al display alfanumérico según la configuración que hayamos asignado a cada segmento y a cada salida del microcontrolador. Esperamos 2 segundos entre el cambio de números. Comprobamos si el programa se está ejecutando correctamente mediante la visualización de los números en el display alfanumérico. Salidas: Datos que salen del puerto b y puerto c del microcontrolador.

• DIAGRAMA DE FLUJO

INICIO

Configuro el puerto B y C como salida

Escribo en el puerto B y C Portb=%00101000 Portc=%11000001

Retardo de 2 segundos

Escribo en el puerto B y C Portb=%00111110 Portc=%11000001

Retardo de 2 segundos

Page 23: INFORME Nº1 micros

• CÓDIGO

program alfa main: trisb=$0 'puerto b como salidas trisc=$0 'puertoc como salidas lazo: 'Z portb=%00110011 portc=%01000100 Delay_ms(1000) 'Y portb=%00000000 portc=%00100101 Delay_ms(1000) 'X portb=%00000000 portc=%01010101 Delay_ms(1000) 'W portb=%11001100 portc=%01010000 Delay_ms(1000) 'V portb=%11000000 portc=%01000100 Delay_ms(1000) 'U portb=%11111100 portc=%00000000 Delay_ms(1000) 'T portb=%00000011 portc=%00100010 Delay_ms(1000) 'S portb=%10111011 portc=%10001000 Delay_ms(1000) 'R portb=%11000111

Page 24: INFORME Nº1 micros

portc=%10011000 Delay_ms(1000) 'Q portb=%11111111 portc=%00010000 Delay_ms(1000) 'P portb=%11000111 portc=%10001000 Delay_ms(1000) 'O portb=%11111111 portc=%00000000 Delay_ms(1000) 'N portb=%11001100 portc=%00010001 Delay_ms(1000) 'M portb=%11001100 portc=%00000101 Delay_ms(1000) 'L portb=%11110000 portc=%00000000 Delay_ms(1000) 'K portb=%00000000 portc=%00110110 Delay_ms(1000) 'J portb=%00100011 portc=%00100010 Delay_ms(1000) 'I portb=%00110011 portc=%00100010 Delay_ms(1000) 'H portb=%11001100 portc=%10001000

Page 25: INFORME Nº1 micros

Delay_ms(1000) 'G portb=%11111011 portc=%00001000 Delay_ms(1000) 'F portb=%11000011 portc=%10000000 Delay_ms(1000) 'E portb=%11110011 portc=%10000000 Delay_ms(1000) 'D portb=%01100000 portc=%10100010 Delay_ms(1000) 'C portb=%11110011 portc=%00000000 Delay_ms(1000) 'B portb=%11111000 portc=%10001000 Delay_ms(1000) 'A portb=%11001111 portc=%10001000 Delay_ms(1000) goto lazo end.

Page 26: INFORME Nº1 micros

• ESQUEMÁTICO

• S

I

M

U

L

A

C

I

Ó

N

ESQUEMÁTICO

Page 27: INFORME Nº1 micros

• FOTOS

Page 28: INFORME Nº1 micros

8. EJERCICIO 8 realizado con PIC16F877A

• PROBLEMA:

Lógica booleana con microcontrolador

• ALGORITMO:

Entradas: Datos que se guardan en el microcontrolador en los puertos b y c Procesos: Configuramos el puerto c como salida. Realizamos las funciones lógicas and or y xor. Comprobamos si el programa se está ejecutando correctamente mediante la visualización de los leds que deben cumplir con las funciones. Salidas: Datos que salen del puerto b del microcontrolador.

• DIAGRAMA DE FLUJO

• CÓDIGO

program practica8 trisc=$ff 'puerto como entrada trisb=$00 'puerto b salida 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.

INICIO

Configuro el puerto B como entrada y el

puerto C como salida

Ejecuto las funciones booleanas and, or y xor.

Page 29: INFORME Nº1 micros

• ESQUEMÁTICO

• S

I

M

U

L

A

C

I

Ó

N

NOTA: En la práctica se realizo con el puerto F de escritura y puerto B de salida, pero en la simulación utilizamos el puerto C de escritura y p

ESQUEMÁTICO

NOTA: En la práctica se realizo con el puerto F de escritura y puerto B de salida, pero en la simulación utilizamos el puerto C de escritura y puerto B de salida. NOTA: En la práctica se realizo con el puerto F de escritura y puerto B de salida, pero en la

Page 30: INFORME Nº1 micros

• FOTOS

Page 31: INFORME Nº1 micros

• CONCLUSIONES

� El lenguaje de programación cargado en los microcontroladores PIC se lo realizó a través del Compilador microBasic, debido a que es un lenguaje fácil y rápido de programar, para principiantes en microcontroladores.

� Que la elaboración de esta práctica nos sirve para comprender un poco más la teoría de los

microcontroladores y su aplicación; de ahí la importancia del mismo, pues a través de él se puede apreciar lo interesante que es la programación en nuestra vida cotidiana.

� Que los microcontroladores utilizados en esta práctica el 16f877A y dsPic30f4013, tienen

una capacidad muy grande para control de procesos básicos y complejos, aunque en algunos programas ocupan extenso espacio de memoria es suficiente para la práctica para empezar a conocer sobre microcontroladores.

BIBLIOGRAFIA

http://ww1.microchip.com/downloads/en/DeviceDoc/70138E.pdf, Microchip, datasheet dsPIC30F4013, fecha de revisión: 25/09/2010. http://ww1.microchip.com/downloads/en/devicedoc/30292c.pdf, Microchip, datasheet PIC16F877A, fecha de revision: 25/09/2010.