Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
lo que quiero es utilizar el potenciometro para generar disparos a un triac, se que hay una instruccion que permite leer el valor de resistencia y demas, pero la verdad es que no veo que pueda darle uso a eso..
Define LCD_DREG PORTD
Define LCD_DBIT 0
Define LCD_RSREG PORTD
Define LCD_RSBIT 4
Define LCD_EREG PORTD
Define LCD_EBIT 5
A var byte
i var byte
TRISB = %00000010
TRISD = %00000000
DEFINE ADC_BITS 8 ' Define la conversión A/D a 8 Bits
DEFINE ADC_SAMPLEUS 50 ' Tiempo de muestreo en el conversor A/D es 50 uS
lcdout $fe,1
Inicio:
ADCIN 0, A ' Inicia la conversión, almacena el resultado en "A"
if portb.1=1 then call triac
goto inicio
Triac:
call delay
high portb.0
pause 1/100
low portb.0
return
Delay:
for i=0 to A
pause 324/10000
next
return
A var byte
i var byte
TRISB = %00000010
DEFINE ADC_BITS 8 ' Define la conversión A/D a 8 Bits
DEFINE ADC_SAMPLEUS 50 ' Tiempo de muestreo en el conversor A/D es 50 uS
Inicio:
ADCIN 0, A ' Inicia la conversión, almacena el resultado en "A"
if portb.1=1 then call triac
goto inicio
Triac:
call delay
high portb.0
pause 1/100
low portb.0
return
Delay:
for i=0 to A
pause 324/10000
next
return
DESPUES:
Define LCD_DREG PORTD
Define LCD_DBIT 0
Define LCD_RSREG PORTD
Define LCD_RSBIT 4
Define LCD_EREG PORTD
Define LCD_EBIT 5
A var byte
i var byte
TRISB = %00000010
TRISD = %00000000
DEFINE ADC_BITS 8 ' Define la conversión A/D a 8 Bits
DEFINE ADC_SAMPLEUS 50 ' Tiempo de muestreo en el conversor A/D es 50 uS
lcdout $fe,1
Inicio:
ADCIN 0, A ' Inicia la conversión, almacena el resultado en "A"
LCDOut $fe, 2 ' Posiciona el cursor en el inicio
LCDOUT "Grados de desf: " ' Muestra mensaje en la línea 1
LCDOUT $fe,$C0," ",dec A/100," " ' Muestra dato en la línea 2
if portb.1=1 then call triac
goto inicio
Triac:
call delay
high portb.0
pause 1/100
low portb.0
return
Delay:
for i=0 to A
pause 324/10000
next
return
A var byte
i var byte
TRISB = %00000001
DEFINE ADC_BITS 8 ' Define la conversión A/D a 8 Bits
DEFINE ADC_SAMPLEUS 50 ' Tiempo de muestreo en el conversor A/D es 50 uS
on interrupt goto Int
INTCON = %10010000
OPTION_REG.6 = 0
Inicio:
call triac
goto inicio
Triac:
call delay
high portb.1
pause 1/100
low portb.1
return
Delay:
for i=0 to A
pause 324/10000
next
return
Int:
disable
ADCIN 0, A ' Inicia la conversión, almacena el resultado en "A"
call delay
INTCON = %10010000
enable
resume
end
Inicio:
ADCIN 0, A ' Inicia la conversión, almacena el resultado en "A"
' Otro delay...
' Más cosas
goto inicio
Delay:
for i=0 to A
pause 324/10000
next
return
Int:
disable
call delay
high portb.1
pause 1/100
low portb.1
INTCON = %10010000
enable
resume
end
Define LCD_DREG PORTD
Define LCD_DBIT 0
Define LCD_RSREG PORTD
Define LCD_RSBIT 4
Define LCD_EREG PORTD
Define LCD_EBIT 5
A var byte
i var byte
TRISB = %00000001
DEFINE ADC_BITS 8 ' Define la conversión A/D a 8 Bits
DEFINE ADC_SAMPLEUS 50 ' Tiempo de muestreo en el conversor A/D es 50 uS
on interrupt goto Int
INTCON = %10010000
OPTION_REG.6 = 0
Inicio:
ADCIN 0, A
LCDOut $fe, 2
LCDOUT "Grados de desf: "
LCDOUT $fe,$C0," ",dec A/100," "
goto inicio
Triac:
call delay
high portb.1
pause 1/100
low portb.1
return
Delay:
for i=0 to A
pause 324/10000
next
return
Int:
disable
for i=0 to A
pause 324/10000
next
high portb.1
pause 1/100
low portb.1
INTCON = %10010000
enable
resume
end