PROYECTOS

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