Laboratorio Final Micro 2

UNIVERSIDAD NACIONAL DE SAN AGUSTIN FACULTAD DE PRODUCCION Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA Mi

Views 118 Downloads 11 File size 874KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

  • Author / Uploaded
  • frank
Citation preview

UNIVERSIDAD NACIONAL DE SAN AGUSTIN FACULTAD DE PRODUCCION Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA Microcontroladores y microprogramación Laboratorio 1

Adrian Ali Jimmy Ronald

20074128

Cruz Huachaca, Frank Jhonathan

20170307

Ricardo Ramos Magaño

20161849

Crhsitian Ccorimanya Alvarez

20162922

AREQUIPA - PERÚ 2018 1. INTRODUCCION CONTEXTO: Este informe consiste en trabajar con un microcontrolador denominado 16F877A, ya que al trabajar con este microcontrolador nos dará la facilidad de conocer y aprender gran parte de la microprogramación. Este trabajo se debe realizar con un programa conocido como MPLAB X IDE, ya que sin él no podemos plasmar o compilar el código al microcontrolador y también tenemos que tener un circuito armado que va de acuerdo con nuestro código.

MOTIVACION: Al realizar este laboratorio no solo es ejecutarlo sino también es conocer el diverso mundo de la Electrónica así adquiriendo conocimientos sobre microcontroladores, dispositivos electrónicos relacionados a este, microprogramación, programación en C, también poder conocer sus unidades de memoria las cuales son la memoria RAM y ROM.

OBJETIVOS: -Conocer todo sobre el microcontrolador 16F877A. -Aprender a utilizar de manera correcta el programa MPLAB X IDE. -Aprender a realizar los códigos necesarios para poder controlar un sistema de forma eficaz. -Aprender todas las salidas y entradas del microcontrolador 16F877A.

2. Materiales y método Materiales:

Condensador Cerámico de 22pF

Cristal de 4MHz

LED

Pulsador

PIC16F877A

Diseño alto nivel

Recursos Una salida digital Una entrada digital

Diseño de Circuito La salida del microcontrolador puede suministrar una corriente de 150 mA Un led para su correcto funcionamiento necesita de 15 a 20 mA por lo que podemos conectarlo directamente

Necesitamos una resistencia para regular la corriente, entonces dividimos el voltaje en la salida entre la corriente de 15mA dando como resultado 330 ohm 1er Circuito

2do Circuito

3er Circuito

PROGRAMA: Primer programa Encender un led ubicado en el pin 0 del puerto B del PIC 16F877A

LIST P = 16F877A

; Selecciona el microcontrolador que estamos utilizando

include P16F877A.inc ; Incluye la librería del microcontrolador ORG 0x2007

; Dirección del programa

DW 0x3F7A

; Palabra de configuración

ORG 0x0000

; Dirección del programa

BSF STATUS, RP0

; Ir al banco 1

BCF STATUS, RP1

; Ir al banco 1

BCF TRISB, RB0

; Configurar el bit 0 del puerto B como salida

BCF STATUS, RP0

; Ir al banco 0

FIN

BSF PORTB, RB0

; Poner en estado alto el bit 0 del puerto B

GOTO FIN

; Ir a la etiqueta FIN

END

Segundo programa Encender y apagar de manera intermitente un led ubicado en el pin 0 del puerto B del PIC 16F877A

LIST P = 16F877A

; Selecciona el microcontrolador que estamos utilizando

include P16F877A.inc ; Incluye la librería del microcontrolador ORG 0x2007

; Dirección del programa

DW 0x3F7A

; Palabra de configuración

ORG 0x0000

; Dirección del programa

BSF STATUS, RP0

; Ir al banco 1

BCF STATUS, RP1

; Ir al banco 1

BCF TRISB, RB0

; Configurar el bit 0 del puerto B como salida

CBLOCK 0X20

; Nombrar registros de propósito general

T1

; Primer registro de propósito general

T2

; Segundo circuito de propósito general

ENDC

BCF STATUS, RP0

FIN

; Ir al banco 0

BCF PORTB, RB0

; Poner en estado bajo el bit 0 del puerto B

CALL RETARDO

; Llamar a la etiqueta retardo

BSF PORTB, RB0

; Poner en estado alto el bit 0 del puerto B

CALL RETARDO

; Llamar a la etiqueta retardo

GOTO FIN

; Ir al inicio del programa

RETARDO

MOVLW 0XFF ; Mover 255 al registro de trabajo MOVWF T1

X1

RETARDO2

X2

; Mover el contenido del registro de trabajo al registro T1

CALL RETARDO2

; Llamar a la etiqueta retardo2

DECFSZ T1

; Decrementar el registro T1 y cuando llegue a 0 saltar la dirección siguiente

GOTO X1

; Ir a la etiqueta X1

RETURN

; Retorna a la línea desde donde fue llamada

MOVLW 0XFF ; Mover 255 al registro de trabajo MOVWF T2

; Mover el contenido del registro de trabajo al registro T2

DECFSZ T2

; Decrementar el registro T1 y cuando llegue a 0 saltar la dirección siguiente

END

GOTO X2

; Ir a la etiqueta X2

RETURN

Retorna a la línea desde donde fue llamada

Tercer programa Encender un led ubicado en el pin 0 del puerto B cuando le pulse un botón en configuración pull up ubicado en el pin 7 del puerto B del pic 16f877A

LIST P = 16F877A

; Selecciona el microcontrolador que estamos utilizando

include P16F877A.inc ; Incluye la librería del microcontrolador ORG 0x2007

; Dirección del programa

DW 0x3F7A

; Palabra de configuración

ORG 0x0000

; Dirección del programa

BSF STATUS, RP0

; Ir al banco 1

BCF STATUS, RP1

; Ir al banco 1

BCF TRISB, RB0

; Configurar el bit 0 del puerto B como salida

BSF TRISB, RB7

; Configurar el bit 7 del puerto B como entrada

BCF STATUS, RP0

; Ir al banco 0

FIN

BTFSS PORTB, RB7

; Comprobar el estado del bit 7 del puerto B y si es alto saltar la dirección siguiente

OFF

ON

GOTO ON

; Ir a la etiqueta ON

GOTO OFF

; Ir a la etiqueta OFF

BCF PORTB, RB0

; Poner en estado bajo el bit 0 del puerto B

GOTO FINAL

; Ir a la etiqueta FINAL

BSF PORTB, RB0

; Poner en estado alto el bit 0 del puerto B

FINAL GOTO FIN

; Ir a la etiqueta FIN

END EXPERIMIENTOS: Lo primero que se necesito fueron los materiales los cuales son: un cristal de 4 mega Hertz un pic 16F877A (de 40 pines), dos condensadores de 22 uf, 1 resistencia de 100k y 300

respectivamente y protoboard , un fuente de alimentación y el programa de mplabx la cual debe estar instalada en nuestro ordenador . Después de tener nuestros materiales procedemos a entrar a nuestro programa mplabx y empezamos a crear nuestro nuevo proyecto que en este caso serían 3

Después que cargo damos clic en file>new proyect y nos saldrá la siguiente ventana:

Cliqueamos en microchip embedded y en standalone proyect >next :

Este cuadro nos pide la familia de pic que utilizaremos en nuestro caso será el pick 16F877A Le damos clic en siguiente y nos abrirá una nueva ventana la cual nos pedirá el simulador

Le damos clic en siguiente y nos aparecerá el nombre del proyecto: en nuestro caso se dio el nombre de laboratorio 1, 2,3 respectivamente lo guardamos y en la parte izquierda aparecerá nuestra carpeta le damos anticlic en source files :

Después de seguir dichos procesos ,volvemos a poner nuestro nombre y guardamos

Y finalmente nos aparecerá nuestra ventana de comandos:

4.-RESULTADOS Y DISCUSION: Después de terminar nuestro trabajo la cual no resulto tan complicado se logró prender el led de forma satisfactoria , puesto que ya se sabía base sobre lo que es programación y el armar un circuito , en lo que es la resistencia de 300 se pudo variar un poco puesto que no es comercial y se aplicó un de 330