16f88 - pin RA4 as analog input


Closed Thread
Results 1 to 21 of 21

Hybrid View

  1. #1
    Join Date
    Jun 2006
    Location
    Greece
    Posts
    302

    Default 16f88 - pin RA4 as analog input

    I have the below code with 16f88 , and i want to know if may use the pin RA4
    as analog input.
    I want to read the voltage from a tuner.The range of voltage is 0.5-3.5V.
    Code:
                CMCON = 7                                  ' PortA = digital I/O
                 
    	DEFINE LCD_DREG	PORTB	'Selection of the port B
    	DEFINE LCD_DBIT 0	    'Selection one RB0 with RB3
    	DEFINE LCD_RSREG PORTA	'RS on port A
    	DEFINE LCD_RSBIT 2	    'RS on RA2
    	DEFINE LCD_EREG	PORTA   'E on port A
    	DEFINE LCD_EBIT 3	    'E on RA3
    	DEFINE LCD_BITS 4		'Mode 4 bits
    	DEFINE LCD_LINES 2	    '2 lines
    
    	DEFINE I2C_SCLOUT 1
    	
    	PAUSE 500
    	
    ' ** DEFINITION OF THE ENTREES - EXITS
    
    ' Exits I2C
    
    	SCL var PORTA.1         'SCL on RA1 (pine 18)
    	SDA	var	PORTA.0		    'SDA on RA0 (pin 17)
    
    ' Boutons
    
    	UP	    var	PORTB.6		'increase the frequency (on RB6)
    	DOWN	var	PORTB.7		'decrease the frequency (on RB7)
    	CH_PAS	var	PORTB.5		'Change the step of synth (on RB5) 
     
    	
    	Input	UP			    'Up and Down are entries
    	Input	DOWN
    	Input	CH_PAS
    Last edited by savnik; - 29th October 2006 at 12:10.

  2. #2
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,185


    Did you find this post helpful? Yes | No

    Default

    Hi Savnik,

    RA4 can be used as analog input as data sheet says (16F88).

    In this case, you need to add ANSEL = %00010000 to your code.
    ANSEL = %00010000 will set RA4 as analog and all others as digital.
    Make sure you set RA4 as an input pin prior to ANSEL.


    You may need to work around CMCON a little.


    ------------------------
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

  3. #3
    Join Date
    Jun 2006
    Location
    Greece
    Posts
    302


    Did you find this post helpful? Yes | No

    Default

    i have add this in my code:
    Code:
        CMCON = 7               ' PortA = digital I/O
    	ANSEL = %00010000       ' Will set RA4 as analog and all others as digital
        ADCON0 = %11100001	   
        ADCON1 = %10000010 	   
        adval   var Byte		     'Create adval to store result
        IN	    var	PORTA.4
        Input	IN
    
    loop: 	ADCIN 0, adval					' Read channel 0 to adval
    
    	    Lcdout $fe, 1   				' Clear LCD
            Lcdout "Value: ", DEC adval		' Display the decimal value  
    
            Pause 100       				' Wait .1 second
    
            Goto loop       				' Do it forever
            End
    need to add this;
    Code:
       
        Define  ADC_BITS        8     	' Set number of bits in result
        Define  ADC_CLOCK       3     	' Set clock source (3=rc)
        Define  ADC_SAMPLEUS    50    	' Set sampling time in uS
    but show on LCD Value:3 continues

  4. #4
    Join Date
    Jul 2003
    Location
    Colorado Springs
    Posts
    4,959


    Did you find this post helpful? Yes | No

    Default

    Read from AN4

    ADCIN 4, adval
    DT

  5. #5
    Join Date
    Jun 2006
    Location
    Greece
    Posts
    302


    Did you find this post helpful? Yes | No

    Default now it works

    Quote Originally Posted by Darrel Taylor
    Read from AN4

    ADCIN 4, adval
    Thank you.
    At 0 volt show value: 0 and at 5 volt show value:3
    How i can at 0 volt show value: 0 and at 5 volt show value: 50 or 100 or something greater from 3;
    Is easy to show the level as bargaph on LCD;

  6. #6
    Join Date
    Jan 2006
    Location
    Istanbul
    Posts
    1,185


    Did you find this post helpful? Yes | No

    Default

    Post the schematic.
    Let us see your ADC reading part also.


    ---------------------
    "If the Earth were a single state, Istanbul would be its capital." Napoleon Bonaparte

Similar Threads

  1. Is this a K Type sensor?
    By jessey in forum mel PIC BASIC Pro
    Replies: 20
    Last Post: - 21st November 2009, 13:55
  2. Microcontroller with 2 way paging application problem
    By oneohthree in forum mel PIC BASIC Pro
    Replies: 30
    Last Post: - 20th April 2007, 17:27
  3. Another RTC, DS1287
    By DavidK in forum Code Examples
    Replies: 0
    Last Post: - 12th December 2006, 17:07
  4. 16F88 reading Analog Input
    By thunderstrike44 in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 30th August 2004, 22:41
  5. Pin RA4 doesn't work
    By Melanie in forum FAQ - Frequently Asked Questions
    Replies: 0
    Last Post: - 15th July 2004, 12:03

Members who have read this thread : 0

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