pulse simulation


Closed Thread
Results 1 to 13 of 13

Hybrid View

  1. #1
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Lightbulb Darrel instant interrupts ... of course !!!

    Hi, Nicolas

    Use DT interrupts !!! ... it's not so difficult to use.

    http://www.picbasic.co.uk/forum/showthread.php?t=3251

    or a little trick I discovered :

    insert " DEFINE INTHAND _INC" at the top of the program ... This places a "GOTO _INC" at location 00004 of the ASM program.

    Now trim the interrupt register ( INTCON) to allow an " interrupt on PortB Change "

    Place a correct preset value for W0 ... 0 is not a good value !!! ( in "decr:" nor !!! )

    Place a "GOTO PULSE " before "inc"

    Think to re-enable interrupts, placing " INTCON.7 = 1" just past "pulse" label

    last, change "GOTO inc" to "GOTO pulse"

    That should go at first...

    Next step will be to use BUTTON instead of IF-THEN ... just to use the Auto-repeat feature ...


    One more step ...

    Have a look to Motorola ( yessss ... Freescale !!! ) "TPUPN xx" Application Notes ...

    really Great !!!

    http://www.bgsoflex.com/megasquirt.html


    Alain
    Last edited by Acetronics2; - 13th August 2006 at 16:23.
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  2. #2
    Join Date
    May 2006
    Posts
    27


    Did you find this post helpful? Yes | No

    Default pulse simulation

    how place a "GOTO _INC" in microcode studio.
    interrupt register ( INTCON) to allow an " interrupt on PortB : INTCON=00001000 , it s ok?
    thank

  3. #3
    Join Date
    May 2006
    Posts
    27


    Did you find this post helpful? Yes | No

    Default pulse simulation

    if i use
    ASM
    GOTO_INC
    ENDASM
    it 's ok?

  4. #4
    Join Date
    May 2004
    Location
    NW France
    Posts
    3,653


    Did you find this post helpful? Yes | No

    Default Noooooooooo....

    and how to place it in location 4 ????

    D.E.F.I.N.E. !!!!!

    Alain
    ************************************************** ***********************
    Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
    ************************************************** ***********************
    IF there is the word "Problem" in your question ...
    certainly the answer is " RTFM " or " RTFDataSheet " !!!
    *****************************************

  5. #5
    Join Date
    May 2006
    Posts
    27


    Did you find this post helpful? Yes | No

    Unhappy pulse simulation

    sorry bur i dont understand how use interrupt on a port.
    i m bad

  6. #6
    Join Date
    May 2006
    Posts
    27


    Did you find this post helpful? Yes | No

    Default pulse simulation

    I work but it is hard
    this code work

    ' pic16F877

    'cycle = !-!_!-!_!-!_!-!_!-!__!--!_
    ' i use lcd just to see W0
    ' Define LCD registers and bits
    DEFINE LCD_DREG PORTD
    DEFINE LCD_DBIT 8
    DEFINE LCD_RSREG PORTE
    DEFINE LCD_RSBIT 0
    DEFINE LCD_EREG PORTE
    DEFINE LCD_EBIT 1
    DEFINE OSC 4 ' use 20 MHZ oscillator

    INCLUDE "modedefs.bas" ' Include serial modes

    W0 var word
    W1 var word
    i var byte
    up var PORTB.4
    dn var PORTB.5
    rst var portb.6
    b0 var byte
    PO var portb.3 ' Define pulse output pin

    'initialisation
    ADCON1 = %0000111
    TRISA = %1
    w0=100
    i=0
    B0=0
    Low PO ' Initialize output polarity
    intcon=%0001000
    On Interrupt Goto bouton ' Define interrupt handler
    INTCON = $90 ' Enable INTE interrupt

    '*********************
    pulse:
    for i =1 to 5
    Pulsout 3,W0 ' Generate pulse
    pause W0/100 ' Intra-pulse delay
    next i
    Pulsout 3,W0
    W1=W0*2
    Pause W1/100
    Pulsout 3,W1
    'visualisation sur LCD
    Lcdout $FE,$C0,"W0 = ",dec W0," "
    Goto bouton
    '*********************
    inc:
    W0 = W0 + 10
    goto pulse
    '*********************
    decr:
    W0 = W0 - 10
    goto pulse
    '*********************
    reset:
    w0 = 100
    goto pulse
    '*********************
    bouton :
    disable
    button up,1,0,0,b0,1,inc 'si bouton1 sur port1=1 aller à calibration
    button dn,1,0,0,b0,1,decr 'si bouton1 sur port1=1 aller à calibration
    button rst,1,0,0,b0,1,reset 'si bouton1 sur port1=1 aller à calibration
    enable
    goto pulse


    but why on the piture the period after double pulse the low period its not equal w0?
    Attached Images Attached Images  

  7. #7
    Join Date
    May 2006
    Posts
    27


    Did you find this post helpful? Yes | No

    Default pulse simulation

    help please

Similar Threads

  1. 2 Beam Optical Pulse Generator
    By WOZZY-2010 in forum Schematics
    Replies: 8
    Last Post: - 6th April 2010, 05:03
  2. Pulse Capture and byte building
    By boroko in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 21st July 2009, 02:59
  3. Single digit 7 Seg LED clock - PIC16F88
    By thirsty in forum Code Examples
    Replies: 4
    Last Post: - 17th July 2009, 09:42
  4. Replies: 3
    Last Post: - 13th September 2008, 18:40
  5. Pulse Frequency Multiplication
    By jamie_s in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 21st August 2005, 11:39

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