 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 11:49 am Naslov sporočila: pic12f675 |
|
|
Pozdravljeni, zanima me, kako naj vpišem program v pic 12f675, da ne bom pica uničil zaradi tistega internega oscilatorja? In kakšno funkcijo ima sploh to?
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 11:54 am Naslov sporočila: |
|
|
Klemen,
Pica z ustreznim programatorjem ne moreš uničit. Nisem pa razumel vprašanja glede internega oscilatorja. Interni oscilator zamenja zunanji kristalni ali RC oscilator. S tem prihraniš 1 ali 2 pina. Slabost internega oscilatorja je, da ni tako točen kot kristal. Dela s 4Mhz.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 12:27 pm Naslov sporočila: |
|
|
Zanima me kaj je z kalibrirno vrednostjo za interni RC. Ko mikrokontroler programiraš moraš vpisati baje to vrednost.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 12:37 pm Naslov sporočila: |
|
|
Kalibrirna vrednost oscilatorja je na zadnji lokaciji programskega polnilnika. Je tovarniško določena. Zato je dobro, da se ta vrednost prepiše preden se pic briše. Enako velja za vse /JW (okenske pic-e) ki imajo interni oscilator.
Kajti pri brisanju z UV svetlobo se ta vrednost izbriše. Pri picih z flash programskem polnilnikom pa je to odvisno od samega softwera programatorja. Nekateri obrišejo cel programski polnilnik. Tudi, če se to pobriše ter tovarniško vpisane vrednosti ne poznamo pic ni uničen. Vpisan je namreč le podatek, katerega moramo na začetku programa softwersko(če želimo res najbolj točno vrednost internega oscilatorja) vpisati v klaibrirni oscilator. Pri večini aplikacij kjer ne potrebujemo res točne ure to sploh ni potrebno.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 2:30 pm Naslov sporočila: |
|
|
no, pa še nekaj, kam pa podatke izpisujš, ko jih hočeš na izhodu? Na GPIO?
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 2:35 pm Naslov sporočila: |
|
|
Klemen,
Menim, da nihče nima telepatskih sposobnosti, da bi razumel kaj želiš ?
Če želiš odgovor napiši temelito vprašanje.
Tole ni podobno kakemu vprašanju - sam tega ne razumem ?
Citiram: |
no, pa še nekaj, kam pa podatke izpisujš, ko jih hočeš na izhodu? Na GPIO? |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 2:52 pm Naslov sporočila: |
|
|
Oprosti.
Glej, na pic12f675 imam priključeno na pin 5 (gp2) led diodo, vendar, ko napišem programček, mi stvar ne deluje. Zato me zanima, ali koda za izpis na gp2 zgleda takole: movlw b'00000100' movwf GPIO ?
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 3:07 pm Naslov sporočila: |
|
|
Tisto je napisano prav. A imaš pin GPIO2 definiran kot digitalni izhod. Datasheta nimam pred sabo tako, da ne vem na pamet kaj vse visi na tem pinu. Očitno pa, da nekaj ni prav inicializirano za digitalni izhod. Ne vem na pamet a "tiči" na tem pinu mogoče še reset - če potem ta pin nima možnosti konfiguracije izhoda. Poglej tudi konfiguracijo AD vhodov. Če ne bo šlo sporoči bom datashet pogledal.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 3:20 pm Naslov sporočila: |
|
|
Kot programček sem napisal naslednjo kodo:
bsf STATUS,RP0
clrf ANSEL
movlw 0x00
movwf TRISIO
Start
movlw 0xff
movwf GPIO
konec goto konec
Samo to noče delovati. Na pinu GP2 pa pise: gp2/an2/t0cki/int/cout
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 3:27 pm Naslov sporočila: |
|
|
Sem zdaj datasheet pogledal:
Na GPIO "visi" GP2/AN2/T0CKI/INT/COUT po resetu je definiran kot visokoomski AD vhod. Torej ga moraš najprej definiranti kot digitalni pin.
Register CMCON (19h) postavi bite CM2:CM0: "Comparator Mode bits"
Opis: |
|
Velikost datoteke: |
9.79 KB |
Pogledana: |
5817 krat |

|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Sre Feb 11, 2004 6:02 pm Naslov sporočila: |
|
|
Silvo, deluje!
Hvala za pomoc. Sedaj me pa se zanima, ali mogoce ves kako naj v istem integriranem vezju definiram A/D pretvornik, na enega izmed pinov? Recimo na GP1.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Feb 11, 2004 6:55 pm Naslov sporočila: |
|
|
Citiram: |
...ali mogoce ves kako naj v istem integriranem vezju definiram A/D pretvornik... |
seveda vem ... šalo na stan, Klemen najprej ti priporočam, da snameš z microchipove strani PDF za omenjen mikrokontroler - mislim tudi da je že na Filemanager , če ga ni ga bom pripel. Dal ti bom nekaj kratkih napotkov - če se bo kje zataknilo pa boš napisal.
Najprej izbereš v ADSEL AD kanal (ANS3:ANS0: Analog Select bits)
Ostalo se izvaja z ADCON0 registrom Izbereš referenčno napetost bit 6 VCFG
Izbereš način formata rezultata v registerih levo/desno zamikanje (bit 7 ADFM: A/D Result Formed Select bit) Izbereš kanal meritve (bit 3-2 CHS1:CHS0: Analog Channel Select bits) vklopiš AD meritveni blok (bit 0 ADON: A/D Conversion STATUS bit) izvedeš meritev (bit 1 GO/DONE: A/D Conversion Status bit)
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
klemen Član

Pridružen-a: Sre 01 Okt 2003 16:18 Prispevkov: 28 Aktiv.: 0.12 Kraj: Sežana
|
Objavljeno: Čet Feb 12, 2004 2:09 pm Naslov sporočila: |
|
|
Program za a/d meritev sem napisal takole:
MERITEV
bsf ADCON0,GO
btfsc ADCON0,GO
goto $-1
bsf ADCON0,ADON
bcf ADCON0,0
bsf STATUS,RP0
movf ADRESL,w
movwf AD_L
bcf STATUS,RP0
movf ADRESH, w
movwf AD_H
return
Ne vem pa ce to sigurno deluje, ker ne morem preizkusiti. Jdm programator mi noce vpisati vsebine v pic 12f675.
Ali mogoce ves, ali bi se lahko po kaksni formuli izracunalo izhodno kodo po a/d pretvorbi. To je misljena tista koda ki je po pretvorbi shranjena v ADRESL in ADRESH.
Jaz sem nekje dobil formulo, ki izgleda takole:
Output code = F.S. x (Vin/Vref)
Nimam pa pojma, kaj bi pomenilo F.S.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14673 Aktiv.: 61.95 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Čet Feb 12, 2004 4:15 pm Naslov sporočila: |
|
|
Klemen,
Kar se računanja tiče - sicer ni kaj posebej računat(seveda pa je potreben preračun, če bi želel izmerjeno vrednost nap. prikazati na displej )
Poglej na Filemanager
Pred časom sem tam pripel en digitalni voltmeter prav z tem pic-em. Gre za dvokanalen voltmeter Za prikaz je uporabljen LED displej (lahko 2x4 cifre)
2xSAA1064 ki dela na I2C. Priložena je tudi izvorna koda pisana v assemblerju.
Na kratko:
12F675 ima 10biten AD. Rezultat shranjuje v dva registra v katera se lahko shrane kot "levo" ali "desno" poravnan. Pri "levi" poravnavi imamo v ADRESH 8 bitni rezultat meritve ter še dva nizka bita v ADRESL. Pri desni poravnavi imamo pa 8nizkih bitov v ADRESL ter 2visoka v ADRESH. Najbolje pa, da pogledaš datasheet.
V prilogi pa za lažje razumevanje diagram 8 bitne AD pretvorbe.(16C711)
Opis: |
|
Velikost datoteke: |
37.72 KB |
Pogledana: |
23 krat |

|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
|
|
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: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|