www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Tipke na ADC vhod
Pojdi na stran Prejšnja  1, 2, 3
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Periferija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pet Nov 10, 2006 2:15 pm    Naslov sporočila:   Odgovori s citatom

Glitch je napisal/a:
Kako to mislis: "fina v teoriji".

Moja vezava ne potrebuje toliko uporov in deluje tudi, ce pritisnes katerokoli kombinacijo tipk (vseh moznih je tukaj 16).


Ti predpostavljas, da se vsi signali takoj (v neskoncno kratkem casu po pritisku/spustu tipke) postavijo na zeljeno vrednost in tram umirijo, da so vsi upori idealni, itd. Vse potencialne tezave je v praksi potrebno kar najbolj minimizirati, to je pa tezje narediti z upori razlicnih vrednosti (kjer grejo tudi odkloni pri izdelavi lahko v razlicni smeri, za razliko od ene serije enakih uporov, kjer so ponavadi v isto smer), tezje je najti tocno razmerje uporov (sploh ce je vmes vec tipk kot le stiri) - to velja tudi ob izbiri iz E96 ...

V teoriji so tako 1K, 2K, 4K, 8K, 16K, 32K itd. +/- enaka relativna napaka vedno v isto smer upori fina zadeva, v praksi pa ne obstajajo.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Pet Nov 10, 2006 2:47 pm    Naslov sporočila:   Odgovori s citatom

Khm...

Se enkrat, pa upostevam se napako upornosti. Vhodna impedanca AD je vecja 1000 ohmov.

Standardna lestvica (1000, 2000, 3900, 8200) in zaokrozeno na 4 decimalke. Za 1500 sem res malce prehiteval.

Vse tipke:
- 2,1535 V
R4 odprt:
- 2,1028 V

Napaka pri R4 (namesto 8200 dam 9100, kar znese 12% razlike !!!)
Vse tipke:
- 2,1487 V

Worst case razlika je tako: 0,0459 V

10 bitni AD z odbitima spodnjima bitoma ima resolucijo ca. 13mV. Mar se ti ne zdi, da je tudi ob taki drasticni spremembi upornosti dovolj za detekcijo spremembe. Saj misliva enako in ne zahtevava absolutne tocnosti ampak rezultate znotraj nekih vrednosti, ki za 12% spremembo enega upora plesejo znotraj 4 bitov (dva odbita plus dva za spremembo upornosti)?

Kot sem rekel, ce 10 bitni AD z omejeno resolucijo na 8 bitov ni zmozen takih meritev in da smo se bolj prepricani, z dodatnim povprecenjem rezultatov, pa ...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Pet Nov 10, 2006 2:53 pm    Naslov sporočila:   Odgovori s citatom

Sokrat je napisal/a:

Ti predpostavljas, da se vsi signali takoj (v neskoncno kratkem casu po pritisku/spustu tipke) postavijo na zeljeno vrednost in tram umirijo, da so vsi upori idealni, itd.


Opa! To kaj jaz predpostavljam? To ti predpostavljas, ne jaz. Kje pise o tej predpostavki: hitrost signalov? Govoris o popolnoma drugih stvareh.

Prosim no.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pet Nov 10, 2006 3:13 pm    Naslov sporočila:   Odgovori s citatom

To je bila premisa, postavljena na vrhu teme (ne gre za hipoteticne modele fizike za osnovno solo, ki naj bi delovala na papirju, ampak delujoco izvedbo, ki naj bi funkcionirala v praksi - vsaj tako sem jaz razumel vprasanje). Ce ponudis resitev, tako premiso implicitno sprejmes, mar ne ?

Poanta mojih pripomb je v tem, da namesto dveh bitov odmeta (od 8-bitnega odcitka) dobis z vrednostmi uporov blizje idealnim tudi precej boljsi odcitek (ranga manj kot 1 bit). Napako uvedes tako z vrednostmi, ki so ze vnaprej razlicne od idealnih, potem pa se z razlicno napako med serijami uporov (za kar bi sicer moral opraviti matching). Tako prihranjeno dodatno locljivost lahko uporabis za kontrolo in/ali odpravo napak, do katerih bo zaradi prej omenjenih vplivov prihajalo.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Pet Nov 10, 2006 3:15 pm    Naslov sporočila:   Odgovori s citatom

Upore vrednosti 1 2 4 8..... se da lepo sestaviti iz normalnih vrednosti, vezano v serijo (dva upora). Na vezju ali na ceni se dodaten upor po bitu skoraj ne pozna.

2k= 1k +1k
4k= 2k2 + 1k8
8k= 4k7 + 3k3
16k= 15k+1k
32k= 22k+10k
in tako naprej

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Pet Nov 10, 2006 3:41 pm    Naslov sporočila:   Odgovori s citatom

Sokrat, ce bi dobro prebral sporocila v tej temi bi videl:
- prva shematika je slaba, kaj slaba, popolnoma napacna, zato sem podal pravilno, nesmiselno se je pogovarjati o napacni shematiki,
- vezje deluje tudi z razlicno kombinacijo pritiskov,
- neobcutljiva na tolerance uporov, celo vec, dovoljuje upornosti izven toleranc
- podal sem standardne upornosti,
- 2 bita odbijes od 10 bitov in ne 8 bitov (v zadnjem sporocilu si napisal "namesto dveh bitov odmeta (od 8 bitnega odcitka). Ta odbitek je posledica predpostavke, da je 10bitni AD bolj slabe sorte in sumi v rangu 2 bitov (to se da resiti s kaksnim povprecenjem, ampak ok).


Se enkrat sem preveril razporeditev uporov, ki ima z R5 = 1000 nelinearno karakteristiko. Z zmanjsanjem R5 (recimo 150 ohmov), karakteristika postane linearna (prej mocno nelinearni potek), zmanjsa se tudi vpliv vhodne impedance AD pretvornika in suma. Amplitude so res majhne glede na mozen razpolozljiv obseg, vendar popolnoma v okviru merljivosti, saj je korak med pritiski bolj nedvoumno locljiv.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Pet Nov 10, 2006 5:07 pm    Naslov sporočila:   Odgovori s citatom

No saj ni tako hudo...
Če primerjamo obe vezji hitro vidimo pri čem smo: Razz

R-2R je linearna in ima resolucijo pri 4 tipkah 1/16, torej en korak je 6.25% merilnega območja.
Druga verzija pa, če upoštevamo zaradi nelinearnosti najslabšo kombinacijo (51mV) ima zaradi nelinearnosti najmanjši korak le 1.5% merilnega območja.

Pri R-2R verziji preprosto vzamemo le prve 4 bite meritve ADCja in dobimo kombinacijo! Pri drugi verzijo pa moramo narediti tabelo s 17 vrednostimi in rezultat primerjati glede na vrednosti v tabeli (računanje je preveč zamudno).

Če upoštevamo toleranco uporov teoretično izgubimo še 0.5% merilnega območja. Upoštevati moramo še morebitno spremembo upornosti pri spajkanju, staranje, napako ADCja, temperaturno odvisnost, motnje...

Doma na mizi obe verziji seveda delujeta. Pa vendar je vezje R-2R veliko bolj zanesljivo. Če bi sedaj naredili 1000 enih in drugih vezij in spremljali njihovo zgodovino bi hitro videli razliko v realnem zivljenju. Recimo, da imaš takšno tasteturo zelo veliko v rokah, tako kot TV daljinec. Prah, umazanija in pot z dlani bi imela veliko večji vpliv na samo delovanje.

Moj zaključek je, da ne bi uporabil niti ene niti druge variante vezja, temveč bi rajši uporabil mikrokontroller z večjim številom nogic.Wink

LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igor_k
Član
Član



Pridružen-a: Pon 19 Jul 2004 11:44
Prispevkov: 1011
Aktiv.: 4.27
Kraj: Rače

PrispevekObjavljeno: Pet Nov 10, 2006 5:27 pm    Naslov sporočila:   Odgovori s citatom

GJ je napisal/a:
Moj zaključek je, da ne bi uporabil niti ene niti druge variante vezja, temveč bi rajši uporabil mikrokontroller z večjim številom nogic.


Applause Applause
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Pet Nov 10, 2006 6:29 pm    Naslov sporočila:   Odgovori s citatom

Jur: tvoje stevilo uporov je priblizno enako R-2R, tezava s toleranco pa ostane.

Glitch: nisva se razumela - ti vrzes stran od 10-bitnega odcitka 4 spodnje bite (oz. 2 od osmih), ker namerno uvedes tako veliko napako z izbiro komponent.

Kakorkoli ze ... si zmagal, ti kar naredi po svoje.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Pet Nov 10, 2006 11:48 pm    Naslov sporočila:   Odgovori s citatom

igor k. je napisal/a:
GJ je napisal/a:
Moj zaključek je, da ne bi uporabil niti ene niti druge variante vezja, temveč bi rajši uporabil mikrokontroller z večjim številom nogic.


Applause Applause



Ok na tole bom vsekakor odgovoril. V ostalo debato se nisem vtikal. Prilagam tudi programček, ki sem ga na hitro spisal ter poskusil na testni plošči. Uporabil sem PIC16F88 ter 4 tipke s katerimi vklapljkam ter izklapljam dva izhoda. Vzeti so klasični upori, ki sem jih vzel s predačka, pri testiranju sem jih tudi zamenjal z drugimi. (zaradi morebitnega odstopanja) a je stvar delala brez spremembe programa. Tipke sem poskusil dati tudi na ca 10m konec kabla. Zadeva dela brez težav.
Osebno vidim pri taki vezavi tudi kar nekaj prednosti. Seveda zavisi, zakaj bo zadeva uporabljena. Vzamimo recimo, da bomo ta način uporabili, za povezavo med alarmno centralo ter tipkovico. Vemo, da mora biti tipkovnica v vsakem primeru oddaljena od centrale, zaradi morebitne sabotaže. V mojem primeru bi za povezavo porabil le dve (3 žice - v tem primeru bi imel tudi kontrolo sabotaže) Povezavo bi brez težav spravil 10-20 metrov neposredno na mikrokontroler brez kakih vmesnikov. V primeru, da bi želel tipke čitati digitalno, bi v najboljšem primeru (12 tipk) porabil 7 pinov. V tem primeru bi bilo potrebno tipke čitati sekvenčno. Vsak, ki je to kadarkoli poskušal pa ve, da se zaradi same kapacitivnosti vodnikov dokaj hitro pojavijo težave, če je razdalja malo daljša. Poleg tega je tak način bisveno bolj občutljiv na motnje.

Koda:


;------------------------------------------
;testni program za 16F88
;ad vhod kot uporabljen za priklop tipk
;
;------------------------------------------






;
;                                VCC
;                                 +
;                                 |
;                                .-.
;                                | |
;       .-------------.          | |10k
;       |             |          '-'
;       |             |           |
;       |             |           |
;       |             | RA0       |
;       |             +-o---------+-----+----+----+----+
;       |             |                 |    |    |    |
;       |             |RB0              |    |    |    |
;       |             +-------+         o |  o |  o |  o |
;       |             |RB1    |           |=|  |=|  |=|  |=|
;       |             +--+    +         o |  o |  o |  o |
;       |             |  V -> V ->      |    |    |    |
;       |             |  -    -        .-.  .-.  .-.  .-.
;       |             |  |    |        | |  | |  | |  | |
;       |             |  |    |        | |  | |  | |  | |
;       |             | .-.  .-.       '-'  '-'  '-'  '-'
;       '-------------' | |  | |    10k | 6k8| 4k7| 2k7|
;                       | |  | |        +----+----|----+
;                       '-'  '-'                 ===
;                        |    |                  GND
;                        +----|
;                            ===
;                            GND













   list P=16F88
   
#include "p16f88.inc"

#define UPOR1 .128
#define UPOR2 .105
#define UPOR3 .83
#define UPOR4 .55


         __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_ON & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF & _XT_OSC



   cblock 0x20
   TMP,WTMP,STMP,AD_REZULTAT
   endc
   
   
   
   org 0x0
   goto GLAVNI
   org 0x04
   goto PREKINITEV
   
   org 0x05   
;--------------------------------------
;prekinitvena rutina
;--------------------------------------
PREKINITEV
   movwf WTMP
   swapf STATUS,W
   movwf STMP
   clrf STATUS
   btfsc INTCON,TMR0IF
   goto TMR0_IRQ
KONEC_P
   swapf STMP,W
   movwf STATUS
   swapf WTMP,f
   swapf WTMP,W
   retfie
   
TMR0_IRQ
   bcf INTCON,TMR0IF
   call AD_MERITEV
   movwf AD_REZULTAT   
   goto KONEC_P

;----------------------------
;procedura izvede AD meritev
;----------------------------
AD_MERITEV
   bsf ADCON0,GO
   btfsc ADCON0,NOT_DONE
   goto $-1
   movf ADRESH,w
   RETURN
   
   
GLAVNI

   bsf STATUS,RP0
   clrf TRISB
   movlw .1
   movwf ANSEL      ;RA0 analogni vhod
   movlw b'11000010'
   movwf OPTION_REG   ;preddelilnik za TMR0 z notranjim virom clocka 1/16
   bcf STATUS, RP0
   movlw b'01000001'
   movwf ADCON0   ;vklop AD meritve na kanalu 0       
   movlw b'10100000'
   movwf INTCON
   clrf PORTB
   movlw 0xff
   movwf AD_REZULTAT
   call PREVERI_TIPKE
   goto $-1

;----------------------------------
;procedura preverja stanje ADvhoda
;----------------------------------
PREVERI_TIPKE
   movlw 0xff
   subwf AD_REZULTAT,w
   btfsc STATUS,Z      ;je tipka sploh pritisnjena?
   return            ;ne
   movlw UPOR4
   call PREVERI
   btfsc STATUS,C
   GOTO TIPKA4
   movlw UPOR3
   call PREVERI
   btfsc STATUS,C
   GOTO TIPKA3
   movlw UPOR2
   call PREVERI
   btfsc STATUS,C
   GOTO TIPKA2
   movlw UPOR1
   call PREVERI
   btfsc STATUS,C
   GOTO TIPKA1   
KONEC
   movf AD_REZULTAT,w
   sublw 0xff
   btfss STATUS,Z
   goto KONEC
   return
   
TIPKA1
   bsf PORTB,0
   goto KONEC      
TIPKA2
   bcf PORTB,0
   goto KONEC         
TIPKA3
   bsf PORTB,1
   goto KONEC
TIPKA4
   bcf PORTB,1
   goto KONEC
               
   

;--------------------------------------
;procedura preveri, če stanje
;doblejno v W ustreza stanju izmerjenem
;stanju
;procedura vrne postavljen C bit če
;če rezultat usteza
;--------------------------------------
PREVERI
   movwf TMP
   decf TMP,w
   subwf AD_REZULTAT,w
   btfss STATUS,C
   return         ;rezultat je manjsi od dobljenega v W
   incf TMP,f
   movf AD_REZULTAT,w
   subwf TMP,w
   return
   
      
   end   ;EOF


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Sob Nov 11, 2006 10:53 am    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
Ok na tole bom vsekakor odgovoril. V ostalo debato se nisem vtikal. Prilagam tudi programček, ki sem ga na hitro spisal ter poskusil na testni plošči.


Nihče ni trdil, da se takšno vezje ne deluje. Za moje pojme pa deluje premalo zanesljivo.
Če bi že delal odaljeno tasteturo mi 4 kombinacije verjetno ne bi zadostovale.
Torej bi rabil vsaj še 2 dodatni žici za skupaJ 12 tipk. Pravtako je dobro, da tisti ki tipka vsaj sliši svoj pritisk, pa tudi osvetlitev tastature v mraku je dobrodošla.
Vsekakor bi za tastaturo jaz raje vzel manjši mikroprocesor z UART-jem. Rabil bi le 3 vodnike: 5V, GND in komunikacija. Komunikacija bi bila halfdupleks.

Aha še to...
Vezje ne more delovati zadovoljivo, ker...
Ima tvoj programček v prekinitveni rutini skrit neugoden bug!

Koda:

PREKINITEV
   movwf WTMP                ;Shranimo W register toda v katero banko ???
   swapf STATUS,W            ;Swap-amo Status register v W register
   movwf STMP                ;RP0 in RP1 morajo biti obvezno zbrisana preden shranimo W
   clrf STATUS               ;Prepozno W registe je bil shranjen v eno izmed 4 bank


Delovalo bi le v primeru, da je adresa registrov WTMP in STMP večja ali enaka od 070h. Ravno iz tega namena so na adresi od 070h pa do 07Fh registri preslikani v vse banke.

Ostalo nisem več preverjal..

LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Nov 11, 2006 12:08 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
Torej bi rabil vsaj še 2 dodatni žici za skupaJ 12 tipk. Pravtako je dobro, da tisti ki tipka vsaj sliši svoj pritisk, pa tudi osvetlitev tastature v mraku je dobrodošla.

Tipk bi brez skrbi lahko obesil gor kakih 50. V danem primeru se preverja -+/1 vrednost od idealne vrednosti.
Citiram:

Delovalo bi le v primeru, da je adresa registrov WTMP in STMP večja ali enaka od 070h. Ravno iz tega namena so na adresi od 070h pa do 07Fh registri preslikani v vse banke.


Tole drži. Gre za napako, ki lahko naredi kar nekaj sivih las. V danem primeru zadeva sicer dela čisto normalno, kajti po vklopu prekinitve sem skozi v bank0. Običajno napovem dve seriji registrov. Prva se začne na 0x20... druga na 0x70. Tole je bilo napisano čisto rutinsko seveda nepravilno v koliko bi v nadaljevanju koristil kake registre z drugih bank.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.94
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sob Nov 11, 2006 12:30 pm    Naslov sporočila:   Odgovori s citatom

Prilagam še del sheme enega montitorja na katerga sem naletel pred časom, ter je imel na zelo podoben način rešeno komunikacijo med tipkami ter CPU.


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Sob Nov 11, 2006 4:58 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal/a:
Prilagam še del sheme enega montitorja na katerga sem naletel pred časom, ter je imel na zelo podoben način rešeno komunikacijo med tipkami ter CPU.


No saj to je to o čemer govorim.. Very Happy
Avtor sheme bi lahko, če bi bilo po vaše vse tipke krmilil preko enega ADC vhoda.
Privarčeval bi na enem enem pinu in 100p kondenzatorju. Vendar se je očitno zavedal kaj dela in je raje uporabil dva pina.
Čeprav kot vidim tole vezje ne bi šlo skozi EMC teste saj bi skoraj 100% (odvisno od izvedbe tipk) padlo na testu 'elektrostatic discarge'. Po standardu IEC801-2 mora prenesti elektronika +-8KV statičnega preboja na ohišje naprave oziroma tipko. Laughing


Aha še tole Silvo...
Kar se tiče takšnih nadležnih napakic, ki si jo storil je to zato ker še vedno uporabljaš MPASM absolute code model namesto relocated code model.
Res da moraš uporabljati linker skript, ki ga moraš predhodno popraviti da sploh dela ker so priloženi v večini hroščati.
Toda, ko napišeš enkrat delujoč makro ga potem lahko uporabljaš v vseh družinah PIC16XXX. Hitro in zanesljivo!
Spodaj napisan primer kode pove vse..

Koda:
   
   list r = dec                  ;Desetiško je prednastsvljeno
   processor xxxxxxx
   include "P16xxxxx.inc"

   __config _HS_OSC & _WDT_ON


         udata    0x20
Tmp         res   1

;
;MACRO INTERRUPTS FOR PIC16XXX
;
         udata_shr
MemW       res   1
MemStatus  res   1

InitInt    macro
   movwf   MemW          ;Save MemW; MemW is present in all memory banks
   movfw   STATUS         ;Save status in W
   clrf    STATUS          ;Set bank bits to 0
   movwf   MemStatus      ;Save Status
   endm
;
ExitInt    macro
   movfw   MemStatus
   movwf   STATUS         ;Restore Status
   swapf   MemW,f
   swapf   MemW,w         ;Restore W
   retfie
   endm
;
;eMACRO INTERRUPTS FOR PIC16XXX
;   
;
;      Program start
;
Reset_         code 0x0000
   clrf   INTCON
   clrf   STATUS
   clrf   Tmp      
   goto   InitMCPU
;
Int_           code 0x0004
   InitInt        ;macro   
;
;   Tvoja interrupt koda
;

   ExitInt        ;macro   
               code
InitMCPU
;
;   Tvoja programska koda
;
...


LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Periferija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2, 3
Stran 3 od 3

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group