Simple schematic, simple code, WITHOUT DS18B20 ...Still no result !!! I am...
Code:@ DEVICE pic16F684, intrc_osc_noclkout, WDT_OFF, PWRT_OFF, BOD_OFF, MCLR_ON define osc 4 TRISA= %00000000 TRISC= %00001000 CMCON0 = %00000111 'Disable analog comparators. DEFINE ADC_BITS 10 ' 10 bit A/D Conversion DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 ' 50 uS A/D sample time VRCON = %00000000 ' Disable Comparator Voltage Reference ANSEL = %10000000 ' Set pin (AN7) to analog input, the rest to digital ADCON0 = %10011101 ' Set up A/D converter - Right Just., VDD REF., CH 7, ON ADCON1 = %00110000 ' Set up A/D Converter clock source to internal RC ;----[ Change these to match your LCD ]--------------------------------------- LCD_DB4 VAR PORTA.2 LCD_DB5 VAR PORTC.0 LCD_DB6 VAR PORTC.1 LCD_DB7 VAR PORTC.2 LCD_RS VAR PORTA.0 LCD_E VAR PORTA.1 LCD_Lines CON 1 ' # of Lines on LCD, 1 or 2 (Note: use 2 for 4 lines) LCD_DATAUS CON 50 ' Data delay time in us LCD_COMMANDUS CON 2000 ' Command delay time in us INCLUDE "LCD_AnyPin.pbp" Vfs con 20480 '20,480v K16 con 61441 'coefficiente filtro 15/16 Vbatt var word 'Vbatt filtrato TmpW var word Acc_Vbatt var word 'accumulatore Vbatt filtrato * 16 Pause 500 LCDOUT $FE, 1, $FE, $0C ' Clear display, cursor off Pause 500 Main : ADCON0.1 = 1 'start A/D while ADCON0.1 = 1 wend TmpW.byte1 = ADRESH 'get A/D value TmpW.byte0 = ADRESL Acc_Vbatt = Acc_Vbatt ** K16 + TmpW 'filtro 15/16 Vbatt = Acc_Vbatt / 16 ' / 16 valore normalizzato Acc_Vbatt = TmpW * 16 'filter preload Vbatt * 16 TmpW = Vbatt * Vfs ' AD * 20480 TmpW = Div32 1024 '(AD * 20480) / 1024 LcdOut $FE, $c0, dec TmpW dig 4,dec TmpW dig 3,",",dec TmpW dig 2 Goto Main return![]()


...


Bookmarks