Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

PIC16F676, konfigurace A/D převodníku
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: po listopad 12 2012, 7:21    Předmět: Citovat

Del hodiny číslom 8..a viac.
Daj celý asm, takto je ťažko poradiť. Možno banálna chyba s popletením "bank"
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
feliz_navidad



Založen: Oct 15, 2009
Příspěvky: 737

PříspěvekZaslal: po listopad 12 2012, 8:50    Předmět: Citovat

Technická poznámka: MPLAB ASM umí už hodně dlouho direktivu "BANKSEL". Je to mnohem pohodlnější , než nastavovat přímo bity ve STATUS registru. Navíc je to i nezávislé na MCU, neboť některé nové typy už nemají Register Bank Select bits ve STATUS.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: po listopad 12 2012, 10:03    Předmět: Citovat

Samo..., občas je dôležitý aj čas a priestor. Zaberie to dve inštrukcie, kde stačí jedna alebo žiadna. No výhodou je, že sa nestaráš..., ale pri dôslednej aplikácii tohoto pravidla aj na General Purpose Registers sa procesor ubankuje a pamäť za..rie BCF,BSF inštukciami.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fikes



Založen: Nov 15, 2005
Příspěvky: 70
Bydliště: Trutnov

PříspěvekZaslal: po listopad 12 2012, 11:00    Předmět: Citovat

Díky za rady, včera se mi podařilo nastavit interní oscilátor, takže mi inicializace displeje z mobilu už běží a vše se korektně zobrazuje. Bylo třeba nastavit
BANKSEL OSCCON
MOVLW b'01100010' ; 4MHz, interní oscilátor jako taktovací kmitočet
MOVWF OSCCON

Ted jde o to, zda se AD převodník spouští od taktovacího kmitočtu, tj. 4MHz a nastavení děličky má být 1/8 pro 2us či 1/16 pro 4us, či interního oscilátoru 8MHz.

Je zajímavé, že pokud jsem v měl nastaven v OSCCON jen interní oscilátor 4MHz, nefungovala inicializace a zobrazení na displeji, s parametrem použití int. osc. jako taktovacího to funguje. Jak se říká, stále se člověk učí a manuály se vyplatí občas studovat Smile .

Vytiskl jsem český manuál pro 16F88 a dnes opět provedu detailní kontrolu nastavení časů, bank a pod.

Pokud opět neuspěju, napíšu.
Zatím díky za rady na co se zaměřit, chyba je ve dvou částech, tj. spuštění AD převodu (na 99%) a stím související konfigurace časů a pod. Bez této procedury vše ostatní funguje.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: po listopad 12 2012, 13:50    Předmět: Citovat

Ak je to v rozsahu 1,6...6,4us to bude o.k. Takže tak i tak.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: po listopad 12 2012, 13:58    Předmět: Citovat

A hlavne rozdiely medzi F676 F88 si pozrieť...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fikes



Založen: Nov 15, 2005
Příspěvky: 70
Bydliště: Trutnov

PříspěvekZaslal: po listopad 12 2012, 21:19    Předmět: Citovat

Tak se nějak nedaří, nejde a nejde, už nevím kde hledat a co zkoušet.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út listopad 13 2012, 6:39    Předmět: Citovat

OSCCON máš nastavený s 01100010 na interný RC (4MHz). Pre externý XT musí byť 0xxxxx00
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fikes



Založen: Nov 15, 2005
Příspěvky: 70
Bydliště: Trutnov

PříspěvekZaslal: út listopad 13 2012, 6:59    Předmět: Citovat

Pošlu ti Procesore v osobních vzkazech *.asm soubor, kdyby jsi měl chvilku čas. Jak jsem ti psal, tak oscilátor je interní, bez procedury pro spuštění AD převodu vše ostatní funguje. Procedury pro spuštění převodu a zpracování dat z ADRESL a ADRESH jsou použity z fungující aplikace též s 16F88 (téměř stejná aplikace, jen se použije pro jiný účel měření a místo LCD2x20 je použit displej z mobilu N5110), něco málo upraveno vzhledem ke konfiguraci i ostatních částí programu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út listopad 13 2012, 7:40    Předmět: Citovat

Máš mail
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út listopad 13 2012, 8:22    Předmět: Citovat

Na rýchlo...
V START...

CALL MAIN nahraď GOTO MAIN
totiž šlapeš na vyššej hodnote stacku a ten má iba max. 8
... Toto len preventívne
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út listopad 13 2012, 12:12    Předmět: Citovat

Máš odpoveď v ss
V podstate:
Používať BANKSEL reg. je OK, ale potom dôsledne. Je to však pamäťovo nákladné. npr tento program by sa musel riešiť v dvoch stránkach.

S EERAM sa pracuje s registrami v 2. a 3. bank-u a pri všeobecných najčastejšie v Bank-u 0. Pozor na zhodenie RP1-na ten sa zabudlo.

Testoval som to v MPLAB SIM

Na konci podprogramu WR_LCD (pred return) stačí zapísať BAKNSEL 0, alebo BCF STATUS, RP1 a BCF STATUS,RP0 odhliadnúc od chyby adresovania všeobecných registrov (npr. afisaj).

Doporučenie s používaním registrov: na konci bank-u 0 je 16 registrov ktoré sa zrkadlia aj v ostatných bank-och(väčšina novších PIC). Tie je vyhodné využiť keď sa spolupracuje s registrami v rôznych bank-och. Npr.: EEARD, EEDATA.... a pod, detto pre odloženie charakteristíky programu po isr(prerušení) keď nie je zaistené v krotom stave je bank(RP0,RP1).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fikes



Založen: Nov 15, 2005
Příspěvky: 70
Bydliště: Trutnov

PříspěvekZaslal: út listopad 13 2012, 22:07    Předmět: Citovat

Díky za typ, poupravil jsem a ještě budu projíždět.

Zjistil jsem však další nečekanou skutečnost. Jestliže používám interní oscilátor, nastavím si v OSCCON požadovanou frekvenci, např. pro 4MHz b´01100000´, to ale není taktovací frekvence, jako kdybych použil externí krystal 4MHz. Proto mi nefungovala procedura pro zápis dat do displeje z mobilu, musel jsem nastavit OSCCON b´01100010´ pro použití interního oscilátoru i pro taktovací frekvenci. V případě prvního nastavení byla takt. frekvence 8MHz. A ted jak je to tedy s taktovací frekvencí pro AD převodník? Od jaké frekvence se počítá nastavení ADSC0 až ADCS2 v ADCON0 a ADCON1, taktovací nebo INTOSC?

Ověření jsem provedl tak, že jsem zdvojnásobil časové články pro zápis do LCD displeje. Chodí při nastavení OSCCON b´01100000´.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: út listopad 13 2012, 23:08    Předmět: Citovat

Ak chceš použiť interný oscilátor musí byť v OSCCON 'xxxx xx10', samozrejme s nastavením požadovanej fr.
Pre kryštálový (systémový)OSC1/OSC2 v OSCCON je 'xxxx xx00' z zároveň musí by zvolený typ oscilátora FOSC <2:0> v CONFIG1.

Ako to fungovalo v tvojom prípade rozhoduje aj ten CONFIG1: v zdrojáku máš nastavené INTRC_IO a v OSCCON ho máš zablokovaný .Odkiaľ sa zobralo 8MHz je mi nejasné. Tento stav akosi v dokumentácii nie je definovaný, takže neviem ako to takto funguje.
Tá sch. oscilátorov v doku PIC16F88 by mala stačiť.

Jedna možnosť je, že si v CONFIG2 povolil FCMEN a potom to ide na na náhradné hodiny



systemOSC.JPG
 Komentář:

Stáhnout
 Soubor:  systemOSC.JPG
 Velikost:  44.59 kB
 Staženo:  43 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
fikes



Založen: Nov 15, 2005
Příspěvky: 70
Bydliště: Trutnov

PříspěvekZaslal: st listopad 14 2012, 21:03    Předmět: Citovat

Provedl jsem úpravy v nastavení časování a hodin dle rad zde na foru a dle manuálu. Zrušil jsem čtení znaků z EEPROM a všechna měření fungují jak mají.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 3 z 4

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.17 sekund