SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
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
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
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
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 

Último (20)

ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
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
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.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
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
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
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 

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 />