From c to pbp


Results 1 to 13 of 13

Thread: From c to pbp

Threaded View

  1. #5
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    If you're going to convert this to produce the same timing at 4MHz, you'll
    need to use an assembler delay routine.

    At 20MHz, like the original C version, delay_cycles(59); gives you a delay of
    59 * 200nS instruction cycles. 59 * 200nS = 11.8uS.

    PAUSEUS at 4MHz is limited to a minimum delay period of 24uS, and with an
    instruction time of 1uS at 4MHz, you're still going to be off by a minimum of
    200nS.

    12uS is about as close as you can get to the original 11.8uS delay period.

    Code:
    '  For 4MHz use XT_OSC
       @ DEVICE PIC16F84A, XT_OSC,WDT_OFF,PROTECT_OFF,PWRT_ON
    
       DEFINE OSC 4
       ltime VAR BYTE
    
       GOTO Main
       
    PAUSE12:  ' CALL to here = 2uS  
    ASM
        GOTO $+1 ; 2uS
        GOTO $+1 ; 2uS
        GOTO $+1 ; 2uS
        GOTO $+1 ; 2uS
        RETURN   ; 2uS (12uS total delay time)
    ENDASM
    
    Main:
       TRISB = 0
       FOR ltime = 0 TO 49 ' 50 loops total
        PORTB.7 = 1
        PAUSE 50
        PORTB.7 = 0
        PAUSE 50
       NEXT ltime
    
       WHILE (1)
        PORTB = 1
        CALL PAUSE12
        PORTB = 2
        CALL PAUSE12
        PORTB = $41
        CALL PAUSE12
        PORTB = $42
        CALL PAUSE12
       WEND
    
       END
    This would give you very close to the same program & timing. The difference
    is the delay between port updates in the WHILE loop are 12uS VS 11.8uS.
    Last edited by Bruce; - 22nd July 2007 at 15:34.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

Similar Threads

  1. PBP Book
    By Bruce in forum Off Topic
    Replies: 83
    Last Post: - 4th October 2021, 12:55
  2. PBP, ASM and LST files
    By HenrikOlsson in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 12th January 2010, 13:43
  3. Compiler differences between PBP 2.33 & 2.46
    By nikopolis in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 2nd May 2006, 19:01
  4. Newby- PBP wont compile for 18F (MPLAB)
    By jd76duke in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 17th December 2005, 23:30
  5. PBP / XP Crash
    By pondindustrial in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 27th November 2005, 03:16

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