Searching \ for '[SX]: Interrupts for SX' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/ubicom/sxints.htm?key=interrupt
Search entire site for: 'Interrupts for SX'.

Exact match. Not showing close matches.
PICList Thread
'[SX]: Interrupts for SX'
2002\07\08@131048 by jamesnewton

face picon face
source= http://www.piclist.com/postbot.asp?id=piclist\2002\07\06\064656a

It would be better if you would comment and post the code you have written
and let us take a look at it.


---
James Newton: PICList.com webmaster, former Admin #3
spam_OUTjamesnewtonTakeThisOuTspampiclist.com  1-619-652-0593 phone
http://www.piclist.com/member/JMN-EFP-786
PIC/PICList FAQ: http://www.piclist.com

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.


2002\07\09@105407 by PSL

flavicon
face
part 1 1905 bytes content-type:text/plain; (decoded 7bit)


----- Original Message -----
From: "PSL" <.....pslnKILLspamspam@spam@starhub.net.sg>
To: <jamesnewtonspamKILLspampiclist.com>
Sent: Tuesday, July 09, 2002 8:37 PM
Subject: Re: [SX]: Interrupts for SX


> Hi James
>
> Hope you can help me on this i really been struck for a few day on this
>
>
>
> I am using the ISR to capture data on a 4 bit bus line(P0-P3) the timing
> diagram. i think more of less the program is correct as i do get the
correct
> results once in the while.
> the attach File.txt is the SX with the ISR the data line is connect to
this
> other SX
>
> Can you please enlighten me if i have make any mistake in setting up the
> Interrupts ? it seem that normally for the first few trigger every thing
is
{Quote hidden}

written
{Quote hidden}


part 2 13086 bytes content-type:text/plain;
(decoded quoted-printable)



       
               DEVICE  SX28L,OSCHS3,TURBO
               RESET   RESET_ENTRY
               FREQ    50_000_000



;__________________________________________________________;

;       MACRO
;__________________________________________________________;

_BANK   MACRO   1
       BANK    \1
       IF \1 & %10000000               ;SX48BD AND SX52BD (PRODUCTION RELEASE) BANK INSTRUCTION                 SETB    FSR.7           ;MODIFIES FSR BITS 4,5 AND 6. FSR.7 NEEDS TO BE SET BY SOFTWARE.
       ELSE
               CLRB    FSR.7
       ENDIF
       ENDM
;__________________________________________________________;

_MODE   MACRO   1
               MOV     W,#\1           ;LOADS THE M REGISTER CORRECTLY FOR THE SX48BD AND SX52BD
               MOV     M,W
       ENDM
;__________________________________________________________;

DELAY4X         MACRO
               MOV     TEMP,W                  ;1 INITIALIZE COUNT1, COUNT2        
:DELAY4XLOOP    DJNZ    TEMP,:DELAY4XLOOP       ;4/2 DECREMENT UNTIL ALL ARE ZERO              
               ENDM        
;__________________________________________________________;

;__________________________________________________________;
;
;       INITIAL PORT VALUE
;__________________________________________________________;

RA_INIT         EQU     %11111111               ;SX18/20/28/48/52 RA_IO           EQU     %11111110               ;SX18/20/28/48/52
RB_INIT         EQU     %00001111               ;SX18/20/28/48/52 RB_IO           EQU     %00000000               ;SX18/20/28/48/52
RC_INIT         EQU     %00000000               ;SX18/20/28/48/52 RC_IO           EQU     %00000000               ;SX18/20/28/48/52

;__________________________________________________________;
;
;       PIN/PORT ASSIGNMENT
;__________________________________________________________;

RS232TX         EQU     RA.0
RXPIN           EQU     RA.1
;__________________________________________________________;
;
; GLOBAL REGISTER DEFINITIONS
;__________________________________________________________;
               ORG     $08                     ;GLOBAL DATA MEMORY STARTS AT $0A ON SX48/52

TEMP1X          DS      1
TEMP2X          DS      1
TEMP3X          DS      1
TFSR            DS      1
TSWAP           DS      1
;__________________________________________________________;        
;
; BANK 0        
;__________________________________________________________;
               ORG     $10     ;BANK 0 ADDRESS ON SX52
BANK0           =     $

;__________________________________________________________;        
;
; BANK 1        
;__________________________________________________________;
               ORG     $30     ;BANK 1 ADDRESS ON SX52
BANK1           =     $

;__________________________________________________________;        
;
; BANK 2        
;__________________________________________________________;
               ORG     $50     ;BANK 2 ADDRESS ON SX52
BANK2           =     $

;__________________________________________________________;        
;
; BANK 3        
;__________________________________________________________;
               ORG     $70     ;BANK 3 ADDRESS ON SX52
BANK3           =     $

;__________________________________________________________;        
;
; BANK 4        
;__________________________________________________________;
               ORG     $90     ;BANK 4 ADDRESS ON SX52
BANK4           =     $

;__________________________________________________________;        
;
; BANK 5        
;__________________________________________________________;
               ORG     $B0     ;BANK 5 ADDRESS ON SX52
BANK5           =     $

;__________________________________________________________;        
;
; BANK 6        
;__________________________________________________________;
               ORG     $D0     ;BANK 6 ADDRESS ON SX52
BANK6           =     $

;__________________________________________________________;        
;
; BANK 7        
;__________________________________________________________;
               ORG     $F0     ;BANK 7 ADDRESS ON SX52
BANK7           =     $

RS232DATA       DS      1       ;LOCATION TO KEEP TXDATA        
COMCOUNTER      DS      1       ;KEEP TRACK OF BIT COUNT
WCOUNTER        DS      1       ;KEEP TRACK DELAY COUNT
RXDAT           DS      1       ;LOCATION TO KEEP RXDATA
CRC_LO          DS      1       ;KEEP TRACK OF CRC HIGH VALUE
CRC_HI          DS      1       ;KEEP TRACK OF CRC HIGH VALUE
TEMP            DS      1       ;TEMP LOCATION
CBLOCK          DS      1       ;BLOCK COUNT
TEMPf           DS      1       ;BLOCK COUNT
;TFSR15         DS      1       ;TEMP FSR

WKPND_B         EQU     $19
WKED_B          EQU     $1A
WKEN_B          EQU     $1B
;__________________________________________________________;
;
; Interrupt Service Routine
;__________________________________________________________;
;
; Note: The interrupt code must always originate at address $0.
;
; Interrupt Frequency = (Cycle Frequency / -(retiw value))  For example:
; With a retiw value of -217 and an oscillator frequency of 50MHz, this
; code runs every 4.34us.
;
INT_PERIOD      EQU     108     ; INTERRUPT TO OPERATE AT 20NS X 108 = 2.16US
;__________________________________________________________;

       ORG     $000
INTERRUPT                                       ;3

       MODE    WKPND_B                         ;1
       MOV     W,#$00                          ;1
       MOV     !RB,W                           ;1
       MODE    $1F                             ;1
       MOV     W,RB                            ;1

       AND     W,#$0F                          ;1
       MOV     TEMP1X,W                        ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       NOP                                     ;1
       MOV     W,RB                            ;1

       AND     W,#$0F                          ;1
       MOV     TEMP2X,W
       SWAP    TEMP2X
       MOV     W,TEMP2X
       ADD     TEMP1X,W
       MOV     W,TEMP1X
       CALL    @TXDATA

       _MODE   WKPND_B
       MOV     W,#$00
       MOV     !RB,W
       
       



;ISR_END                
;       MOV     W,#-INT_PERIOD          ;REFRESH RTCC ON RETURN
       RETIW                           ;RETURN FROM THE INTERRUPT
                                               ; = 1/(INT_PERIOD*RTCC PRESCALER*1/50MHZ)
                                               ; = 1/(217*1*20NS) = 4.34US
               NOP
               NOP
               NOP
               NOP
;__________________________________________________________;
       

RESET_ENTRY
               MODE    $1F                     ; POINT MODE TO WRITE DDIR
                                               ;*(5-BIT VALUE USED TO ENSURE CORRECT VALUE
                                               ; FOR SX48/52, ONLY 4-BITS OF THIS VALUE ARE
                                               ; USED ON SX18/20/28)
               MOV     W,#RA_INIT              ; INITIALIZE DATA LATCHES FOR
               MOV     RA,W                    ; PORT A.
               MOV     W,#RA_IO                ; INITIALIZE DATA DIRECTION REGISTER FOR                
               MOV     !RA,W                   ; PORT A.
               MOV     W,#RB_INIT              ; INITIALIZE DATA LATCHES FOR
               MOV     RB,W                    ; PORT B.
               MOV     W,#RB_IO                ; INITIALIZE DATA DIRECTION REGISTER FOR
               MOV     !RB,W                   ; PORT B.        
               MOV     W,#RC_INIT              ; INITIALIZE DATA LATCHES FOR
               MOV     RC,W                    ; PORT C.
               MOV     W,#RC_IO                ; INITIALIZE DATA DIRECTION REGISTER FOR
               MOV     !RC,W                   ; PORT C.

               MOV     W,#'S'
               CALL    @TXDATA
               MOV     W,#'T'
               CALL    @TXDATA
               MOV     W,#'A'
               CALL    @TXDATA
               MOV     W,#'R'
               CALL    @TXDATA
               MOV     W,#'T'
               CALL    @TXDATA                
               _MODE   WKED_B
               MOV     W,#$0F
               MOV     !RB,W

               _MODE   WKPND_B
               MOV     W,#$00
               MOV     !RB,W

               _MODE   WKEN_B
               MOV     W,#$F0
               MOV     !RB,W

               _MODE   $1F
               
ENDLESS
               JMP     ENDLESS
               JMP     $


                       







TXDATA
               _BANK   BANK7
               MOV     RS232DATA,W
               MOV     COMCOUNTER,#$08
                ;START BIT            
               CLRB    RS232TX                         ;   1          
               MOV     WCOUNTER,#250                   ;   COMW1           DJNZ    WCOUNTER,COMW1                  ;1000
               MOV     WCOUNTER,#250                   ;   COMW1A          DJNZ    WCOUNTER,COMW1A                 ;1000
               MOV     WCOUNTER,#150                   ;
COMW1B          DJNZ    WCOUNTER,COMW1B                 ; 600
               NOP                                     ;   1
               NOP                                     ;   1
               NOP                                     ;   1

                ;BIT 0 TO 7
COMLOOP         SB      RS232DATA.0                     ;   -
               CLRB    RS232TX                         ;   -
               SNB     RS232DATA.0                     ;   -
               SETB    RS232TX                         ;   4

               MOV     WCOUNTER,#250                   ;   COMW2           DJNZ    WCOUNTER,COMW2                  ;1000
               MOV     WCOUNTER,#250                   ;   COMW2A          DJNZ    WCOUNTER,COMW2A                 ;1000
               MOV     WCOUNTER,#149                   ;    COMW2B          DJNZ    WCOUNTER,COMW2B                 ; 596

               RR      RS232DATA                       ;   1
               DJNZ    COMCOUNTER,COMLOOP              ;  4/2

                ;STOP BIT
               SETB    RS232TX                         ;   1          
               MOV     WCOUNTER,#250                   ;   COMW3           DJNZ    WCOUNTER,COMW3                  ;1000
               MOV     WCOUNTER,#250                   ;   COMW3A          DJNZ    WCOUNTER,COMW3A                 ;1000
               MOV     WCOUNTER,#175                   ;   COMW3B          DJNZ    WCOUNTER,COMW3B                 ; 700
               RETP                                    ;   3


;__________________________________________________________;        
;
RXDATA          
;__________________________________________________________;

               _BANK   BANK7                           ;1 GOTO BANK0
               CLR     RXDAT                           ;1
               MOV     COMCOUNTER,#8                   ;2
POLL            SNB     RXPIN                           ;1 CHECK RA0 FOR START BIT
               JMP     POLL                            ;1/3 LINE STILL LOW        
               MOV     WCOUNTER,#250                   ;   RXCOMW3         DJNZ    WCOUNTER,RXCOMW3                        ;1000
               MOV     WCOUNTER,#87                    ;   RXCOMW3A        DJNZ    WCOUNTER,RXCOMW3A               ;
               SNB     RXPIN                           ;1
               JMP     POLL                            ;3 FALSE START BIT
GET_NEXT_BIT
RXCOMW3XX       DJNZ    WCOUNTER,RXCOMW3XX              ;1000
               MOV     WCOUNTER,#250                   ;   RXCOMW3AXX      DJNZ    WCOUNTER,RXCOMW3AXX             ;1000
               MOV     WCOUNTER,#175                   ;   RXCOMW3BXX      DJNZ    WCOUNTER,RXCOMW3BXX             ; 700
               SNB     RXPIN                           ;1
               SETB    C                               ;1
               SB      RXPIN                           ;1
               CLRB    C                               ;1        
               RR      RXDAT                           ;1
               DECSZ   COMCOUNTER                      ;1/2
               JMP     GET_NEXT_BIT                    ;1

;RXCOMW3X       DJNZ    WCOUNTER,RXCOMW3X               ;1000
;               MOV     WCOUNTER,#250                   ;   ;RXCOMW3AX      DJNZ    WCOUNTER,RXCOMW3AX              ;1000
;               MOV     WCOUNTER,#175                   ;   ;RXCOMW3BX      DJNZ    WCOUNTER,RXCOMW3BX              ; 700
               MOV     W,RXDAT        
               RETP                                    ;2



       END



part 3 20496 bytes content-type:image/jpeg; (decode)


part 4 136 bytes
--
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email @spam@listservKILLspamspammitvma.mit.edu with SET PICList DIGEST in the body


2002\07\20@142551 by PSL

flavicon
face
Hi James
Thanks for you advices

Now the chip is not hot but
It seem that the result is still the same there is still a lot of false
trigger, have you experience this before?
i have tried with dip switch and it seems ok but when when link up with
another SX such problem occur?


----- Original Message -----
From: "James Newton. Admin 3" <KILLspamjamesnewtonKILLspamspampiclist.com>
To: "PSL" <RemoveMEpslnTakeThisOuTspamstarhub.net.sg>
Sent: Thursday, July 18, 2002 6:39 AM
Subject: RE: [SX]: Interrupts for SX


> I've reviewed the code several times and I honestly don't see any problems
> other than the pins that are being set as inputs. IF the pins set for
input
> are not connected to anything, they could easily be oscillating rapidly
when
> the interrupt routine sends data via the TX routine.
>
> Try this: Change each unconnected pin from an input to an output. Check
the
> wiring of the connected pins for shorts (if they are outputs) or opens (if
> they are inputs) with the chip removed.
>
> Also, the hardware you are using to transmit data from the SX to the PC
via
{Quote hidden}

> {Original Message removed}

2002\07\21@074856 by PSL

flavicon
face
Hi
Final got it to work but I do not know whether the way I have use is the
correct way

What I did is that I disable the Interrupt when I am in the ISR and enable
it before exiting the ISR.
After doing this every thing is ok and there is no false trigger
but is this the correct way?

Regards


----- Original Message -----
From: "PSL" <TakeThisOuTpslnEraseMEspamspam_OUTSTARHUB.NET.SG>
To: <RemoveMEPICLISTspamTakeThisOuTMITVMA.MIT.EDU>
Sent: Sunday, July 21, 2002 12:42 AM
Subject: Re: [SX]: Interrupts for SX


{Quote hidden}

problems
> > other than the pins that are being set as inputs. IF the pins set for
> input
> > are not connected to anything, they could easily be oscillating rapidly
> when
> > the interrupt routine sends data via the TX routine.
> >
> > Try this: Change each unconnected pin from an input to an output. Check
> the
> > wiring of the connected pins for shorts (if they are outputs) or opens
(if
{Quote hidden}

> > {Original Message removed}

More... (looser matching)
- Last day of these posts
- In 2002 , 2003 only
- Today
- New search...