SlideShare una empresa de Scribd logo
1 de 10
INSTRUCTOR: MAURICIO DIAZ GARCIAINTITUCION EDUCATIVA: ________________________<br />GRUPO: ________________________NOMBRE:  _____________________________________<br />CIUDAD Y FECHA:____________________________________, <br />Listado de instrucciones:<br />SUBRUTINAS DE RETARDO.<br />Un retardo, es una forma de control de tiempo en la programación del PIC, Las instrucciones 'normales' utilizan un ciclo de máquina para ejecutarse, un ciclo máquina es la unidad básica de tiempo de ejecución de un programa en un PIC y depende de la velocidad del oscilador.<br />Hay instrucciones llamadas de salto como goto,return, call, btfss etc que necesitan 2 ciclos máquina para ejecutarse.<br />Si contamos los ciclos máquina de una determinada parte de instrucciones de un programa, podremos controlar los tiempos de retardo.<br />Como sabemos que F=1/T, siendo F=frecuencia y T=tiempo, podemos determinar cuánto tiempo consumirá una instrucción en el microcontrolador, sabiendo que para ejecutar una instrucción el microcontrolador utiliza 4 pulsos de reloj.<br />Ej : Si un microcontrolador funciona a 4MHz, ¿qué tardará en ejecutar una       instrucción?<br />F=1/4T -> T=1*4/F<br />Si F=4MHz<br />T=1/F = 1*4/4000000 =1useg<br />Es decir que para un reloj de 4 MHz, cada instrucción simple tardará 1 useg, y para las instrucciones de salto tardará 2useg.<br />;____________Programa bucle simple__________________<br />list p=16f84A<br />contadorequh'10'; contador de bucle<br />org<br />;_______________________________________________<br />bsfh'03',5;Bank 1<br />clrfh'06;PortB salidas<br />bcfh'03'5;Bank 0<br />;___________________________________________<br />iniciomovlwh'ff'; cargamos 11111111 en w<br />movwfh'06'; enviamos todo '1' al port B<br />callretardo; subrutina retardo<br />clrfh'06'; Borramos el puerto B<br />callretardo; llamada subrutina retardo<br />gotoinicio; repetimos el programa<br />;_______________________________________________<br />retardomovlwd'249';cargamos contador, la llamada al retardo son dos ciclos de maquina (cm)<br />movwfcontador;con con el valor de 249 (1cm)<br />;______________________________________________<br />buclenop; consume un ciclo (1cm)<br />decfszcontador,1; 1 cm si no hay salto 2 cm si salta<br />gotobucle; consume 2cm<br />return; 2 cm<br />;__________________________________________________<br />end<br />;_______________________________<br />; el retardo se calcula de la siguiente forma:<br />; 2+1+1+(249)*1+2+(249-1)*2+2<br />;   1001 useg = 1 seg<br />Compilamos en Mplab<br />Ahora creamos un proyecto así:<br />lefttop<br />Configuramos el pic en el Mplab<br /> Adicionar el archivo en assembler al proyecto:<br />lefttopCompilamos el programa para ver que este bien escrito en lenguaje Assembler<br />Reporte de errores  de Compilacion<br /> Con <br />Con esto generamos el archovo *.hex que necesitamos para grabar el Pic<br />Lo ubicamos en la misma carpeta del proyecto.<br />Práctica: Montar el siguiente circuito y grabar el Pic con el ejercicio anterior.<br />Podemos realizar mas retardos con bucles anidados, es decir uno dentro del otro para conseguir retardos de milisegundos y de segundos dependiendo del valor que podamos cargar a los contadores.<br />Veamos un ejemplo<br />;------------------------------------------------------------<br />;-- Subrutinas retardo mediante bucles<br />;-- leemos port A y realizamos un menu<br />;-- con los valores leidos de la siguiente forma:<br />;-- Si porta=0 retardo 200ms<br />;-- si porta=1 retardo 1 seg<br />;-- si porta=2 retardo 5 seg<br />;-- si porta=3 retardo 10 seg<br />;------------------------------------------------------------<br />list p=16f84<br />contador1 equ h'10' ;Variable contador<br />contador2 equ h'11'<br />contador3 equ h'12'<br />portb equ h'06'<br />porta equ h'05'<br />status equ h'03'<br />pcl equ h'02' ;Contador programa<br />org 0<br />;----------------Configuracion ports --------------------<br />bsf status,5 ;bank1<br />clrf portb ;portb salidas<br />movlw b'00011111'<br />movwf porta ;porta entradas<br />bcf status,5 ;bank0<br />;--------------------------------------------------------<br />;-- Programa principal --<br />;--------------------------------------------------------<br />prog movf porta,0<br />andlw b'00000011' ;Solo 3 ultimos bits<br />addwf pcl,1<br />goto prog0 ;Si porta=0 ->prog0<br />goto prog1 ;Si porta=1 ->prog1<br />goto prog2 ;Si porta=2 ->prog2<br />goto prog3 ;Si porta=3 ->prog3<br />goto prog ;Bucle principal<br />;------------------- Subprogramas retardos ---------------<br />prog0 ;-- Subprograma 0 (200ms)<br />movlw b'00000001' ;enviamos un 1<br />movwf portb ;al puerto b<br />movlw d'200' ;cargamos contador1 con 200<br />call miliseg ;llamamos subrutina milisegundos (tiempo<br />en on)<br />clrf portb ;enviamos un 0 al portB<br />movlw d'200' ;cargamos contador1 con 200<br />call miliseg ;volvemos a llamar subrutina (tiempo en off)<br />goto prog<br />prog1 ;-- Subprograma 1 1 seg<br />movlw b'00000001'<br />movwf portb<br />movlw d'10' ;cargamos contador3 con 10<br />call segundo ;llamada subrutina segundo (tiempo en on)<br />clrf portb<br />movlw d'10' ;cargamos contador3 con 10<br />call segundo ;llamada subrutina segundo (tiempo en off)<br />goto prog<br />prog2 ;-- Subprograma 2 (5 seg)<br />movlw b'00000001'<br />movwf portb<br />movlw d'50'<br />call segundo<br />clrf portb<br />movlw d'50'<br />call segundo<br />goto prog<br />prog3 ;-- Subprograma 3 (10 seg)<br />movlw b'00000001'<br />movwf portb<br />movlw d'100'<br />call segundo<br />clrf portb<br />movlw d'100'<br />call segundo<br />goto prog<br />;------------------- Subrutinas de retardo con bucles anidados --------------<br />;------------------- Retardo milisegundos con 2 bucles anidados--------------<br />;----------------------------------------------------------------------------<br />miliseg ;-- Subrutina Retardo milisegundos<br />movwf contador2 ;cargamos contador2 con 200<br />bucle1 movlw d'249' ;y contador 1 con 249<br />movwf contador1 ;Aprox 200 ms<br />bucle2 nop ;No Operation (no hace nada,pasa un ciclo de<br />maquina)<br />decfsz contador1,1 ;Decrementamos contador 1<br />goto bucle2 ;Si contador1 distinto 0 repite operacion<br />decfsz contador2,1 ;Si contador1=0 decrementados contador2<br />goto bucle1 ;Si contador2 no es cero -> vamos a bucle1<br />return ;Si contador2=0 finaliza subrutina<br />;------------------- Retardo en segundos con 3 bucles anidados ----------------<br />;------------------------------------------------------------------------------<br />segundo ;-- Subrutina Retardo segundos<br />movwf contador3 ;cargamos contador3 con valor de<br />prog1,prog2,prog3<br />bucle3 movlw d'100' ;y contador 2 con 100<br />movwf contador2<br />bucle4 movlw d'249' ;cargamos contador1 con 249<br />movwf contador1<br />bucle5 nop ;NOP (un ciclo de maquina 1u segundo)<br />decfsz contador1,1<br />goto bucle5<br />decfsz contador2,1<br />goto bucle4<br />decfsz contador3,1<br />goto bucle3<br />return<br />;------------------- Final de subrutinas de retardo -----------------------------<br />end<br />
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog
Material 1 de consulta microcontroladores temporizar por prog

Más contenido relacionado

Similar a Material 1 de consulta microcontroladores temporizar por prog

Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabYeni Ochoa
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLABMicroPart
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5georgemanson69
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2Luis Zurita
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusJeisson Saavedra
 
Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Andresr123
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitEnrique Trascastro
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLABBlackD10
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosmarco calderon layme
 
Reporte de practica #1
Reporte de practica #1Reporte de practica #1
Reporte de practica #1Will Alcantar
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y tecladoLuis Zurita
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucJair BG
 

Similar a Material 1 de consulta microcontroladores temporizar por prog (20)

Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Generar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplabGenerar retardos-para-pic-en-mplab
Generar retardos-para-pic-en-mplab
 
como usar MPLAB
como usar MPLABcomo usar MPLAB
como usar MPLAB
 
Compare capture pwm mode 5
Compare capture pwm mode 5Compare capture pwm mode 5
Compare capture pwm mode 5
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Workshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteusWorkshop ii microcontrollers using mplab and proteus
Workshop ii microcontrollers using mplab and proteus
 
7 curso
7 curso7 curso
7 curso
 
Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack Sistema de control de llenado para maquina de sellado fluopack
Sistema de control de llenado para maquina de sellado fluopack
 
PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84PROYECTOS CON PIC 16F84
PROYECTOS CON PIC 16F84
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekit
 
Proye84
Proye84Proye84
Proye84
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltos
 
Curso
CursoCurso
Curso
 
Reporte de practica #1
Reporte de practica #1Reporte de practica #1
Reporte de practica #1
 
mikroplan para PLC Arduino
mikroplan para PLC Arduinomikroplan para PLC Arduino
mikroplan para PLC Arduino
 
Labview & pic
Labview & picLabview & pic
Labview & pic
 
Guía rápidalcd y teclado
Guía rápidalcd y tecladoGuía rápidalcd y teclado
Guía rápidalcd y teclado
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Micc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_solucMicc mejoramiento feb_28_2009_soluc
Micc mejoramiento feb_28_2009_soluc
 

Más de Mauricio Diaz Garcia

Presentacion reunion 28 nov respaldo
Presentacion reunion 28 nov respaldoPresentacion reunion 28 nov respaldo
Presentacion reunion 28 nov respaldoMauricio Diaz Garcia
 
6. evidencias desarrollo pedagógico
6. evidencias  desarrollo pedagógico6. evidencias  desarrollo pedagógico
6. evidencias desarrollo pedagógicoMauricio Diaz Garcia
 
Informe por proyecto de aprendizaje
Informe por proyecto de aprendizajeInforme por proyecto de aprendizaje
Informe por proyecto de aprendizajeMauricio Diaz Garcia
 
Material 2 de consulta microcontroladores temporizar por prog
Material 2  de consulta microcontroladores temporizar por progMaterial 2  de consulta microcontroladores temporizar por prog
Material 2 de consulta microcontroladores temporizar por progMauricio Diaz Garcia
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Mauricio Diaz Garcia
 
TRAZADO, CORTE, CONFORMADO Y ARMADO
TRAZADO, CORTE, CONFORMADO Y ARMADOTRAZADO, CORTE, CONFORMADO Y ARMADO
TRAZADO, CORTE, CONFORMADO Y ARMADOMauricio Diaz Garcia
 
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOS
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOSTECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOS
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOSMauricio Diaz Garcia
 

Más de Mauricio Diaz Garcia (20)

Ccna examen 1 cap 2 y3
Ccna examen 1 cap 2 y3Ccna examen 1 cap 2 y3
Ccna examen 1 cap 2 y3
 
Presentacion reunion 28 nov respaldo
Presentacion reunion 28 nov respaldoPresentacion reunion 28 nov respaldo
Presentacion reunion 28 nov respaldo
 
Mecanica
MecanicaMecanica
Mecanica
 
6. evidencias desarrollo pedagógico
6. evidencias  desarrollo pedagógico6. evidencias  desarrollo pedagógico
6. evidencias desarrollo pedagógico
 
Area industrial[1]
Area industrial[1]Area industrial[1]
Area industrial[1]
 
Fotos control electrico
Fotos control electricoFotos control electrico
Fotos control electrico
 
Lista de chequeo electricidad
Lista de chequeo electricidadLista de chequeo electricidad
Lista de chequeo electricidad
 
Evaluacion sena2
Evaluacion sena2Evaluacion sena2
Evaluacion sena2
 
Riesgo electric opps
Riesgo electric oppsRiesgo electric opps
Riesgo electric opps
 
Guia 1 logica cableada
Guia 1 logica cableadaGuia 1 logica cableada
Guia 1 logica cableada
 
93514 instalaciones-electricas
93514 instalaciones-electricas93514 instalaciones-electricas
93514 instalaciones-electricas
 
Guia 1 electricidad
Guia 1 electricidadGuia 1 electricidad
Guia 1 electricidad
 
Guia 1 electricidad
Guia 1 electricidadGuia 1 electricidad
Guia 1 electricidad
 
Informe por proyecto de aprendizaje
Informe por proyecto de aprendizajeInforme por proyecto de aprendizaje
Informe por proyecto de aprendizaje
 
Material 2 de consulta microcontroladores temporizar por prog
Material 2  de consulta microcontroladores temporizar por progMaterial 2  de consulta microcontroladores temporizar por prog
Material 2 de consulta microcontroladores temporizar por prog
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11
 
Taller electricidad
Taller electricidadTaller electricidad
Taller electricidad
 
Taller electronica itiz
Taller electronica itizTaller electronica itiz
Taller electronica itiz
 
TRAZADO, CORTE, CONFORMADO Y ARMADO
TRAZADO, CORTE, CONFORMADO Y ARMADOTRAZADO, CORTE, CONFORMADO Y ARMADO
TRAZADO, CORTE, CONFORMADO Y ARMADO
 
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOS
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOSTECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOS
TECNICO DE MECANIZADO DE PRODUCTOS METALMECANICOS
 

Último

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Último (20)

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Material 1 de consulta microcontroladores temporizar por prog

  • 1. INSTRUCTOR: MAURICIO DIAZ GARCIAINTITUCION EDUCATIVA: ________________________<br />GRUPO: ________________________NOMBRE: _____________________________________<br />CIUDAD Y FECHA:____________________________________, <br />Listado de instrucciones:<br />SUBRUTINAS DE RETARDO.<br />Un retardo, es una forma de control de tiempo en la programación del PIC, Las instrucciones 'normales' utilizan un ciclo de máquina para ejecutarse, un ciclo máquina es la unidad básica de tiempo de ejecución de un programa en un PIC y depende de la velocidad del oscilador.<br />Hay instrucciones llamadas de salto como goto,return, call, btfss etc que necesitan 2 ciclos máquina para ejecutarse.<br />Si contamos los ciclos máquina de una determinada parte de instrucciones de un programa, podremos controlar los tiempos de retardo.<br />Como sabemos que F=1/T, siendo F=frecuencia y T=tiempo, podemos determinar cuánto tiempo consumirá una instrucción en el microcontrolador, sabiendo que para ejecutar una instrucción el microcontrolador utiliza 4 pulsos de reloj.<br />Ej : Si un microcontrolador funciona a 4MHz, ¿qué tardará en ejecutar una instrucción?<br />F=1/4T -> T=1*4/F<br />Si F=4MHz<br />T=1/F = 1*4/4000000 =1useg<br />Es decir que para un reloj de 4 MHz, cada instrucción simple tardará 1 useg, y para las instrucciones de salto tardará 2useg.<br />;____________Programa bucle simple__________________<br />list p=16f84A<br />contadorequh'10'; contador de bucle<br />org<br />;_______________________________________________<br />bsfh'03',5;Bank 1<br />clrfh'06;PortB salidas<br />bcfh'03'5;Bank 0<br />;___________________________________________<br />iniciomovlwh'ff'; cargamos 11111111 en w<br />movwfh'06'; enviamos todo '1' al port B<br />callretardo; subrutina retardo<br />clrfh'06'; Borramos el puerto B<br />callretardo; llamada subrutina retardo<br />gotoinicio; repetimos el programa<br />;_______________________________________________<br />retardomovlwd'249';cargamos contador, la llamada al retardo son dos ciclos de maquina (cm)<br />movwfcontador;con con el valor de 249 (1cm)<br />;______________________________________________<br />buclenop; consume un ciclo (1cm)<br />decfszcontador,1; 1 cm si no hay salto 2 cm si salta<br />gotobucle; consume 2cm<br />return; 2 cm<br />;__________________________________________________<br />end<br />;_______________________________<br />; el retardo se calcula de la siguiente forma:<br />; 2+1+1+(249)*1+2+(249-1)*2+2<br />; 1001 useg = 1 seg<br />Compilamos en Mplab<br />Ahora creamos un proyecto así:<br />lefttop<br />Configuramos el pic en el Mplab<br /> Adicionar el archivo en assembler al proyecto:<br />lefttopCompilamos el programa para ver que este bien escrito en lenguaje Assembler<br />Reporte de errores de Compilacion<br /> Con <br />Con esto generamos el archovo *.hex que necesitamos para grabar el Pic<br />Lo ubicamos en la misma carpeta del proyecto.<br />Práctica: Montar el siguiente circuito y grabar el Pic con el ejercicio anterior.<br />Podemos realizar mas retardos con bucles anidados, es decir uno dentro del otro para conseguir retardos de milisegundos y de segundos dependiendo del valor que podamos cargar a los contadores.<br />Veamos un ejemplo<br />;------------------------------------------------------------<br />;-- Subrutinas retardo mediante bucles<br />;-- leemos port A y realizamos un menu<br />;-- con los valores leidos de la siguiente forma:<br />;-- Si porta=0 retardo 200ms<br />;-- si porta=1 retardo 1 seg<br />;-- si porta=2 retardo 5 seg<br />;-- si porta=3 retardo 10 seg<br />;------------------------------------------------------------<br />list p=16f84<br />contador1 equ h'10' ;Variable contador<br />contador2 equ h'11'<br />contador3 equ h'12'<br />portb equ h'06'<br />porta equ h'05'<br />status equ h'03'<br />pcl equ h'02' ;Contador programa<br />org 0<br />;----------------Configuracion ports --------------------<br />bsf status,5 ;bank1<br />clrf portb ;portb salidas<br />movlw b'00011111'<br />movwf porta ;porta entradas<br />bcf status,5 ;bank0<br />;--------------------------------------------------------<br />;-- Programa principal --<br />;--------------------------------------------------------<br />prog movf porta,0<br />andlw b'00000011' ;Solo 3 ultimos bits<br />addwf pcl,1<br />goto prog0 ;Si porta=0 ->prog0<br />goto prog1 ;Si porta=1 ->prog1<br />goto prog2 ;Si porta=2 ->prog2<br />goto prog3 ;Si porta=3 ->prog3<br />goto prog ;Bucle principal<br />;------------------- Subprogramas retardos ---------------<br />prog0 ;-- Subprograma 0 (200ms)<br />movlw b'00000001' ;enviamos un 1<br />movwf portb ;al puerto b<br />movlw d'200' ;cargamos contador1 con 200<br />call miliseg ;llamamos subrutina milisegundos (tiempo<br />en on)<br />clrf portb ;enviamos un 0 al portB<br />movlw d'200' ;cargamos contador1 con 200<br />call miliseg ;volvemos a llamar subrutina (tiempo en off)<br />goto prog<br />prog1 ;-- Subprograma 1 1 seg<br />movlw b'00000001'<br />movwf portb<br />movlw d'10' ;cargamos contador3 con 10<br />call segundo ;llamada subrutina segundo (tiempo en on)<br />clrf portb<br />movlw d'10' ;cargamos contador3 con 10<br />call segundo ;llamada subrutina segundo (tiempo en off)<br />goto prog<br />prog2 ;-- Subprograma 2 (5 seg)<br />movlw b'00000001'<br />movwf portb<br />movlw d'50'<br />call segundo<br />clrf portb<br />movlw d'50'<br />call segundo<br />goto prog<br />prog3 ;-- Subprograma 3 (10 seg)<br />movlw b'00000001'<br />movwf portb<br />movlw d'100'<br />call segundo<br />clrf portb<br />movlw d'100'<br />call segundo<br />goto prog<br />;------------------- Subrutinas de retardo con bucles anidados --------------<br />;------------------- Retardo milisegundos con 2 bucles anidados--------------<br />;----------------------------------------------------------------------------<br />miliseg ;-- Subrutina Retardo milisegundos<br />movwf contador2 ;cargamos contador2 con 200<br />bucle1 movlw d'249' ;y contador 1 con 249<br />movwf contador1 ;Aprox 200 ms<br />bucle2 nop ;No Operation (no hace nada,pasa un ciclo de<br />maquina)<br />decfsz contador1,1 ;Decrementamos contador 1<br />goto bucle2 ;Si contador1 distinto 0 repite operacion<br />decfsz contador2,1 ;Si contador1=0 decrementados contador2<br />goto bucle1 ;Si contador2 no es cero -> vamos a bucle1<br />return ;Si contador2=0 finaliza subrutina<br />;------------------- Retardo en segundos con 3 bucles anidados ----------------<br />;------------------------------------------------------------------------------<br />segundo ;-- Subrutina Retardo segundos<br />movwf contador3 ;cargamos contador3 con valor de<br />prog1,prog2,prog3<br />bucle3 movlw d'100' ;y contador 2 con 100<br />movwf contador2<br />bucle4 movlw d'249' ;cargamos contador1 con 249<br />movwf contador1<br />bucle5 nop ;NOP (un ciclo de maquina 1u segundo)<br />decfsz contador1,1<br />goto bucle5<br />decfsz contador2,1<br />goto bucle4<br />decfsz contador3,1<br />goto bucle3<br />return<br />;------------------- Final de subrutinas de retardo -----------------------------<br />end<br />