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.
Device = 16F870
XTAL = 20
LCD_TYPE = 0
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4
LCD_LINES = 2
Declare ADIN_RES = 10 ;resolución de 10 bits
Declare ADIN_TAD = FRC
Declare ADIN_STIME = 50
ADCON1=%10000000 ;se activan todos los adc
TRISA=%11111111 ;todo el puerto A como entrada
TRISC=0 ;salidas al relé del ventilador
TRISB=0 ;salidas al LCD 16x2
Dim A As Word
Dim B As Word
Dim C As Float
Dim D As Float
Cls
Print At 2,1,"Fuente 0V a 25V"
DelayMS 1000
Cls
inicio:
ADCON0=%01000001 ;selecciono el canal A.0 con Fosc/8, no inicio la conversión pero el conversor esta activo
DelayMS 50
ADCON0.2=1 ;inicia la conversión
DelayMS 50
A=ADRESH
ADCON0=%01001001;selecciono el canal A.1 con Fosc/8, no inicio la conversión pero el conversor esta activo
DelayMS 50
ADCON0.2=1 ;inicia la conversión
DelayMS 50
B=ADRESH
Print At 1,1,"Temp.(",223,"C):"
Print At 2,1,"Voltaje(V):"
C=(A*25)/1023 ;conversión para 25v en el LCD
D=(B*150)/307 ;Conversión de temperatura con referencia de 5voltios
Print At 1,11,DEC1 D
Print At 2,12,"-",DEC1 C
DelayMS 170
GoTo inicio
End
Device = 16F870
Config HS_OSC, WDT_OFF, PWRTE_ON, LVP_OFF, WRT_OFF
XTAL = 20
Declare LCD_TYPE = 0
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4
Declare LCD_LINES = 2
Declare Create_Coff = On
Declare ADIN_RES = 10
Declare ADIN_TAD = FRC
Declare ADIN_STIME = 50
Inicio:
Dim Valor_ADC As Word
Dim Voltaje As Float
Dim Temperatura As Float
ADCON1 = %10000000 ; Justificación a la derecha.
Programa:
Valor_ADC = ADIn 0
Voltaje = ((Valor_ADC * 5) / 1024)
If PORTB.3 = 1 Then
Temperatura = (Voltaje * 100)
Else
Temperatura = ((Valor_ADC *150) / 308)
End If
Print At 1,1,Dec2 Voltaje, " V"
Print At 2,1,Dec2 Temperatura," ",0xDF,"C"
DelayMS 500
GoTo Programa
End
Device = 16F870
XTAL = 20
LCD_TYPE = 0
Declare LCD_DTPIN PORTB.4
Declare LCD_ENPIN PORTB.3
Declare LCD_RSPIN PORTB.2
Declare LCD_INTERFACE 4
LCD_LINES = 2
Declare ADIN_RES = 10 ;resolución de 10 bits
Declare ADIN_TAD = FRC
Declare ADIN_STIME = 50
ADCON1=%10000000 ;se activan todos los adc
TRISA=%11111111 ;todo el puerto A como entrada
TRISC=0 ;salidas al relé del ventilador
TRISB=0 ;salidas al LCD 16x2
Dim A As Word
Dim B As Word
inicio:
A=ADIn 0 ;lectura A.0
DelayMS 50
B=ADIn 4 ;lectura A.1
DelayMS 50
Print At 1,1,"Temp.(",223,"C):"
Print At 2,1,"Voltaje(V):"
Print At 1,11,DEC2 B
Print At 2,12,DEC2 A
DelayMS 170
GoTo inicio
End
Dim Valor_ADC As Word
Dim valor_ADC2 As Word
OSCCON = 0b01100000
While OSCCONbits_IOFS = 0 ; Esperar hasta que el oscilador interno sea estable.
Nop
Wend
ADCON0 = 0b00110001 ; Canal 12 y ADC = On
ADCON2 = 0b10000011 ; Resultado de la conversión con justificación a la derecha.
ADCON0 = 0b00010101 ; Canal 5 y ADC = On
ADCON2 = 0b10000011 ; Resultado de la conversión con justificación a la derecha.
Cls ; Limpia o inicializa la pantalla.
Programa:
ADCON1 = 0b00000010 ; Activar el conversor para el canal 12
Valor_ADC = ADIn 12 ; Leer el resultado de la conversión.
While ADCON0bits_GO = 1 ; Esperar a que esté lista la conversión.
Nop
Wend
ADCON1 = 0x0F ; Deshabilitar los conversores AD.
ADCON1 = 0b00001001 ; Activar el conversor para el canal 12
valor_ADC2 = ADIn 5 ; Leer el resultado de la conversión.
While ADCON0bits_GO = 1 ; Esperar a que esté lista la conversión.
Nop
Wend
ADCON1 = 0x0F ; Deshabilitar los conversores AD.
Print $Fe,$80, "Valor ADC: ",Dec4 Valor_ADC
Print $Fe,$C0, "Valor ADC2: ",Dec4 valor_ADC2
DelayMS 50 ; Éste retardo se puede omitir.
GoTo Programa