Proyecto 1
Termometro Digital con el LM35
Device 16F877A
Declare Xtal 4
Declare Adin_Res 10
Declare Adin_Tad 8_FOSC
Declare Adin_Stime 50
Declare LCD_Type 0
Declare LCD_DTPin PORTB.4
Declare LCD_RSPin PORTB.2 '
Declare LCD_ENPin PORTB.3
Declare LCD_Interface 4
Dim ADC_Result As Float
Dim ADC_Total As Float
Dim Temp_Float As Float
Dim ADC_Channel As Byte
Dim ADC_Loops As Word
Dim Temp As Word
Dim Last_Result1 As Float
Dim Last_Result2 As Float
ADCON1 = %10000000
TRISA = $FF
DelayMS 150
Cls
Print $FE,$40,$07,$05,$07,$00,$00,$00,$00,$00
ADC_Loops = 200
Main:
ADC_Channel = 1
GoSub ADC_Average
Temp_Float = ADC_Result
ADC_Channel = 0
GoSub ADC_Average
ADC_Result = ADC_Result * 5000 / 1023
Temp_Float = Temp_Float * 5000 / 1023
ADC_Result = ADC_Result - Temp_Float
ADC_Result = ADC_Result / 10
If ADC_Result= Last_Result1 Then
Print At 1,1, Dec1 ADC_Result, 0, "C "
Last_Result1 = ADC_Result
EndIf
GoTo Main
ADC_Average:
ADC_Total = 0
For Temp = 1 To ADC_Loops
ADC_Result = ADIn ADC_Channel
ADC_Total = ADC_Total + ADC_Result
DelayUS 1
Next Temp
ADC_Result = ADC_Total / ADC_Loops
Return
No hay comentarios.:
Publicar un comentario