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


Hola
muchas gracias por ir orientandome ya poco a poco voy entendiendo logre aumentar el tiempo por 10 segundos puedo aumentar a 1 min aca dejo el codigo a 10 seg

Código:
@ DEVICE PIC16F628A         
@ DEVICE INTRC_OSC_CLKOUT   
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF           
@ DEVICE LVP_OFF            
@ DEVICE CPD_OFF            
@ DEVICE PROTECT_OFF        
DEFINE OSC 4
CMCON = 7  
OPTION_REG = %10000101 

MAS_SEGUNDO  Var Byte     ; Definir variable second
MAS_TIEMPO    VAR BYTE
TIME1              VAR WORD 

LED_1      var PORTB.0  
LED_2      VAR PORTB.1 
TRISB = %00111110
TRISA = %11000000
PORTA = %00000000
PORTB = %00000000 

ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

DISABLE         
MI_INTERRUPCION:
mas_tiempo=mas_tiempo+1
if mas_tiempo < 61 then endinterrupt 
mas_tiempo=0
toggle led_1
MAS_SEGUNDO=MAS_SEGUNDO+1
IF MAS_SEGUNDO>=10 THEN
SEGUNDO=0
TOGGLE LED_2
ENDIF
hola reyvilla mira pude aumentar el tiempo de encendido por 10 seg luego se apaga por 10 seg y se repite el bucle como podria hacer el codigo para que enciende led_2 x 10 seg y se apaga por 5 seg y asi se repita el bucle voy entendiendo muchas gracias espero puedas seguir ayudandome

---------- Actualizado después de 49 minutos ----------

amigo mira probando y probando hago este codigo pero no se si estara bien creo que me estoy enredando cada vez mas y no quiero si practico y pruebo es para aprender pero quisiera saber en que fallo
este codigo lo que le indico es cuente x 10 seg cuando llegue a 10 seg prenda LED_2 por 5 seg luego se apague a los 15 seg osea:
0--10seg-->apagado led_2
10-15seg-->prendido led_2
15-25seg-->apagado led_2
25-30seg-->prendido led_2
pero no me hace eso, solo respeta los 10 seg al empezar el codigo, osea se prende LED_2 a los 10 seg luego se apaga a los 15 seg
0--10seg-->apagado led_2
10-15seg-->prendido led_2
15-20seg-->apagado led_2
20-25seg-->prendido led_2
como hacer para que me respete los 10 seg de apagado siempre
aca dejo el codigo que estoy haciendo en verdad agradesco su ayuda

Código:
@ DEVICE PIC16F628A          
@ DEVICE INTRC_OSC_CLKOUT    
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF            
@ DEVICE LVP_OFF               
@ DEVICE CPD_OFF             
@ DEVICE PROTECT_OFF        

DEFINE OSC 4 

CMCON = 7   
OPTION_REG = %10000101 

Hour   Var Byte    
Minuto Var Byte     
Segundo Var Byte     
MAS_TIEMPO VAR BYTE
TIME1   VAR WORD 

LED_1      var PORTB.0  
LED_2      VAR PORTB.1 
TRISB = %00111110 
TRISA = %11000000 
PORTA = %00000000
PORTB = %00000000 

ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

INICIO:
    IF led_2=1 THEN
     for TIME1=1 to 1000
      pause 5
     next TIME1
      low led_2
    ENDIF
GOTO INICIO

DISABLE         
MI_INTERRUPCION:
mas_tiempo=mas_tiempo+1
if mas_tiempo < 61 then endinterrupt 
mas_tiempo=0
toggle led_1
SEgundo=Segundo+1
IF SEgundo>=10 THEN
SEgundo=0
high LED_2
ENDIF
 
endinterrupt:
INTCON.2=0
RESUME
ENABLE
END
05/08/2012 #2182

Avatar de ferdy575

hola a todos, por favor alguien sabe sí con un 16f84a ó un 16f628a puedo usar programación in circuit? y sí es así como lo hago?
ya lo he hecho con otros pics como por ejemplo el 16f877a y me funciona pero con estos no que sera lo que estoy haciendo mal, les agradezco su ayuda...
05/08/2012 #2183

Avatar de reyvilla

ferdy575 dijo: Ver Mensaje
hola a todos, por favor alguien sabe sí con un 16f84a ó un 16f628a puedo usar programación in circuit? y sí es así como lo hago?
ya lo he hecho con otros pics como por ejemplo el 16f877a y me funciona pero con estos no que sera lo que estoy haciendo mal, les agradezco su ayuda...
Hola si se puede, si es ICSP a lo que te refieres programación serial en el circuito, en la hoja de dato de todos los pic te indica cuales son los pines de programación, buscas en el PDF del pic para el caso del 16F84A, indica que debes buscar una guía.

For complete details of serial programming, please
refer to the In-Circuit Serial Programming (ICSP™)
Guide, (DS30277).

Pero en realidad los pines son igual para el 16F628A como para el 16F84A y son los siguientes:

PGC 13
PGD 12
MCLR 4
VDD 14
VSS 5

---------- Actualizado después de 15 minutos ----------

cesarim dijo: Ver Mensaje
muchas gracias por ir orientandome ya poco a poco voy entendiendo logre aumentar el tiempo por 10 segundos puedo aumentar a 1 min aca dejo el codigo a 10 seg

Código:
@ DEVICE PIC16F628A         
@ DEVICE INTRC_OSC_CLKOUT   
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF           
@ DEVICE LVP_OFF            
@ DEVICE CPD_OFF            
@ DEVICE PROTECT_OFF        
DEFINE OSC 4
CMCON = 7  
OPTION_REG = %10000101 

MAS_SEGUNDO  Var Byte     ; Definir variable second
MAS_TIEMPO    VAR BYTE
TIME1              VAR WORD 

LED_1      var PORTB.0  
LED_2      VAR PORTB.1 
TRISB = %00111110
TRISA = %11000000
PORTA = %00000000
PORTB = %00000000 

ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

DISABLE         
MI_INTERRUPCION:
mas_tiempo=mas_tiempo+1
if mas_tiempo < 61 then endinterrupt 
mas_tiempo=0
toggle led_1
MAS_SEGUNDO=MAS_SEGUNDO+1
IF MAS_SEGUNDO>=10 THEN
SEGUNDO=0
TOGGLE LED_2
ENDIF
hola reyvilla mira pude aumentar el tiempo de encendido por 10 seg luego se apaga por 10 seg y se repite el bucle como podria hacer el codigo para que enciende led_2 x 10 seg y se apaga por 5 seg y asi se repita el bucle voy entendiendo muchas gracias espero puedas seguir ayudandome

---------- Actualizado después de 49 minutos ----------

amigo mira probando y probando hago este codigo pero no se si estara bien creo que me estoy enredando cada vez mas y no quiero si practico y pruebo es para aprender pero quisiera saber en que fallo
este codigo lo que le indico es cuente x 10 seg cuando llegue a 10 seg prenda LED_2 por 5 seg luego se apague a los 15 seg osea:
0--10seg-->apagado led_2
10-15seg-->prendido led_2
15-25seg-->apagado led_2
25-30seg-->prendido led_2
pero no me hace eso, solo respeta los 10 seg al empezar el codigo, osea se prende LED_2 a los 10 seg luego se apaga a los 15 seg
0--10seg-->apagado led_2
10-15seg-->prendido led_2
15-20seg-->apagado led_2
20-25seg-->prendido led_2
como hacer para que me respete los 10 seg de apagado siempre
aca dejo el codigo que estoy haciendo en verdad agradesco su ayuda

Código:
@ DEVICE PIC16F628A          
@ DEVICE INTRC_OSC_CLKOUT    
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF            
@ DEVICE LVP_OFF               
@ DEVICE CPD_OFF             
@ DEVICE PROTECT_OFF        

DEFINE OSC 4 

CMCON = 7   
OPTION_REG = %10000101 

Hour   Var Byte    
Minuto Var Byte     
Segundo Var Byte     
MAS_TIEMPO VAR BYTE
TIME1   VAR WORD 

LED_1      var PORTB.0  
LED_2      VAR PORTB.1 
TRISB = %00111110 
TRISA = %11000000 
PORTA = %00000000
PORTB = %00000000 

ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

INICIO:
    IF led_2=1 THEN
     for TIME1=1 to 1000
      pause 5
     next TIME1
      low led_2
    ENDIF
GOTO INICIO

DISABLE         
MI_INTERRUPCION:
mas_tiempo=mas_tiempo+1
if mas_tiempo < 61 then endinterrupt 
mas_tiempo=0
toggle led_1
SEgundo=Segundo+1
IF SEgundo>=10 THEN
SEgundo=0
high LED_2
ENDIF
 
endinterrupt:
INTCON.2=0
RESUME
ENABLE
END
Hola recuerda comentar todo ya que se hace mas facil entender lo que pretendes hacer, y por otro lado para implementar tiempos distintos y a traves de algo externo para iniciar la temporizacion yo particularmente utilizo una base de tiempo que me permite incrementar otros contadores individuales...Otra cosa si no necesitas presicion los tiempos los puedes manejar sin interrupcion avisa en si que es lo que quieres hacer.
05/08/2012 #2184


Hola....
ps yo quiciera introducirme en la comunicacion USB y ethernet con basic. alguien me puede enviar ejemplos sencillos y si a alguno le ha pasado que al compilar el codigo generado por easyHid no compila, me puede explicar que debo tener en cuenta? muchas gracias.
05/08/2012 #2185


Saludos
quisiera que empiece por respetar el tiempo que quiero darle que sea 10 seg exactos que este apagado y 5 seg exactos que este prendido de verdad muchas gracias por tu apoyo
06/08/2012 #2186

Avatar de reyvilla

cesarim dijo: Ver Mensaje
quisiera que empiece por respetar el tiempo que quiero darle que sea 10 seg exactos que este apagado y 5 seg exactos que este prendido de verdad muchas gracias por tu apoyo
Hola amigo cesar con otro compañero me puse a realizar un proyecto similar y quedo bastante bien a mi parecer revisalo y me avisas saludoss
Archivos Adjuntos
Tipo de Archivo: rar cesarim.rar (9,8 KB (Kilobytes), 55 visitas)
08/08/2012 #2187


Hola que tal, alguien podria hecharme una manita con las interrupciones en la comunicacion en serie...
He estado leyendo acerca del tema y ando un poco confundido...
esto es lo que he logrado hasta ahorita
Código:
DEFINE HSER_RCSTA 90h 'Set  receive register to receiver enabled
DEFINE HSER_TXSTA 26h ' Set transmit register to transmitter enable
DEFINE HSER_BAUD 9600 ' Set baud rate

x   var byte
y   var byte
 

trisb=$00

x=2

INTCON=%11000000  'Habilita interrupciones de registro PEIE
on interrupt goto lee_serie
PIE1.5 = 1 
  
ciclo:  
  portb=x
  goto ciclo
  
   Disable 
 lee_serie     
    hserin [x]
    hserout [x]
resume
enable
La comunicacion la estoy haciendo virtualmente por el momento con el VSPD, proteus y el hiperterminal de microcode.
La idea es sencilla, mando un caracter a tráves de microcode y el pic lo recibe y este mismo me lo regresa, el caracter enviado se muestra en el puerto B a tráves de leds, el problema es que no importa cual caracter envie la visualizacion en los leds no cambia, es decir si mando un 6 o un 9, permanecen encendidos los mismos leds sin cambio alguno.
Yo se que no es necesario usar las interrupciones para este programita tan sencillo y que sin interrupciones se puede lograr lo que quiero, pero necesito aprender a usar las interrupciones ya que lo implementare en un programa un poco mas complejo.
salu2
08/08/2012 #2188

Avatar de arturouc

GoX F4yCk3r DB dijo: Ver Mensaje
Hola que tal, alguien podria hecharme una manita con las interrupciones en la comunicacion en serie...
He estado leyendo acerca del tema y ando un poco confundido...
esto es lo que he logrado hasta ahorita

Yo se que no es necesario usar las interrupciones para este programita tan sencillo y que sin interrupciones se puede lograr lo que quiero, pero necesito aprender a usar las interrupciones ya que lo implementare en un programa un poco mas complejo.
salu2
Aqui hay un ejemplo de lubeck click aqui con este ejemplo yo lo pude simular
mi ejemplo

estamos en contacto...
13/08/2012 #2189


Saludos
Amigo Reyvilla agradesco tu paciencia en haberme ayudado ya entendi muy el codigo que me enviastes y me ayudo mucho

otra cosa amigo que ahora me esta saturando un poco si quisiera esos led trabajarlos cada uno con pulsadores se puede lograr me refiero a que el led1 prenda cuando prsiona el pulsador y se apague con el tiempo dado por el codigo
13/08/2012 #2190

Avatar de reyvilla

cesarim dijo: Ver Mensaje
Amigo Reyvilla agradesco tu paciencia en haberme ayudado ya entendi muy el codigo que me enviastes y me ayudo mucho

otra cosa amigo que ahora me esta saturando un poco si quisiera esos led trabajarlos cada uno con pulsadores se puede lograr me refiero a que el led1 prenda cuando prsiona el pulsador y se apague con el tiempo dado por el codigo
Hola que bueno que hayas aprendido eso es lo importante ya que para eso es el foro, no solo aprendes tu yo también, con respecto a lo que mencionas de los led's con pulsadores, yo diría que casi todo es posible con los pic y de seguro que si se puede, la cuestión es sacarle el mayor provecho al pic, claro esta sin suturarlo. Ahora lo que se me ocurre es que si le damos prioridad al tiempo al presionar el pulsador este va seguir Incrementando solo que va a cambiar el estado del led hasta que termine su tiempo y vuelva a cambiar de estado por desbordamiento del registro asignado para ese led...Si te fijaste en el código anterior las salidas del puerto A al presionar el botón cambian y eso sin afectar los tiempo de los leds.

Un dato importante que no se si notaste es que a pesar de manejar tiempos bien precisos a través del reloj de tiempo real interno del pic, es que si dentro de nuestro loop de interrupción hacemos muchas otras sentencias el tiempo se ve afectado para largos periodos, un ejemplo seria una hora, si dentro del loop interrupción tenemos muchas sentencias eso genera un retardo y mas en pbp, eso sucede porque consumimos el tiempo y eso pasa porque al entrar al loop se deshabilita la interrupción y el reloj deja de funcionar hasta que se vuelva habilitar la interrupción, si en ese proceso utilizamos muchas sentencias las cuales generan el uso de muchos ciclos de maquina, con lo cual empezamos a degradar la precisión de los tiempos de los leds. Es por eso que solo se uso una sola sentencia en la interrupción para que sea lo mas preciso posible.

Cualquier cosa me avisas saludosss
15/08/2012 #2191


Saludosq
Si entendi eso muy bien y gracias por la aclaracion ya que comence hacer pruebas pàra ir aprendiendo y en algun momento afecto como tu me indicas eso si lo logre manejar lo que ahora mi inquietud es agregar pulsador a cada led y por decir
boton1(activa) led_1
boton2(activa) led_2
cuando se pulse el boton1 el led_1 encienda hacerle un bucle de 5 min para probar y luego que se apgue solo y funcione hasta que lo vuelvas a preesionar y tambien que tenga la opcion de si presionastes y prendio el led si no se cumple los 5 min y vuelves a presionar el boton1 que este tenga la opcion tambien de apgarlo asi no se haya cumplido los 5 min estoy intentandole pero no logro y en realidad ni idea de como hacerlo si he echo prender y apagar leds con botones pero de esta manera con interrucion jamas y ahora quisiera intentarlo pero no logro nada si podria darme una idea te estare agradecido ya que me estas ayudando mucho
15/08/2012 #2192

Avatar de reyvilla

Algo a tomar en cuenta es el tiempo de los registros ya que se manejan los led's con el comando toggle, y eso quiere decir que puedes cómodamente colocarle prioridad a un pulsador a pesar de no haber completado el tiempo el registro, ahora que va a pasar con ese registro se va a resetear al momento de pulsar el pulsador o va a seguir contando el tiempo restante hasta los 5min.? Alli es donde esta el problema, ya que no se si seria solo para cuando apagues el led's que se resetee el registro y para cuando se encienda no? Depende de eso se hace mas o menos complejo el asunto. Planteate bien eso y me avisas saludoss
16/08/2012 #2193


Reyvilla mira aun no me sale el codigo que te mencione pero intentandole logre ya que al menos me respondiera este puylsador Boton que al presionarse se encienda el led lo logra hacer lo que no me respeta aun es el tiempo quisiera saber en que estoy fallando quisiera que el led de encendido sea exacto 10 seg o 20 seg o min si le pusiera pero ahora solo cuenta por contar como te digo no es el ejemplo que postee q tengo en mente realizar pero al menos ya he podido dar con el pulsador que haga prender este led espero tu respuesta y gracias por la ayuda
Código:
@ DEVICE PIC16F628A         
@ DEVICE INTRC_OSC_CLKOUT    
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF            
@ DEVICE LVP_OFF               
@ DEVICE CPD_OFF             
@ DEVICE PROTECT_OFF        

DEFINE OSC 4 

CMCON = 7   

TRISB = %00000000 
TRISA = %11111000 
PORTA = %00000000
PORTB = %00000000

TLED1       VAR word  
MinutO      var byte   
Segundo     Var Byte     
MAS_TIEMPO  VAR BYTE
INITIO      VAR BYTE
FLAG0      VAR BIT
Juego       VAR WORD

LED_1       var PORTB.0  
LED_2       VAR PORTB.1 
IntE        VAR PORTB.7
                           
BLuz1       VAR PortA.0
BLuz2       VAR PortA.1
BLuz3       VAR PortA.2
BOTON       VAR PortA.7 

OPTION_REG = %10000101
ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

FLAG0=0
INICIO: 

    IF BOTON THEN
    toggle led_2;=1
    flag0=1
    ENDIF
    while BOTON = 1
    wend
    
GOTO INICIO

DISABLE            
MI_INTERRUPCION: 
INITIO  = INITIO  + 1
MAS_TIEMPO = MAS_TIEMPO + 1
IF INITIO = 3 THEN
INITIO = 0
TOGGLE INTE
ENDIF

IF MAS_TIEMPO => 61 THEN
MAS_TIEMPO = 0
TOGGLE LED_1 
FLAG0=1
TLED1 = TLED1 + 1

IF LED_2 = 1 AND flag0=1 and TLED1 = 10 THEN
LED_2 = 0 
TLED1 = 0
flag0=0
ENDIF
endif

INTCON = %10100000 
Resume
Enable
---------- Actualizado después de 3 minutos ----------

Código:
IF LED_2 = 1 or flag0=1 and TLED1 = 10 THEN
LED_2 = 0 
TLED1 = 0
flag0=0
ENDIF
endif

INTCON = %10100000 
Resume
Enable
aca me respeta el toggle prende y apaga pero si lo dejo prendido aun no me respeta el tiempo asignado

---------- Actualizado después de 6 minutos ----------

aca mejoro un poco mas pero el boton no es preciso espero lo puedas compilar y me sigas ayudando por favor
Código:
IF MAS_TIEMPO => 61 THEN
MAS_TIEMPO = 0
TOGGLE LED_1 
if FLAG0=1 and led_2=1 then
TLED1 = TLED1 + 1

IF LED_2 = 1 or flag0=1 and TLED1 = 10 THEN
LED_2 = 0 
TLED1 = 0
flag0=0
ENDIF
endif
endif
16/08/2012 #2194

Avatar de reyvilla

hola aun no logro entender que es lo que quieres que haga con exactitud, quieres que al presionar el botón el led cambie de estado, osea si esta apagado cuando presionas el botón encienda y si esta encendido cuando presiones el botón se apague, por otro lado el tiempo va a empezar después de ser presionado el botón o va a seguir con el tiempo que ya llevaba.
17/08/2012 #2195


Saludos
saludos amigo reyvilla mira si presiona el pulsador el led cambia de estado como tu mencionas es correcto presionas pulsador prende el led y empieza el conteo si le pusimos 10 min y no se volvio a presionar el pulsador se apaga el led cumplido los 10 min pero si se presiono el pulsador antes de los 10 min por decir a los 2min o 5 min entoncs el led se apaga y el conteo vuelve a cero espero puedas ayudarme saludos
17/08/2012 #2196

Avatar de reyvilla

ok siendo así es mucho mas sencillo el código, claro esta no va a contar solo si no hasta que se presione el botón, y digamos que tenemos 4 pulsadores y 4 led's, del LED1 A LED4 Y del PULSADOR1 A PULSADOR 4, los cuales se corresponden, PULSADOR1 activa el LED1, siendo así tendrías una variable por cada led y como son individuales no afectaría el tiempo de ninguna, y con una condicional colocas el botón que si se presiona y esta el led encendido lo apague y resetee la variable y listo ya tendrías solucionado el problema.
19/08/2012 #2197


Saludos
es lo que intento podrias echarme una manito con el codigo que posteee es que no me respèta los tiempo espero no incomodar
20/08/2012 #2198


Saludos
Saludos reyvilla quisiera nuevamente pedirte que me ayudes mira no logro aun mejorar mi programa si pudieras ayudarme ya que me estoy enredando y no logro encontrar solucion te dejo el codigo con la simulacion haber si lo puedas revisar y decirme en que estoy fallando cuando presiono el pulsador no es preciso, quiero decir que no siempre funciona a la primera pulsacion
Le agrege pulsador2 para que trabaje con otro led2 con el mismo proposito del pulsador1 o boton. La idea es que cualquiera de los dos pulsadores BOTON0 o BOTON1 active o desactive su correspondiente leds sea LED0 o LED1 si este esta prendido y no se volvio a presionar el pulsador que se apague despues del tiempo dado en este caso 10 seg y si se presiona antes del tiempo de los 10 seg que apage el led y resetee el conteo si logras chequear el codigo el conteo solo lo logra hacer para uno de ellos, el otro no cuenta solo funciona como un toggle espero puedas ayudarme y poder saber que me falta Saludos
ahi te dejo todo el codigo
Código:
@ DEVICE PIC16F628         
@ DEVICE INTRC_OSC_CLKOUT    
@ DEVICE WDT_OFF             
@ DEVICE PWRT_OFF            
@ DEVICE LVP_OFF               
@ DEVICE CPD_OFF             
@ DEVICE PROTECT_OFF        

DEFINE OSC 4 

CMCON = 7   

TRISB = %00000000 
TRISA = %11111000 
PORTA = %00000000
PORTB = %00000000

TLED1       VAR word  
TLED2       VAR word
MinutO      var byte   
Segundo     Var Byte     
MAS_TIEMPO  VAR BYTE
INITIO      VAR BYTE
FLAG0       VAR BIT
FLAG1       VAR BIT
Juego       VAR WORD

LED_1       var PORTB.0  
LED_2       VAR PORTB.1 
LED_3       VAR PORTB.2
IntE        VAR PORTB.7
                           
BLuz1       VAR PortA.0
BLuz2       VAR PortA.1
BLuz3       VAR PortA.2
BOTON       VAR PortA.7 
BOTON1      VAR PortA.6

OPTION_REG = %10000101
ON INTERRUPT GOTO MI_INTERRUPCION
INTCON = %10100000

FLAG0=0
FLAG1=0

INICIO: 

    IF BOTON  THEN Salto1
    IF BOTON1 THEN Salto2
        
    salto1:
    if BOTON THEN
    toggle led_2
    TOGGLE FLAG0
    ENDIF
    while BOTON = 1 :Wend
    
    salto2:
    if BOTON1 THEN
    toggle led_3
    TOGGLE FLAG1
    ENDIF
    while BOTON1 = 1 :Wend
     
GOTO INICIO

DISABLE            
MI_INTERRUPCION: 
MAS_TIEMPO = MAS_TIEMPO + 1
IF MAS_TIEMPO => 61 THEN
MAS_TIEMPO = 0
TOGGLE LED_1 
if FLAG0=1 and led_2=1 then
TLED1 = TLED1 + 1

IF LED_2 = 1 or flag0=1 and TLED1 = 10 THEN
LED_2=0 
if led_2=0 then
flag0=0
TLED1=0

IF LED_3 = 1 or flag1=1 and TLED2 = 10 THEN
LED_3=0 
if led_3=0 then
flag1=0
TLED2=0
endif 
endif
endif
endif
endif
endif

INTCON = %10100000 
Resume
Enable
Archivos Adjuntos
Tipo de Archivo: rar eje1.rar (7,0 KB (Kilobytes), 42 visitas)
21/08/2012 #2199
Moderador

Avatar de D@rkbytes

Saludos cesarim
Me parece que con los cambios que realice a tu programa, ya hace lo que requieres.
Ya el amigo reyvilla te enseño algunos conceptos, y con estas modificaciones que realice,
creo que podrás continuar con tu proyecto.

Compara tu programa con el que adjunto para que puedas ver en donde se realizaron los cambios.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar eje1(2).rar (11,1 KB (Kilobytes), 79 visitas)
21/08/2012 #2200


te agradesco mucho les agradesco mucho a ambos por que entiendo ya mejor como es trabajar con pic y en verdad las dudas me atormentaban que nio dormir podia practicando de una y otra forma y ahora ya esta la cuarta parte de mi codigo gracias a su apoyo seguire y pues solo gracias y mas gracias
¿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 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.