Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
247Activity
0 of .
Results for:
No results containing your search query
P. 1
Tutorial I -Prender y apagar un led-

Tutorial I -Prender y apagar un led-

Ratings:

5.0

(1)
|Views: 17,141 |Likes:
Published by giraa2
El proyecto consiste en configurar un pin del microcontrolador para que en un momento dado envíe 5V y prenda un led, y pasado un segundo envíe 0V y por tanto apague el led. El programa se hará de tal manera que la operación descrita se efectúe en un ciclo infinito y se vea a un led intermitente.
El proyecto consiste en configurar un pin del microcontrolador para que en un momento dado envíe 5V y prenda un led, y pasado un segundo envíe 0V y por tanto apague el led. El programa se hará de tal manera que la operación descrita se efectúe en un ciclo infinito y se vea a un led intermitente.

More info:

Published by: giraa2 on Feb 01, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/07/2014

pdf

text

original

 
TUTORIAL IOBJETIVOS
Crear archivos y proyectos en el programa MPLAB.
Familiarizarse con los registros del microcontrolador PIC16F877A.
Realizar el primer proyecto: Prender y apagar un led.
Aprender a programar microcontroladores PIC con el software IC-Prog.
Identificar las ventajas de los proyectos codificados en Lenguaje C comparados con loscodificados en Lenguaje ensamblador.
PROYECTO 1:
Prender y apaga un led.El proyecto consiste en configurar un pin del microcontrolador para que en un momento dadoenvíe 5V y prenda un led, y pasado un segundo envíe 0V y por tanto apague el led. Elprograma se hará de tal manera que la operación descrita se efectúe en un ciclo infinito y sevea a un led intermitente.Para ello vamos a usar del puerto B el pin de mayor peso, es decir el RB7, el pin 40 delmicrocontrolador. Modificando el registro TRISB podemos configurar el puerto como salidadigital y para luego indicarle que envíe pulsos de “unos” y “ceros” a intervalo de 1 segundopor el pin RB7 de ese puerto.Vamos primero a elaborar el código en Lenguaje ensamblador.
 
CODIGO LENGUAJE ENSAMBLADOR 
1. Abrimos el programa MPLAB, dando click en Inicio / Programas / Microchip MPLAB IDE /MPLAB IDE, ó en el icono que aparece en el escritorio después de efectuada lainstalación del programa.2. Creamos un proyecto nuevo de la siguiente manera: damos click en Project / ProjectWizard... Aparece la ventana de bienvenida al asistente de creación de proyectos, damosclick en siguiente para avanzar.3. Aparece la ventana del paso 1 del asistente: Seleccionar un dispositivo. Elegimos el tipode microcontrolador que vamos a utilizar, en este caso trabajaremos con el PIC16F877A,luego damos click en siguiente para continuar.4. En el paso 2 del asistente, en el menú Active toolsuite seleccionamos el tipo de lenguajecon que vamos a trabajar, en este caso trabajaremos con Microchip MPSAM Toolsuite.Debemos verificar además que en ”Toolsuite contents” no aparezcan equis rojas quedenotan una incorrecta instalación del programa. Click en Siguiente para avanzar.5. En el paso 3 daremos nombre al proyecto en el cuadro de texto “Project Name” yseleccionaremos una carpeta para guardarlo dando click en “Browse...”. Como nombre
 
sugerimos “on_led_ASM” y como carpeta C:\SIMUPIC. Damos click en siguiente una vezhecho esto.6. En el paso 4 del asistente podemos adicionar un archivo ya creado seleccionando lacarpeta donde esté y dando clik en Add; en nuestro caso seguimos con el siguiente paso,damos click en siguiente.7. En el último paso del asistente verificamos que la información dada en los anteriorespasos sea correcta. En caso de haber algún error podemos devolvernos dando click en elbotón “Atrás”. Damos click en finalizar para que nos cree el proyecto.8. Luego de haber creado un proyecto nuevo, vamos a crear un nuevo archivo paraadicionar al proyecto, damos click en: File / New. En este archivo nuevo que creamos,vamos a escribir el programa que hace prender y apagar el led.9. Escribimos el siguiente código:INCLUDE P16F877A.INC  PDel0 EQU 0X20 ; Variable utilizada por DELAY  PDel1 EQU 0X21 ; Variable utilizada por DELAY  PDel2EQU 0X22 ; Variable utilizada por DELAY ORG0; Inicio de programa en la dirección 0x0000 de la; Memoria FLASHGOTOCONFIGORG5; Se salta la dirección 0x0004, el vector de; INTERRUPCIONESCONFIG BSF STATUS,RP0;BANCO 1 BCF TRISB,7;RB7 como salida en el PUERTO B  BCF STATUS,RP0;Regresamos al BANCO 0 PROGRAM BSF PORTB,7;Se enciende el LED CALL DELAY1_S ; Retardo de un segundo BCF PORTB,7;OFF LED CALL DELAY1_S ; Retardo de un segundo GOTOPROGRAM ; Regreso a PROGRAMA para hacer el BUCLE ; INFINITO;-------------------------------------------------------------; Code generated by PDEL ver 1.0 on 16/02/2005 at 16:36:17; Description: Waits 1000000 cycles;-------------------------------------------------------------DELAY1_Smovlw .14; 1 set number of repetitions (C)  movwf PDel0; 1 |PLoop0 movlw .72; 1 set number of repetitions (B) movwf PDel1 ; 1 |
 
PLoop1 movlw .247; 1 set number of repetitions (A) movwf  PDel2; 1 | PLoop2clrwdt; 1 clear watchdogdecfsz PDel2,1; 1 + (1) is the time over? (A) gotoPLoop2 ; 2 no, loop  decfsz PDel1,1; 1 + (1) is the time over? (B)  gotoPLoop1 ; 2 no, loop  decfsz PDel0,1; 1 + (1) is the time over? (C)  gotoPLoop0 ; 2 no, loop  PDelL1 goto PDelL2 ; 2 cycles delay  PDelL2 clrwdt; 1 cycle delay  return; 2+2 Done;-------------------------------------------------------------END10. Damos click en File / Save as... Bautizamos el archivo como “on_led_ASM” y loguardamos preferiblemente en la misma carpeta del proyecto, es decir C:\SIMUPIC.Después de esto damos click en Project \ Add Files to project... Seleccionamos el archivoque acabamos de guardar y damos click en Abrir.11. Antes de compilar el proyecto vamos a verificar que el MPLAB nos genere el archivo conla extensión correcta *.HEX. Damos click en Project / Build Options... / Project.12. En la pestaña ”PICC Linker” damos click en el botón “Restore Defaults” Verificamos queaparezca ”-O"$(TARGETBASE).hex" escrito en el cuadro de texto contiguo al botón.Damos click en Aplicar para guardar los cambios y en aceptar 13. Vamos a compilar el proyecto de la siguiente manera: Click en Project / Make (O tambiénProject / Build All). Aparece la ventana Output con la pestaña Build seleccionada, y todoun reporte de la operación. En este reporte pueden aparecer errores o advertencias sipor ejemplo la sintaxis del código no es correcta. Si la compilación fue exitosa aparece elmensaje BUILD SUCCEEDED al final del reporte.14. Se programa el microcontrolador con el IC-PROG tal como esta descrito en las memoriasdel curso. Se hacen las conexiones mostradas en el diagrama (mas abajo) y secomprueba que el dispositivo funcione correctamente.15. De haber alguna incongruencia entre el comportamiento teórico y el real revise primerolas conexiones (si es necesario consulte el datasheet del PIC16F877A para ver losdiagramas de pines) y luego paso por paso el tutorial para encontrar en algún punto elerror.Vamos ahora a elaborar el código en Lenguaje C.
 
CODIGO LENGUAJE C 
16. Abrimos el programa MPLAB.

Activity (247)

You've already reviewed this. Edit your review.
Cesar Navar liked this
1 thousand reads
1 hundred reads
Daro Camargo liked this
Tek_nikkos liked this
Julio Garcia liked this
Andrea Latorre liked this
Ana Torres liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->