Compare value ...


Closed Thread
Results 1 to 40 of 69

Hybrid View

  1. #1
    Join Date
    May 2013
    Location
    australia
    Posts
    2,631


    Did you find this post helpful? Yes | No

    Default Re: Compare value ...

    i get same result from proteus

    Name:  frm_on.jpg
Views: 4713
Size:  370.2 KBName:  frm_off.jpg
Views: 4669
Size:  367.1 KB

    Code:
    '****************************************************************'*  
    '*  Name    : 16F88_LM35.BAS                                   *
    '*  Author  :                                    *
    '*  Notice  : Copyright (c) 2020                                *
    '*          : All Rights Reserved                               *
    '*  Date    : 04/04/2020                                        *
    '*  Version : 1.0                                               *
    '*           PIC 16F88
    '****************************************************************
    #CONFIG
      __config  _CONFIG1, _INTRC_IO & _WDT_ON & _PWRTE_OFF & _MCLR_ON & _BODEN_ON & _LVP_OFF & _CPD_OFF & _WRT_PROTECT_OFF & _DEBUG_OFF & _CCP1_RB0 & _CP_OFF
      __config  _CONFIG2, _FCMEN_ON & _IESO_ON
    #ENDCONFIG
    
    
    adcon1.7=1
    ANSEL  = %00000001 'Disable Inputs Tranne AN0
    OSCCON = %01100000 'Internal RC set to 4MHZ
    TRISA  = %10111111 ' impostazioni INP/OUT
    TRISB  = 0 ' delle porte
    '----------------------------------------------------
    DEFINE LCD_DREG PORTB       'Porta B DATA OUT 
    DEFINE LCD_DBIT 4           '0 --> Bit 0-3 : 4 --> Bit 4-7 
    DEFINE LCD_RSREG PORTB      'LCD register select port - Porta B --> RS
    DEFINE LCD_RSBIT 2          'LCD register select bit  - Pin RS B2
    DEFINE LCD_EREG PORTB       'LCD enable port - Porta B --> EN
    DEFINE LCD_EBIT 3           'LCD enable bit - Pin EN B3DEFINE LCD_BITS 4           'LCD bus size 4 or 8 
    DEFINE LCD_LINES 2          'Number lines on LCD DEFINE LCD_COMMANDUS 2000   'Command delay time in us 
    DEFINE LCD_DATAUS 50        'Data delay time in us
    
    '    EEPROM 
     data @0,16,30
    '===========================================================================
    '*****  SETTAGGIO PORTE 
    Rele   VAR    PORTA.6     '                  Pin 15
    
    '---------Define ADCin Parameters   
    DEFINE ADC_BITS 10      'set number of bits in result
    DEFINE ADC_CLOCK 3      'set clock source (3=rc)
    DEFINE ADC_SAMPLEUS 50  'Set sampling time in uS
    
    '    RAM Assignments and Variables
    '=========================================================================== 
    temp var word
    temperature var word
    samples var word
    sample VAR BYTE
    quanta con 1249
    Tmax VAR byte
    Tmin VAR byte
    '===========================================================================
    pause 500
    START:
        read 0,tmin,tmax
        Lcdout $FE, 1           'Clear screen
        rele=0
    main:
        samples=0
        FOR sample = 1 TO 10 'Take 10 samples
            ADCIN 0, temp 'Read AN0 into temp variable
            samples = samples + temp
            PAUSE 40 ' Wait 1/4 seconds per reading
        NEXT sample
        temp = samples/10 'Average over 10 samples 
        temperature= temp */ quanta
        LCDOUT $FE, 1 ' cancella LCD
        lcdout "Temp ",dec2 (temperature/10),".", dec1 (temperature//10),$DF,"C"
        lcdout $FE, $C0,"temp ", dec temp 
        If temperature > (Tmax*10) then
            rele=1
        else
            rele=0
        Endif                           
    goto main
    Warning I'm not a teacher

  2. #2
    Join Date
    May 2013
    Location
    australia
    Posts
    2,631


    Did you find this post helpful? Yes | No

    Default Re: Compare value ...

    not sure whats going on here

    my LM35 has a 0.3 volt output @30c, adc value 61 [10mV/deg]

    an adc read of 675 would need 329 deg
    i think i see the problem, if louis is using a 16f690 then the adc settings used are totally inappropriate
    adc control on a 16f690 is quite different to a 16f88

    define osc 4 ;there is no define called osc
    adcon1.7=1 ;bit 7 is unimplemented
    ADCON1 = %10001110 ;fosc/2 adc clk bits 0:3 and 7 are unimplemented


    should be
    define OSC 4 ;OSC = 4
    adcon0.7=1 ;right justify result
    adcon1= %00110000 ; frc adc clk
    Last edited by richard; - 10th April 2020 at 05:05.
    Warning I'm not a teacher

Similar Threads

  1. How to compare two temperatures
    By SKOLS1 in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 10th April 2012, 09:07
  2. how to hserin compare with known value?
    By aa222k in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 23rd November 2010, 18:48
  3. Is there a faster way to compare?
    By RussMartin in forum mel PIC BASIC Pro
    Replies: 12
    Last Post: - 8th February 2010, 19:48
  4. how to compare data
    By Mus.me in forum mel PIC BASIC Pro
    Replies: 19
    Last Post: - 1st November 2009, 22:30
  5. Compare Data
    By Pesticida in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 14th February 2008, 20:40

Members who have read this thread : 6

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts