COUNT never counts properly! (16F870)


Closed Thread
Results 1 to 10 of 10

Hybrid View

  1. #1
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: COUNT never counts properly! (16F870)

    The manual says with a 4MHz oscillator as you have, the pin is sampled every 20us which is way too slow for the fractional pulse durations you stated.
    The different results can easily be explained since any low or high period could be entirely missed.

    Your code is still pretty slow.
    The fastest I can think of right now in PBP is this:
    Code:
    newbitstate var bit
    oldbitstate var bit
    counter var word
    count var word
    duration var word
    
    newbitstate = 0
    oldbitstate = 0
    duration = 9000 ‘ set duration to sample the input
    
    
    count = 0 ‘ reset count
    
    for counter = 0 to duration
    newbitstate = portb.0
    if newbitstate != oldbitstate then
    count = count + 1
    endif
    oldbitstate = newbitstate
    next duration
    Then Count will be the number of pin changes.
    To get the pulse count, rather than check in the routine and slow it down,
    just divide Count by 2 at the end, to get the number of rising edges,
    and if the remainder is 1, the duration ended while the port pin was high.

  2. #2
    Join Date
    Feb 2013
    Posts
    1,124


    Did you find this post helpful? Yes | No

    Default Re: COUNT never counts properly! (16F870)

    0.8ms=800us, so it fits very well

  3. #3
    Join Date
    Aug 2003
    Posts
    985


    Did you find this post helpful? Yes | No

    Default Re: COUNT never counts properly! (16F870)

    lol I was reading ms as microseconds.
    If your code works better than Count then use it I’d sure like to see a disassembly of Count in your loop though, which I don’t have the tools to do handy at the moment.

Similar Threads

  1. Can't access Port A with PBP on 16F870.
    By CuriousOne in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 16th April 2013, 11:28
  2. Replies: 23
    Last Post: - 16th September 2010, 16:52
  3. Replies: 1
    Last Post: - 7th December 2009, 16:35
  4. Saving COUNTs?
    By jderson in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 19th April 2009, 17:55
  5. Help needed with 16F870 ADC
    By srob in forum mel PIC BASIC
    Replies: 1
    Last Post: - 10th May 2008, 13:14

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