Can't get POT work on P12f675 - Newbie


Results 1 to 7 of 7

Threaded View

  1. #1
    Join Date
    Mar 2008
    Posts
    4

    Default Can't get POT work on P12f675 - Newbie

    Hi Guys,

    First I must thank you all, since this forum is great, and I managed to find solutions without posting untill now.
    I am working on an imitation of the interactive led table by evilmadscientist, with slight variances. For those who don't what it is, basically set of leds blinking in a wavy fashion in response to varying ambient light.

    I managed to get the leds do the wave thing by PWM on the 16f675. My problem starts at detecting the ambient light. I have never used analog digital conversion till now and after a brief try, decided POT command would be sufficient too, ansd switched to it(will use it with a photoresistor). I managed to get it work on 16f84A with a 22K potentiometer, grounded after a 0,1 uf capacitor. But want to do it on 16f675. So far it does not read the potentiometer at all and acts erratic. tried connecting the 3rd pin to 5V, but no change. After this circuit works, I will swap the potentiometer with the photoresistor and that will be the light sensor.

    There are two things I suspect.
    1-internal OSC is not good for this.
    2-I just noticed that I activated the weak pullup on all pins, I am at work now and can't wait until the evening to see if this is the problem.

    The simple code I wrote to isolate the problem is given below:

    ---------------------------

    define OSC 4 'define osc speed
    define OSCCAL_1K 1 'write internal osc value
    CMCON = 7 'disconnect comparator
    ANSEL = 0 'disable a/d converter
    TRISIO = %00001000 'set ports
    WPU = %11111111 'weak pullup
    GPIO = 0

    potval0 var byte

    loop:
    Pot 3, 255, potval0 'write pot reading to potval

    if potval0>127 then 'if reading is bigger than 127
    high 0 'blink led on 0
    pause 1000
    low 0
    else
    high 1 'else blink led on 1
    pause 1000
    low 1
    endif

    goto loop
    ---------------------------
    and the include file is below as I have modified it to work with internal OSC

    ---------------------------

    NOLIST
    ifdef PM_USED
    LIST
    include 'M12F675.INC' ; PM header
    device pic12F675, intrc_osc, wdt_on, mclr_off, protect_off
    XALL
    NOLIST
    else
    LIST
    LIST p = 12F675, r = dec, w = -302
    INCLUDE "P12F675.INC" ; MPASM Header
    __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF
    NOLIST
    endif
    LIST


    ----------------------

    Please gusy help me get out of this. I have been stuck here for 5 desk hours now. After this, my question about interrupts comes, but I havent given up on search for that yet.

    Thanks to responders in advance.

    Oh, one last thing. Since it is my first post, I am not sure if my message is good as a thread here, so please let me know if you have any suggestions, on how and what else to include.
    Last edited by berslan; - 26th March 2008 at 09:53. Reason: typo

Similar Threads

  1. Newbie needs help with POT...
    By greenflight in forum General
    Replies: 3
    Last Post: - 29th August 2007, 01:39
  2. Replies: 4
    Last Post: - 24th January 2007, 22:20
  3. pot controlled pwm -- help
    By docwisdom in forum mel PIC BASIC Pro
    Replies: 12
    Last Post: - 29th January 2006, 12:29
  4. Replies: 4
    Last Post: - 8th September 2005, 15:42
  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