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 

RA4 na 16F628A

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Ned Jun 11, 2006 6:10 pm    Naslov sporočila:  RA4 na 16F628A Odgovori s citatom

Imam težavo z RA4 na 16F628A. Po spodaj pripeti inicijalizaciji in stalnemu SETiranju v zanki mi ga kot izhod nikakor ne postavi na stalni HI, ampak samo utripa z zelo kratkimi HI impulzi frekvence 255Hz.
Uporabljam notranji oscilator in pull-up upor na RA4.

Sumim da je nekaj v zvezi s TMR0 vendar mi ne uspe ugotoviti vzroka.

Koda:

   __CONFIG _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_ON & _LVP_OFF & _INTOSC_OSC_NOCLKOUT

   ........

   bcf   STATUS,RP0   
   movlw   B'00000111'
   movwf   CMCON
   bsf   STATUS,RP0
   movlw   B'00000000'   
   movwf   TRISA
   movlw   B'11101111'   
   movwf   TRISB
   movlw   b'01000011'
   movwf   OPTION_REG
   bcf   STATUS,RP0
   movlw   b'10100000'
   movwf   INTCON

   ........

Zanka
   bsf   PORTA,4
   goto   Zanka

   ........


Vsi ostali vhodi/izhodi na RA in RB portih delujejo brezhibno. Kakšna ideja?
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: Ned Jun 11, 2006 6:21 pm    Naslov sporočila:   Odgovori s citatom

Pin RA4 je tipa odprt kolektor. Recimo, če boš dal na njega ledico preko upora proti Vdd bo le ta gorela ob instrukciji BCF PORTA,4
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Ned Jun 11, 2006 6:29 pm    Naslov sporočila:   Odgovori s citatom

Silvo, na RA4 imam ravno zaradi odprtega kolektorja vezan pull-up upor kot sem že prej omenil. Kljub temu in ukazu BSF PORTA,4 mi izhod utripa - je skoraj stalno na LOW. Confused
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: Ned Jun 11, 2006 6:37 pm    Naslov sporočila:   Odgovori s citatom

Kako ti utripa? Imaš gor ledico ali to zaznaš z meritvijo? Če je vmes ledica kam jo imaš vezano med pin ter minus ali zaporedno z pullup uporom. Kaka vrednost je pullupa? (pazi da ti tok ne preseže tam 25mA.)
_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Ned Jun 11, 2006 6:48 pm    Naslov sporočila:   Odgovori s citatom

Na RA4 imam iz +5v vezan upor 4k7. Stanje na pinu pa merim z osciloskopom in logik-testerjem. Hardware je 100% v redu.

Problem je gotovo v softweru, čeprav po zagonu - inicijalizaciji programa ne spreminjam nobenih SFRjev več.
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: Ned Jun 11, 2006 6:54 pm    Naslov sporočila:   Odgovori s citatom

Ne vidim kaj bi bilo narobe. Confused. Imam občutek, da se ti procesor resetira. Je config bite pobral pravilno? Da ti to slučajno ne dela WDT? (preberi sprogramiran procesor)
Kako je z reset pinom? Ga imaš na + ?

(bom probal ta del kode - poročam)

_________________
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: Ned Jun 11, 2006 7:52 pm    Naslov sporočila:   Odgovori s citatom

Očitno zaoscilira. Shocked Enako se je zgodilo tudi meni. Daj manjši upor (1k) pa bo zadeva delala. Sicer se sam načeloma, če je le možno pina RA4 kot izhod izogibam.

Tudi tole
Koda:
_INTOSC_OSC_NOCLKOUT
prevajalnik ne prežveči. Prav je
Koda:
_INTRC_OSC_NOCLKOUT

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



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Ned Jun 11, 2006 8:45 pm    Naslov sporočila:   Odgovori s citatom

Tudi jaz se bom RA4 v bodoče izogibal Evil or Very Mad ... mi je zapravil kar nekaj ur. Very Happy
Upora pa ne smem zmanjševat, ker sem imel na pin vezano bazo tranzistorja in bo bazni tok prevelik. Bom raje prevezal - popravil vezje in uporabil RA0, ki je še prost in deluje točno tako kot sem predvidel v programu že za RA4.

_INTOSC_ je pri meni pravi ukaz. Verjetno uporabljava malce drugačni P16F628A.INC datoteki.

Silvo, hvala ker si preizkusil ... drugače bi še naprej Think in Brick wall
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
s56al
Član
Član



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 788
Aktiv.: 3.33
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Tor Jul 11, 2006 12:35 pm    Naslov sporočila:   Odgovori s citatom

Iztok je napisal/a:
Upora pa ne smem zmanjševat, ker sem imel na pin vezano bazo tranzistorja in bo bazni tok prevelik.


Pozdravljen Iztok,

Če prav razumem, si bazo T vezal direktno na RA4, se pravi, ko si na RA4 postavil visoko stanje, je bilo na pinu ca. 0,7V?

Tudi če v tvojem primeru to ni bil razlog težav, se je taki vezavi pametno izogibati. Pri PIC kontrolerju (in tudi veliko drugih družinah) so komande za delo z dvosmernimi I/O porti (tudi one, ki postavljajo samo en bit, npr. ukaz "bsf porta,4"), tipa READ/MODIFY/WRITE na celem port data registru. To pomeni, da če bi v programu spreminjal stanje na recimo pinu RA0 s komando "bcf porta,0", bi CPU prečital cel porta data register, spremenil stanje na RA0 in zapisal nazaj. Ker pa imaš na RA4, ko je ta postavljen v visoko stanje, dejansko le ca. 0,7V, CPU zazna na tej nogici nizko stanje in ga po izvršeni "read" in "modify" ukazni sekvenci zapiše nazaj v izhodni data register na mesto RA4 kot nizko stanje.

Na kratko, sprememba stanja na kateremkoli drugem pinu porta A z ukazom bcf ali bsf, bo pri taki vezavi vedno postavila v nizko stanje tudi izhod RA4.

Tudi meni je pred leti, ko sem se PICov še učil, podobna težava vzela kar mnogo uric. Pri tem sem se naučil, da je pred uporabo mikričev daljnoročno vedno najmanj potratno podrobno prebrati datasheet, tudi drobni tisk Smile. V PIC16F628 datashetu je zadeva opisana v poglavju 5.1 - "Port A and Tris A registers" na strani 29 ter poglavju 5.3.1 - "Bidirectional I/O ports, programming considerations" (stran 42).

LP, Sandi

_________________
73 de s56al
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Iztok
Član
Član



Pridružen-a: Pet 08 Okt 2004 0:55
Prispevkov: 4974
Aktiv.: 21.00
Kraj: LJ

PrispevekObjavljeno: Tor Jul 11, 2006 3:09 pm    Naslov sporočila:   Odgovori s citatom

@s56al, imaš popolnoma prav. Hvala za obrazložitev.

Sem bil malo površen in nisem bral drobnega tiska. Pač nisem pričakoval da program kontrolira input status pina, ki je definiran kot izhod. Pri drugih podobnih I/O zadevah tega prej nisem še nikoli videl.

Res sem vezal bazo tranzistorja direkt na RA4 ki je imel hkrati še pull-up upor. Ko sem kasneje dal pred bazo tranzistorja še 3v3 zenerco je stvar delovala BP.
Vseeno bom od te izkušnje naprej uporabljal RA4 samo še kot input ali pa kot pull-down output za kakšno LEDico ali relejček z majhno porabo kot je že enkrat omenil Silvo.
Nazaj na vrh
Skrit 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 -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
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