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


Duda
Hola, una pregunta, estoy planenando hacer un sensor de luz para abrir y cerrar las ventanas de mi casa por medio de 1 solo motor, el problema es que me necesito usar el comparador analogico digital del pic 12f683, pero no se cuales sean los defines que necesito poner, si me pudieran ayudar con eso se los agradeceria mucho.
22/04/2013 #2482
Moderador

Avatar de D@rkbytes

linkf3r dijo: Ver Mensaje
Hola, una pregunta, estoy planenando hacer un sensor de luz para abrir y cerrar las ventanas de mi casa por medio de 1 solo motor, el problema es que me necesito usar el comparador analogico digital del pic 12f683, pero no se cuales sean los defines que necesito poner, si me pudieran ayudar con eso se los agradeceria mucho.
Definiciones hay muchas, vienen en la ayuda de MicroCode Studio.
Tan solo escribe define y con el cursor sobre la palabra presiona la tecla F1, aparecerá la ayuda de PBP
Para empezar debes leer la hoja de datos del PIC en la sección 8.3 (Comparator Configuration)
Verás que los registros asociados son CMCON0, CMCON1 y VRCON

Suerte.
25/04/2013 #2483

Avatar de inspector gadget

jussi dijo: Ver Mensaje
Buenas Noches!
aquí pongo una de las formas con la cual esta trabajando el proyecto bien!!

con la función Select Case:

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
PAUSE 200
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
GOTO CLOCK1

CLOCK1:
PAUSE 200
Select Case PORTB
case 121
goto NUM1
case 36
goto NUM2
case 48
goto NUM3
case 25
goto NUM4
CASE 18
goto NUM5
CASE 2
goto NUM6
CASE 120
goto NUM7
CASE 0
goto NUM8
CASE 16
goto NUM9
End Select 

NUM1:
PORTA.7 = 1
PAUSE 9
PORTA.7 = 0
PAUSE 9
GOTO NUM1

NUM2:
PORTA.7 = 1
PAUSE 8
PORTA.7 = 0
PAUSE 8
GOTO NUM2

NUM3:
PORTA.7 = 1
PAUSE 7
PORTA.7 = 0
PAUSE 7
GOTO NUM3

NUM4:
PORTA.7 = 1
PAUSE 6
PORTA.7 = 0
PAUSE 6
GOTO NUM4

NUM5:
PORTA.7 = 1
PAUSE 5
PORTA.7 = 0
PAUSE 5
GOTO NUM5

NUM6:
PORTA.7 = 1
PAUSE 4
PORTA.7 = 0
PAUSE 4
GOTO NUM6

NUM7:
PORTA.7 = 1
PAUSE 3
PORTA.7 = 0
PAUSE 3
GOTO NUM7

NUM8:
PORTA.7 = 1
PAUSE 2
PORTA.7 = 0
PAUSE 2
GOTO NUM8

NUM9:
PORTA.7 = 1
PAUSE 1
PORTA.7 = 0
PAUSE 1
GOTO NUM9
end
de esta manera hace los ciclos que necesito hasta que el reset reinicia todo.

Saludos y si a alguien le interesa el Código con gusto adjunto los archivos.
amigo, podrias compartir los archivos simulacion etc?
26/04/2013 #2484


amigo, podrias compartir los archivos simulacion etc?
los Archivos están en la pagina 129
de todas formas te dejo el enlace
Curso de programación de PIC en PICBasic Pro

Nota:
Esta echa la Simulación en el nuevo proteus por eso no aparece la extensión común DNS , si no es PDSPRJ
26/04/2013 #2485
Moderador

Avatar de D@rkbytes

AVISO

Para evitar confusiones entre los nuevos formatos de archivos de Proteus v8.x.
Por favor adjunten si es posible, el archivo de diseño con la versión 7.x.
Y si no es posible, mencionen que el archivo de simulación está realizado en la nueva versión 8.x.
Ya que muchas personas aún no tienen la nueva versión, y les será imposible abrirlos.

Gracias.
26/04/2013 #2486


Hola

Por lo pronto jussi, en su mensaje #2579 dejó también una imagen de donde se puede realizar el diseño en ISIS 7.x.

saludos
a sus ordenes
26/04/2013 #2487

Avatar de inspector gadget

jussi dijo: Ver Mensaje
los Archivos están en la pagina 129
de todas formas te dejo el enlace
Curso de programación de PIC en PICBasic Pro

Nota:
Esta echa la Simulación en el nuevo proteus por eso no aparece la extensión común DNS , si no es PDSPRJ
ahhhh con razon no aparecia el DSN, diablos....donde consigo la version 8? ya lo he intentado con algunos en laces queaparecen en el buscador pero no es ni siquiera ingles donde dice como hacer la descarga. debo pasar el esquematico a proteus en mi version, no veo de otra.
Gracias amigo.
26/04/2013 #2488


Hola inspector gadgetl

Pero. . . . en la pagina 129, mensaje #2579 de jussi viene el: Control-Velocidad.ZIP.
En él trae un archivo nombrado: Velocidad-001.Jpg; en éste te puedes basar para hacer tu diseño el el ISIS que tengas.

Si no puedes aquí está:

saludos
a sus ordenes
Archivos Adjuntos
Tipo de Archivo: zip Miralo.zip (16,6 KB (Kilobytes), 75 visitas)
27/04/2013 #2489


Si no puedes aquí está:
Gracias MrCarlos por echarme la mano a convertirlo a versión 7.X por que yo ya la borre y solo tengo instalada la 8.0, pero me parece que en un mensaje de D@rkbytes dijo que se podia tener instalado las 2 versión esto es correcto??
Gracias
27/04/2013 #2490


Hola jussi

La verdad no sé si se puede tener las 2 versiones; es muy probable que sí.
Habría que experimentar un poco.

Pero es muy creible lo que dice D@rkbytes.

saludos
a sus ordenes
27/04/2013 #2491


jussi dijo: Ver Mensaje
Gracias MrCarlos por echarme la mano a convertirlo a versión 7.X por que yo ya la borre y solo tengo instalada la 8.0, pero me parece que en un mensaje de D@rkbytes dijo que se podia tener instalado las 2 versión esto es correcto??
Gracias
Hola...yo en particular tengo instalada las dos versiones dado que tengo infinidad de trabajos en la versión 7xx y funcionan perfectamente las dos.

Saludos.

Ric.
27/04/2013 #2492

Avatar de ferdy575

hola a todos, les cuento que ando haciendo un dimmer para la sala de TV a control remoto y tengo estos 2 códigos:
para el transmisor el código es:
Código:
;***************************************
;transmisor 16f84a con potenciometro   *
;***************************************
include "modedefs.bas"
trisb=0
portb=0
pos var byte		
dim1 var portb.1           
mainloop: 
Pot porta.0,127,pos
pos = pos / 2 + 100
        serout dim1,T2400,[6,6,"ok",#pos]        
 Goto mainloop		
        End
y para el receptor el código es:
Código:
'*******************************************************
'receptor 16f84a serie                                 *
'*******************************************************
include "modedefs.bas"
trisa=1
porta=1
trisb=0
portb=0
pos var byte  'aquí guardamos el valor de la posición
dimin var porta.0
dim   var portb.0
pulsout servo,150
principal:
serin dimin,T2400,100,reset,#pos 'función serin en porta.0
pos = pos 
pulsout dim,pos
serout portb.1,T2400,[6,6,"ok",#pos]
goto principal
reset:
pulsout dim,150 ; aquí sera el punto medio de iluminación   
goto principal
la verdad son códigos creados por el compañero D@rio pero con algunas reformas pero no me quieren funcionar, a ver sí me pueden ayudar y les encuentran los errores además quisiera saber sí puedo enviar la información de varios potenciometros al mismo receptor y como lo puedo hacer como seria la reforma del código emisor y como seria la reforma del código receptor pues me gustaría controlar tambien por ejemplo las cortinas y el ventilador; les agradezco de antemano
27/04/2013 #2493


Gracias por su respuesta!!
ricbevi y MrCarlos instalare la versión 7.10 que tengo, a ver como me va con las 2 versiones instaladas!!!
27/04/2013 #2494


Saludos amigos ando con un problema, estoy tratando de hacer un proyecto que cuenta los pulsos de un medidor de flujo y los luego los transformo en PWM para poder variar la velocidad de un motor y todo lo muestro en un LCD, pero al utilizar el comando COUNT, se daña to porque como es un comando que demora un tiempo realizando la lectura de los pulsos, se demora bastante, y eso que le baje el tiempo de lectura de COUNT PORTC.1,1000,dato a COUNT PORTC.1,125,dato ; y al momento de generar el PWM, es como si al momento de leer los pulsos se apagara por un instante y vuelve a retornar provocando que el motor esta como que se quiere apagar y de nuevo toma velocidad, me aconsejaron realizarlo con interrupciones pero no tengo claro como setar el OPTION_REG y el INTCON, porque quiero hacerle que lea interrupciones externas y no sew que habilitar ya que segun el datasheet se tiene que habilitar el T0CKI que es el pin RA4 pero de ahi no se que mas habilitar, osea OPTION_REG=%???????? y INTCON=%???????? no se si me puden ayudar con el programa, AQUI ENVIO EL PROGRAMA con COUNT.

El programa consiste solo en que el motor varie su velocidad en un rango de caudal o sea entre 0 y 5lt/s baja un 40%, entre 6 y 10 lt/s se mantiene en el voltaje seteado y > 10lt/s sube.

Un dato más, hice el programa leyendo en vez de pulsos una señal analogica en vez de pulsos usando el conversor AD y me salio mucho mejor, asi que he estado tratando de consegir un acondicionador de señal de frecuencia a voltaje, pero son muy costosos, por favor necesito de su ayuda. Gracias


Código:
PROGRAMA CONTADOR DE PULSOS DE UN MEDIDOR DE FLUJO
DEFINE  LCD_BITS    4
Define	LCD_DREG	PORTC        
Define	LCD_DBIT	4
Define	LCD_RWREG	PORTD         
Define	LCD_RWBIT	6               
Define	LCD_RSREG	PORTD         
Define	LCD_RSBIT	5             
Define	LCD_EREG	PORTD         
Define	LCD_EBIT	7            
DEFINE  ADC_BITS 8
define  OSC 4
define ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 30
;TRISD = %00000000 
TRISB = %01001111
TRISA = 255
ADCON1 = 2
caubaj var byte
caumini var byte
volt var byte
oxbajo var byte
x  var byte
dato var word
;pulsos var byte
datoE var byte
datoS var byte
botsubir var portb.1
botbajar var portb.2
enter  var portb.3
led var portd.3
alerta var PORTD.2
Qnormal var PORTD.0
Qbaja var PORTD.1
sensor1 var portb.6
frec var byte            
bandera var bit
frec = 10
eeprom 0,[5,10,1,90]         ;contenido inicial de la EEPROM

inicio:                ;3 parpadeos del led indica que funciona
for x =1 to 3
    HIGH led
    pause 200
    low led
    pause 200
next
READ 0, caubaj             ;lee la EEPROM 0 y lo guarda en tempbaj
READ 1, caumini            ;lee la EEPROM 1 y lo guarda en tempalt
read 2, volt
read 3, oxbajo
medir:
    pwm PORTC.2,FREC,100
    low led 
    bandera = 0
    count PORTC.1,125,dato 
    adcin 1, datoE
    adcin 2, datoS
	Lcdout $fe, 1 ,"Q.mi Q.lt/m Q.ma"
    dato = dato*2 
    datoE = datoE/2
    datoS = datoS/2              
    Lcdout $fe,$c6,DEC dato	
    Lcdout $fe,$c0,DEC caubaj	
    Lcdout $fe,$cc,DEC caumini 
    lcdout $fe,$d5,dec oxbajo,"%"
    lcdout $fe,$9f,"V"
    lcdout $fe,$90,"Oent":lcdout $fe,$95,"Oref":lcdout $fe,$9a,"Osal"
    lcdout $fe,$d0,DEc datoE,"%":Lcdout $fe,$da,dec datoS,"%"
    lcdout $fe,$de,dec volt
    if sensor1 = 1 then medir
    for x = 1 to 3             
    if enter = 0 then grabar1a
    pause 10
    next  
    if botsubir = 0 then SUBIR
    if botbajar = 0 then BAJAR
    if datoS < Oxbajo then high alerta
    if datoS > oxbajo then low alerta
    if caubaj > dato then disminuir  
    if caumini > dato > caubaj then mantener
    goto medir
aviso:
   high led
    goto medir
mantener:
    low Qbaja: high Qnormal  
    if frec > (volt*10) then medir
    if bandera = 1 then medir
    high led
    bandera = 1
    frec = frec + 10
    goto medir    
disminuir:
    low Qnormal:  high Qbaja
    if botsubir = 0 then SUBIR
    if frec < (volt*7) then medir
    if bandera = 1 then medir
    high led
    bandera = 1
    frec = frec - 10
    goto medir
SUBIR:
    if frec > 249 then aviso
    if bandera = 1 then medir
    high led
    bandera = 1
    frec = frec+10
    goto medir
BAJAR:
    if frec < 11 then aviso
    if bandera = 1 then medir
    high led
    bandera = 1 
    frec = frec - 10
    goto medir
grabar1a:
    gosub soltar 

grabar1:
    Lcdout $fe, 1 ,"Programar Q."
    lcdout $fe,$c0,"bajo= ",dec caubaj ,"lt/m"
    pause 100
    if botbajar = 0 then restar1
    if botsubir = 0 then sumar1
    if enter = 0 then grabarA
goto grabar1

restar1:
    gosub soltar                  ;programa antirrebote de tecla
    if caubaj < 1 then grabar1
    caubaj = caubaj - 1
goto grabar1

sumar1:
    gosub soltar
    if caubaj > 24 then grabar1
    caubaj = caubaj + 1
goto grabar1

grabarA:
    gosub soltar
    write 0, caubaj       ;escribir en la dirección 0 de la EEPROM

grabar2:   
    Lcdout $fe, 1 ,"Programar Q."
    lcdout $fe,$c0,"alto= ",dec caumini ,"lt/m"
    pause 100
    if botbajar = 0 then restar2
    if botsubir = 0 then sumar2
    if enter = 0 then grabarB
goto grabar2

restar2:
    gosub soltar
    if caumini < 5 then grabar2
    caumini = caumini - 1
goto grabar2

sumar2:
    gosub soltar
    if caumini > 24 then grabar2
    caumini = caumini + 1
goto grabar2 

grabarB:
    gosub soltar
    write 1, caumini          ;escribir en la dirección 1 de la EEPROM
grabar3:
    Lcdout $fe, 1 ,"Programar Volt."
    lcdout $fe,$c0,"Volt= ",dec vOLT ,"V"
    pause 100
    if botbajar = 0 then restar3
    if botsubir = 0 then sumar3
    if enter = 0 then grabarC
goto grabar3

restar3:
    gosub soltar                  ;programa antirrebote de tecla
    if Volt < 1 then grabar3
    Volt = Volt - 1
goto grabar3

sumar3:
    gosub soltar
    if Volt > 23 then grabar3
    Volt = Volt + 1
goto grabar3

grabarC:
    gosub soltar
    write 2,Volt 

grabar4:
    Lcdout $fe, 1 ,"Programar O."
    lcdout $fe,$c0,"O.bajo= ",dec oxbajo,"%"
    pause 100
    if botbajar = 0 then restar4
    if botsubir = 0 then sumar4
    if enter = 0 then grabarD
goto grabar4

restar4:
    gosub soltar                  ;programa antirrebote de tecla
    if oxbajo < 1 then grabar4
    oxbajo = oxbajo - 1
goto grabar4

sumar4:
    gosub soltar
    if oxbajo > 99 then grabar4
    oxbajo = oxbajo + 1
goto grabar4

grabarD:
    gosub soltar
    write 3,oxbajo   
goto inicio

soltar:                       ;programa antirrebote de tecla
    high led
    pause 150
    low led
soltar2:
    if botbajar = 0 then soltar2
    if botsubir = 0 then soltar2
    if enter = 0 then soltar2
    pause 100
    return
end
Archivos Adjuntos
Tipo de Archivo: doc contador pulsos a pwm2.doc (39,5 KB (Kilobytes), 33 visitas)
28/04/2013 #2495

Avatar de torres.electronico

PauJef dijo: Ver Mensaje
Un dato más, hice el programa leyendo en vez de pulsos una señal analogica en vez de pulsos usando el conversor AD y me salio mucho mejor, asi que he estado tratando de consegir un acondicionador de señal de frecuencia a voltaje, pero son muy costosos, por favor necesito de su ayuda. Gracias
Hola, hay muchos integrados que cumplen esa funcion y no todos son de costos elevados... leete pdf sobre la familia el LM39xx y LM29xx ... Un CI especificos para esto y economico es el LM2907N... hay muchos en mercado (AD650, VFC32, XR4151)
de que tension estamos hablando? 0 a 5Vcc? por que con un sencillo capacitor y una resistencia (se lo llama filtro) en la salida del pic, se puede hacer la salida analogica con el pwm...
Ahi te subo el pcb y el diagrama basico de un proyecto que arme donde enero una señal analogica a la salida del PIC a partir de un pwm que trabaja similar a lo que vos estas haciendo (segun una señal analogica entrante, tenemos una señal analogica proporcional a la salida)...

PD: te agrego algunpos datos para que tengas en cuenta
Código:
;*****************************************************
; NOTAS COMPLEMENTARIAS:
; PARTIENDO DE LA BASE PARA UN DAC R-C, TENEMOS QUE:
;Variable nivel PWM - nivel = (Vout * 255) / V.Fuente
;para 1100mV nivel = 55
;para 1000mV nivel = 50
;para 900mV nivel = 45
;para 800mV nivel = 40
;para 700mV nivel = 35
;para 600mV nivel = 30
;para 500mV nivel = 25
;para 400mV nivel = 20
;para 300mV nivel = 15  
;para 200mV nivel = 10
;para 100mV nivel = 5
;******************************************************
Archivos Adjuntos
Tipo de Archivo: rar pwm_Vcc.rar (282,1 KB (Kilobytes), 85 visitas)
28/04/2013 #2496

Avatar de torres.electronico

torres.electronico dijo: Ver Mensaje
Hola, hay muchos integrados que cumplen esa funcion y no todos son de costos elevados... leete pdf sobre la familia el LM39xx y LM29xx ... Un CI especificos para esto y economico es el LM2907N... hay muchos en mercado (AD650, VFC32, XR4151)
de que tension estamos hablando? 0 a 5Vcc? por que con un sencillo capacitor y una resistencia (se lo llama filtro) en la salida del pic, se puede hacer la salida analogica con el pwm...
Ahi te subo el pcb y el diagrama basico de un proyecto que arme donde enero una señal analogica a la salida del PIC a partir de un pwm que trabaja similar a lo que vos estas haciendo (segun una señal analogica entrante, tenemos una señal analogica proporcional a la salida)...

PD1: te agrego algunpos datos para que tengas en cuenta
Código:
;*****************************************************
; NOTAS COMPLEMENTARIAS:
; PARTIENDO DE LA BASE PARA UN DAC R-C, TENEMOS QUE:
;Variable nivel PWM - nivel = (Vout * 255) / V.Fuente
;para 1100mV nivel = 55
;para 1000mV nivel = 50
;para 900mV nivel = 45
;para 800mV nivel = 40
;para 700mV nivel = 35
;para 600mV nivel = 30
;para 500mV nivel = 25
;para 400mV nivel = 20
;para 300mV nivel = 15  
;para 200mV nivel = 10
;para 100mV nivel = 5
;******************************************************
PD2: encontraste por lo que veo parte de mi codigo... me resulta familiar parte de tu programa... solo queria mencionarte que la escritura de la eeprom, tiene un numero limitado... es grande el numero, pero solo queria mencionarte que si lo vas a usar en otro proyecto y hay escrituras de eeprom muy continuas (por decir 150 escrituras por hora)... al año te vas a quedar sin micro
29/04/2013 #2497


Disculpa creo que me esplique mal o te confundiste, TorresElectronico, yo necesito sacar PWM de salida metiendo pulsos al pic, lo que no puedo es leer los pulsos, ya lo hice con el comando COUNT pero es demasiado lento, y me dijeron que le haga con interrupciones pero no puedo setear el OPTION_REG Y EL INTCON para logra que lea una interrupcion externa po medio del RA4 T0CKI, ya que deseo controlar un motor de 24V y lo hago disparando unos SCRs

Necesito obtener voltaje DC variable el cual sea proporcional al numero de pulsos (frecuencia) que me da un medidor de flujo.
Yo lo realice mediante un Pic al cual le envio a un pin los pulsos del medidor de flujo y saco por otro pin PWM y de ahi voy controlando un voltaje mas alto con el disparo de un Tip o un SCR, pero no me sale un voltaje optimo, tambien le puse una pantalla LCD para que me vaya mostrando los litros/seg que mide el medidor de flujo, es decir a 4 pulsos por segundo es 1 litro, y al ser mi rango de control entre 5 lt/s y 10lt/s, o sea si vaja de 5lt/s me reduce un 40% el voltaje de entrega y si sobrepasa los 10 lt/s sube un 20% de voltaje, todo facil hasta ahi, pero cuando arme el circuito y al hacerlo funcionar, se nota que al monento que esta leyendo los pulsos se demora el programa y el voltaje de salida baja notablemente, y se apaga y se enciende.
Hice un cambio y en vez de leer pulsos medi el voltaje analogico de un poten, el voltaje PWM me salio perfento reduciendo un 40% al baja de 5lt/seg y sube un 20% al subir de 10lt/seg, sin demorarse perceptiblemente nada.
Intente convertir los pulsos mediante un Lm2907N, para enviarle un voltaje analogico al PIC, pero el LM2907N no me convierte de frecuencia a voltaje, teniendo en cuenta que estoy utilizando 5 VCD de alimentacion.
Que solucion puede haber?
01/05/2013 #2498

Avatar de torres.electronico

hola...relee tu consulta inicial...relee mi resspuesta... luego,relee tu nueva consulta y fijate lo que respondo.... o sea, si lees,vas a interpretar como generar con un pwm y un filtro a la salida esa señal analogica de cero a cincol volts son prescindir de cualquier otro IC. lamentablemente te estoy reapondiendo desde el telefono y se complica ayudarte,pero pon un poco xe voluntad y trata de interpretar lo que te digo.... no hay mucha ciencia
01/05/2013 #2499


Perfecto hola...darkbyte, te agradezco la correccion, ya que soy nuevo en el foro, tengo cosas que aprender aun.
en fin pasando a lo que me conpete como dije necesito hacer un reloj decreciente de 24 a 0 segundos para basquet, esto incluye que se detenga en cualquier segundo y poder volver a 24 con un pulsador de reset, y cuando pase los 14 segundo en descuento y se pause el reloj, luego al reanudar debe volver a 14 y descontar desde ahi hasta 0.
espero se entienda a lo que me refiero.
estuve investigando un poco pero me vuelve loco la programacion en PicBasic Pro, tengo hecho el contador pero nose como agregar los pulsadores.-
les envio una imagen de como seria a grandes razgos el diagrama de flujo de lo que necesito, y como va el programa en basic. seguro con error por eso acudo a uds a por una ayuda. gracias.
mas o menos las conexiones las tengo. ya lo voy a diagramar y lo subo para que lo vean.

enserio muchas gracias cualquier aporte! saludos
Imágenes Adjuntas
Tipo de Archivo: jpg Sin título.jpg (26,9 KB (Kilobytes), 33 visitas)
Archivos Adjuntos
Tipo de Archivo: txt cont.txt (406 Bytes, 18 visitas)
02/05/2013 #2500


Si, te entiendo Torres Electronico, pero el pwm si me sale, lo que no puedo es leer los pulsos del medidor de flujo los cuales son 4pulsos/segundo = un litro/s, y tambien tengo que mostrar los litros por segundo en un LDC, pero con el comando COUNT es muy lento porque se demora 1 segundo hasta leer los pulsos,y por eso se me estropea el pwm de salida, y me aconsejaron leer los pulsos con interrupcione y eso es lo que no comprendo bien para setear el OPTION_REG y el INTCON, porfa si puedes ayudarme con eso porque segun estuve leyendo en el dataSheet toca habilitar el T0CKI en el pin RA4
¿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.