PICBASIC monter prekidati za rukovanje?

N

nebisman

Guest
Hi friends:Može li mi netko pokazati kompletan primjer monter rukovanja razine prekid u PIC BASIC PRO.(Bilo bi sjajno ako je bio primjer s USART RX prekinuti, ali bilo je primjer vrlo zahvalan)

hvala unaprijed
Nebisman

 
pogledati na:
http://www.melabs.com/resources/samples.htm
postoji nekoliko uzorak koda o PBP ... uključujući korištenje ASM prekida u provedbi.

 
'Prekida u asemblerski jezik
'Uključiti LED on.Prekid na PORTB.0 (Njem) okrene LED off.
'Program čeka ,5 sekundi i pretvara LED leđa na.

vodio var PORTB.7

wsave var byte 20 $ sustav
'wsave1 var byte $ A0 sistem "potrebno za uređaje s RAM-a na bank1
'wsave2 var byte 120 $ sistem "potrebno za uređaje s RAM-a na bank2
'wsave3 var byte $ 1a0 sistem "potrebno za uređaje s RAM-a na bank3
ssave var byte bank0 sustav
psave var byte bank0 sustavGoto start 'Preskoči oko prekid rukovatelj

'Define prekid rukovatelj
define INTHAND Myint

'Skupština jezik prekid rukovatelj
ASM

; Spremi W, status i PCLATH registara, ako ne i ranije učinjeno
Myint movwf wsave
swapf STATUS, Z
clrf STATUS
movwf ssave
movf PCLATH, W
movwf psave

; Umetni prekid kod ovdje
, Spasiti i vratiti FSR i bilo koje druge evidencije koriste

Bcf _led; Ako prekinuti, isključivanje LED
Bcf INTCON, 1; Clear prekid flag

; Vraćanje spremljeni registri
movf psave, W
movwf PCLATH
swapf ssave, W
movwf STATUS
swapf wsave, F
swapf wsave, W

retfie; Povratak iz prekid

endasmstart: TRISB = $ 7f 'LED out, ostatak u
OPTION_REG = $ 7f 'Omogući PORTB pullups

INTCON = $ 90 'Omogući inte prekid

vodio = 1 'dovelo na

petlje: Ako je vodio = 1 onda petlja "Pričekajte ovdje dok LED je još uvijek na
'Ako mi se ovdje, LED je isključen
Pause 500 'Wait ,5 sekundi
Goto start 'Počni ispočetka (LED okrenuti leđa)

 

Welcome to EDABoard.com

Sponsor

Back
Top