Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

09/05/2008 #1


Como generar 1 minuto en pic 16F628A
tendo dudas en como generar pulsos de 1 en 1 minutes com TMR0.sou novato en programacion del PIC,muitas gracias se for possivel en me ayudar-me.
saludos. :(
09/05/2008 #2


La forma en que controles el tiempo siempre va a depender del nivel de presición que necesites. Usando un TMR, podes explotar de este la interrupción de cambio de 0xFF a 0x00, y contabilizar cada desborde en un ciclo de incremento de variables, cuando sumen las cantidades necesarias para llegar al minuto, ahi pones todo a 0 y vuelves a empezar. Queda a tu criterio realizar los ajustes y pasos necesarios para la presición del tiempo.

Saludos
09/05/2008 #3


MaMu dijo:
La forma en que controles el tiempo siempre va a depender del nivel de presición que necesites. Usando un TMR, podes explotar de este la interrupción de cambio de 0xFF a 0x00, y contabilizar cada desborde en un ciclo de incremento de variables, cuando sumen las cantidades necesarias para llegar al minuto, ahi pones todo a 0 y vuelves a empezar. Queda a tu criterio realizar los ajustes y pasos necesarios para la presición del tiempo.

Saludos
pretento construir uno tiemporizador,tipo 60 minutes con dois (2) display de sete seguimentos,poderia citar uno exenplito,de como seria el assembly.muitas gracias en ayudar-me.
saludos
09/05/2008 #4


godoyas dijo:
MaMu dijo:
La forma en que controles el tiempo siempre va a depender del nivel de presición que necesites. Usando un TMR, podes explotar de este la interrupción de cambio de 0xFF a 0x00, y contabilizar cada desborde en un ciclo de incremento de variables, cuando sumen las cantidades necesarias para llegar al minuto, ahi pones todo a 0 y vuelves a empezar. Queda a tu criterio realizar los ajustes y pasos necesarios para la presición del tiempo.

Saludos
pretento construir uno tiemporizador,tipo 60 minutes con dois (2) display de sete seguimentos,poderia citar uno exenplito,de como seria el assembly.muitas gracias en ayudar-me.
saludos
Lee este artículo que es muy práctico y te va a venir bien para entender un poco la utilización de los Timer, sobre todo del TMR1.

http://micropic.wordpress.com/2007/0...zador-timer-1/

PD: un poco de literatura no le viene mal a nadie.

Saludos
10/05/2008 #5


MaMu dijo:
godoyas dijo:
MaMu dijo:
La forma en que controles el tiempo siempre va a depender del nivel de presición que necesites. Usando un TMR, podes explotar de este la interrupción de cambio de 0xFF a 0x00, y contabilizar cada desborde en un ciclo de incremento de variables, cuando sumen las cantidades necesarias para llegar al minuto, ahi pones todo a 0 y vuelves a empezar. Queda a tu criterio realizar los ajustes y pasos necesarios para la presición del tiempo.

Saludos
pretento construir uno tiemporizador,tipo 60 minutes con dois (2) display de sete seguimentos,poderia citar uno exenplito,de como seria el assembly.muitas gracias en ayudar-me.
saludos
Lee este artículo que es muy práctico y te va a venir bien para entender un poco la utilización de los Timer, sobre todo del TMR1.

http://micropic.wordpress.com/2007/0...zador-timer-1/

PD: un poco de literatura no le viene mal a nadie.

Saludos
muitas gracias en me ayudar,gostei do tutorial,obrigado.
saludos
16/05/2008 #6

Avatar de Javilondo

re: Como generar 1 minuto en pic 16F628A
Puedes utilizar el programa PicDel.
Es un programa bastante sencillo de usar, genera en código asm los retardos de tiempo que le programes, lo único que tienes que ajustar el tiempo de retardo en ms que quieras, pero antes deberás escoger la frecuencia del clock en MHz del Pic.
Ejemplo:
Para 1 segundo, si tienes un oscilador de 4MHz escribes en:
Frecuencia(MHz) |4 |
Tienes que escribir el tiempo de retardo en ms:
Retardo (ms) |1000 |
Después presionas el botón Calcular Ciclos
Y te aparecerá la cifra 1000000 en el campo:
Ciclos Delay |1000000 |
Por último sólo tienes que presionar el botón Genera Código y listo, en el campo de texto que está abajo se generará el código en asm que necesitas para hacer un retardo de tiempo
de 1 segundo, o del tiempo que quieras. Otra opción es especificar en el campo Ciclos Delay los ciclos de reloj que quieres que se retarde el Pic. El proceso de generación de código tardará un momento en función del tiempo programado.
Aquí abajo tienes el código generado:


Código:
;-------------------------------------------------------------
; Generado con PDEL ver SP  r 1.0  el 16/05/2008 Hs 03:32:45 a.m.
; Descripcion: Delay 1000000 ciclos
;-------------------------------------------------------------
DEMORA  movlw     .14       ; 1 set numero de repeticion  (C)
        movwf     PDel0     ; 1 |
PLoop0  movlw     .72       ; 1 set numero de repeticion  (B)
        movwf     PDel1     ; 1 |
PLoop1  movlw     .247      ; 1 set numero de repeticion  (A)
        movwf     PDel2     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
        decfsz    PDel2, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel1,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (C)
        goto      PLoop0    ; 2 no, loop
PDelL1  goto PDelL2         ; 2 ciclos delay
PDelL2  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
;-------------------------------------------------------------
El PicDel está adjunto en éste mensaje pero lo puedes descargar desde éste enlace:
http://www.todopic.com.ar/utiles/calcular_retardos.zip

Suerte godoyas.
Espero que esta información sea de ayuda para ti.
Saludos.
Imágenes Adjuntas
Tipo de Archivo: jpg picdel_117.jpg (75,0 KB (Kilobytes), 1371 visitas)
Archivos Adjuntos
Tipo de Archivo: zip picdel_181.zip (90,5 KB (Kilobytes), 413 visitas)
16/05/2008 #7


re: Como generar 1 minuto en pic 16F628A
muitas gracias, excelentes conteudo, muitas gracias
saludos
17/05/2008 #8

Avatar de Meta

Este está mejor.

http://www.golovchenko.org/cgi-bin/delay
24/05/2008 #9

Avatar de FRYCK

hola aqui dejo un cronometro implementado con el timer0 en ensamblador espero le sirva
Archivos Adjuntos
Tipo de Archivo: asm cronometro_154.asm (6,0 KB (Kilobytes), 253 visitas)
25/05/2008 #10

Avatar de Meta

Ya tienes 1 min. del 16F628A.

Código:
; Delay = 60 seconds
; Clock frequency = 4 MHz

; Actual delay = 60 seconds = 60000000 cycles
; Error = 0 %

	cblock
	d1
	d2
	d3
	endc

			;59999994 cycles
	movlw	0x23
	movwf	d1
	movlw	0xCB
	movwf	d2
	movlw	0x83
	movwf	d3
Delay_0
	decfsz	d1, f
	goto	$+2
	decfsz	d2, f
	goto	$+2
	decfsz	d3, f
	goto	Delay_0

			;6 cycles
	goto	$+1
	goto	$+1
	goto	$+1
18/05/2010 #11


Respuesta: Re: como generar 1 minute en pic 16f628a
Aqui les va mi aporte
Para el uso de PDEL, se agrega el siguiente segmento de codigo:

cblock
PDel0
PDel1
PDel2
endc

Lo cual equivale a los registros que ocupa y al stack level. Me funciono al 100, solo modifico corro el programa y agrego lo anterior y consigo una rutina con el tiempo q desee, espero les sirva....
06/06/2010 #12


Respuesta: como generar 1 minute en pic 16f628a
Javilondo yo hago lo que tu dices con el picdel pero luego copio y pego en el mplab y me da errores que no se solucionar y ahi me quedo, mira tu mismo

Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 49 : Symbol not previously defined (Demora_150ms)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 53 : Symbol not previously defined (Demora_150ms)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 66 : Symbol not previously defined (PDel0)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 68 : Symbol not previously defined (PDel1)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 70 : Symbol not previously defined (PDel2)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 72 : Symbol not previously defined (PDel2)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 74 : Symbol not previously defined (PDel1)
Error[113] C:\LAB DE MICRO\LED TITILANDO.ASM 76 : Symbol not previously defined (PDel0)


Como arreglo esto vy que estoy haciendo mal?

Como Symbol previously defined todo ese poco de broma
06/06/2010 #13


Respuesta: Como generar 1 minuto en pic 16F628A
Como modifico el nivel de stack o como se que esta en 1
10/08/2010 #14


Respuesta: como generar 1 minute en pic 16f628a
que tal cheli mira el error que te sale es por que en la cabezera no defines PDelx(x=1,2,3..)como un registro te pongo un ejemplo

ALTO_2 EQU 0x0d ;DIRECCION DEL REGISTRO DEL PULSO ALTO
10/08/2010 #15

Avatar de Scooter

Respuesta: Como generar 1 minuto en pic 16F628A
Personalmente opino que es un error hacer temporizaciones mínimamente largas con bucles vacíos.
¿Durante ese minuto el equipo no atiende a ningún botón, sensor etc? ¿Está sordo y ciego un minuto?

Lo normal es hacer los retardos de unos pocos mS con bucles vacíos y los de 1S o mas siempre con un timer e interrupciones. Vamos, es lo que siempre ha hecho yo.
12/08/2010 #16


Respuesta: Como generar 1 minuto en pic 16F628A
hola ,mira tengo un problema con un servo y sus tiempos de control, busque susdatos y me sale que su velocidad es :(maraca modelcraft rs-2) de 180º
0.19 sec/60° a 4.8v
0.17 sec/60° a 6 v

con estos datos digamos qeu quiero usar el de 4.8v como haria apra calcular el tiempo para 67.5º , 90º 112.5º
estoy haciendo una araña robot la que es conocidad por todos


Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.