rb0 interrupt and int_tmr1 16f628a don't work


Closed Thread
Results 1 to 6 of 6
  1. #1
    Join Date
    Nov 2011
    Posts
    9

    Default rb0 interrupt and int_tmr1 16f628a don't work

    I used Instant Interrupts.
    16f628a code don't work,help me please.My interrupt rb0 signal goes to 200hz.
    18f2420 ic connected to max7219

    16f628a
    DEFINE OSC 4
    define HSER_RXSTA 90H
    DEFINE HSER_TXSTA 20H
    DEFINE HSER_BAUD 2400
    DEFINE HSER_SPBRG 25H
    INCLUDE "DT_INTS-14.bas" ; Base Interrupt System
    INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts
    VREMEOBRTA VAR WORD

    ASM
    INT_LIST macro ; IntSource, Label, Type, ResetFlag?
    INT_Handler INT_INT, _RB0PREKID, PBP, yes
    INT_Handler TMR1_INT, _PREKORACENJETMR1, PBP, yes
    endm
    INT_CREATE ; Creates the interrupt processor
    ENDASM

    @ INT_ENABLE INT_INT ; enable external (INT) interrupts
    @ INT_ENABLE TMR1_INT ; enable Timer 1 interrupts

    T1CON.0 = 1

    Pocetak:

    hserout [VREMEOBRTA.LOWBYTE,VREMEOBRTA.HIGHBYTE]
    GOTO Pocetak

    RB0PREKID:
    T1CON.0 = 0
    VREMEOBRTA.LOWBYTE = TMR1L
    VREMEOBRTA.HIGHBYTE = TMR1H
    TMR1L = 0
    TMR1H = 0
    T1CON.0 = 1
    @ INT_RETURN

    PREKORACENJETMR1:
    TMR1L = 0
    TMR1H = 0
    @ INT_RETURN

    end


    18f2420 works ok
    define osc 4
    INCLUDE "MODEDEFS.BAS"
    define HSER_RXSTA 90H
    DEFINE HSER_TXSTA 20H
    DEFINE HSER_BAUD 2400
    DEFINE HSER_SPBRG 25H

    symbol datapin = portb.5
    symbol clockpin = portb.7
    symbol load = portb.6
    vremeobrta var word
    I VAR BYTE

    low load
    shiftout datapin,clockpin,1,[$0F, $00] ' 3rd Display Test mode off
    shiftout datapin,clockpin,1,[$0F, $00] ' 2nd Display Test mode off
    shiftout datapin,clockpin,1,[$0F, $00] ' 1st Display Test mode off
    high load

    low load
    shiftout datapin,clockpin,1,[$09, $FF] ' Decode register - decode all 8 digits
    shiftout datapin,clockpin,1,[$09, $FF] ' Decode register - decode all 8 digits
    shiftout datapin,clockpin,1,[$09, $FF] ' Decode register - decode all 8 digits
    high load

    low load
    shiftout datapin,clockpin,1,[$0A, $0F] ' Intensity register - 32/32 brightness
    shiftout datapin,clockpin,1,[$0A, $0F] ' Intensity register - 32/32 brightness
    shiftout datapin,clockpin,1,[$0A, $0F] ' Intensity register - 32/32 brightness
    high load

    low load
    shiftout datapin,clockpin,1,[$0B, $07] ' Scan limit register - display all digits
    shiftout datapin,clockpin,1,[$0B, $07] ' Scan limit register - display all digits
    shiftout datapin,clockpin,1,[$0B, $07] ' Scan limit register - display all digits
    high load

    low load
    shiftout datapin,clockpin,1,[$0C, $01] ' Shutdown register - normal operation
    shiftout datapin,clockpin,1,[$0C, $01] ' Shutdown register - normal operation
    shiftout datapin,clockpin,1,[$0C, $01] ' Shutdown register - normal operation
    high load

    for i=1 to 8
    low load
    shiftout datapin,clockpin,1,[i, $0F] ' Clear all digits
    shiftout datapin,clockpin,1,[i, $0F] ' Clear all digits
    shiftout datapin,clockpin,1,[i, $0F] ' Clear all digits
    high load
    next I

    Pocetak:

    HSERIN [VREMEOBRTA.lowbyte,VREMEOBRTA.highbyte]

    LOW Load
    ShiftOut datapin,clockpin,1,[1,VREMEOBRTA DIG 4]
    HIGH Load

    LOW Load
    ShiftOut datapin,clockpin,1,[2,VREMEOBRTA DIG 3]
    HIGH Load

    LOW Load
    ShiftOut datapin,clockpin,1,[3,VREMEOBRTA DIG 2]
    HIGH Load

    LOW Load
    ShiftOut datapin,clockpin,1,[4,VREMEOBRTA DIG 1]
    HIGH Load

    LOW Load
    ShiftOut datapin,clockpin,1,[5,VREMEOBRTA DIG 0]
    HIGH Load

    GOTO Pocetak
    END
    Last edited by AndrijaD; - 12th November 2011 at 23:05.

  2. #2
    Join Date
    Nov 2011
    Posts
    9


    Did you find this post helpful? Yes | No

    Default Re: rb0 interrupt and int_tmr1 16f628a don't work



    Uploaded with ImageShack.us

  3. #3
    Join Date
    Jan 2009
    Location
    Miami, Florida USA
    Posts
    644


    Did you find this post helpful? Yes | No

    Default Re: rb0 interrupt and int_tmr1 16f628a don't work

    I would try moving the HSEROUT line to the interrupt routine. The HSEROUT command takes some time to execute and that might be causing a conflict with the interrupt timming.

    Quote Originally Posted by AndrijaD View Post
    16f628a
    DEFINE OSC 4
    define HSER_RXSTA 90H
    DEFINE HSER_TXSTA 20H
    DEFINE HSER_BAUD 2400
    DEFINE HSER_SPBRG 25H
    INCLUDE "DT_INTS-14.bas" ; Base Interrupt System
    INCLUDE "ReEnterPBP.bas" ; Include if using PBP interrupts
    VREMEOBRTA VAR WORD

    ASM
    INT_LIST macro ; IntSource, Label, Type, ResetFlag?
    INT_Handler INT_INT, _RB0PREKID, PBP, yes
    INT_Handler TMR1_INT, _PREKORACENJETMR1, PBP, yes
    endm
    INT_CREATE ; Creates the interrupt processor
    ENDASM

    @ INT_ENABLE INT_INT ; enable external (INT) interrupts
    @ INT_ENABLE TMR1_INT ; enable Timer 1 interrupts

    T1CON.0 = 1

    Pocetak:

    ' hserout [VREMEOBRTA.LOWBYTE,VREMEOBRTA.HIGHBYTE]
    GOTO Pocetak

    RB0PREKID:
    T1CON.0 = 0
    VREMEOBRTA.LOWBYTE = TMR1L
    VREMEOBRTA.HIGHBYTE = TMR1H
    hserout [VREMEOBRTA.LOWBYTE,VREMEOBRTA.HIGHBYTE]
    TMR1L = 0
    TMR1H = 0
    T1CON.0 = 1
    @ INT_RETURN

    PREKORACENJETMR1:
    TMR1L = 0
    TMR1H = 0
    @ INT_RETURN

    end
    "No one is completely worthless. They can always serve as a bad example."

    Anonymous

  4. #4
    Join Date
    Nov 2011
    Posts
    9


    Did you find this post helpful? Yes | No

    Default Re: rb0 interrupt and int_tmr1 16f628a don't work

    How can I use serout2 and serin2.Let's somebody help me please with code for 16f628.

  5. #5
    Join Date
    Nov 2011
    Posts
    9


    Did you find this post helpful? Yes | No

    Default Re: rb0 interrupt and int_tmr1 16f628a don't work

    What is the fastest way to send data from pic to pic.help me please

  6. #6
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default Re: rb0 interrupt and int_tmr1 16f628a don't work

    Dave
    Always wear safety glasses while programming.

Members who have read this thread : 1

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